Все для DataLife Engine / DLE хаки / Хак для DLE / Хаки Dle редирект для ссылок и nofollow для тега LEECH

Хаки Dle редирект для ссылок и nofollow для тега LEECH


Представляю dle хаки, первый хак редиректа и второй вставка nofollow, чтобы поисковые роботы не индексировали ссылки закрытые тегом LEECH.
Нашел недавно на просторах интернета вот такой необычный хак, который позволит вам сделать ссылки на другие ресурсы бесполезными для индексации поисковиками, т.к будет происходить редирект (перенаправлять ссылки с вашего интернет-портала, как это делается на крупных известных порталов). При этом обрабатывается вся ссылочная масса на интернет-портале это и комментарии, новости, профиль и т.д. А, значит это хороший способ скрыть ссылки на файлообменники в новости от пс в dle, от спама в комментах и профиле. Это радикальное решение проблемы с ссылочным спамом, оставляя кликабельность, это редирект превращая ваши ссылки на веб-ресурсе вот в такой адрес.

http://Ваш ресурс.ру/go/?http://стороний ресурс.ру


Что примечательно, этот haks не только ставит редиректы, но и заключает ссылки редиректа в noindex и добавляет nofollow в HTML страницу при формировании новости, таким образом вес Вашей страницы не будет уменьшен из-за ссылок, например, на ту же рапиду в глазах поисковых систем. А самая главная особенность, — поддержка сайтов-исключений (дружественных сайтов) на которые редирект ставится не будет.

Обрабатываются все ссылки, которые проходят через парсер — новости, коменты, профиль и так далее. Ссылки вставлены в шаблон Вами естественно не трогаются.
Xак применяется для новостей, которые добавляются после установки этого хака, а старые новости надо заново открывать для редактирования и сохранять.
ПС. Есть пожалуй одно, но, данных хак не работает на 9.6 версии, ниже не проверял. Нормально устанавливается и не создает ошибок, но не работает. В общем рассчитан данный код для версии ниже 9.0, но может кому-нибудь понадобится или сможет его прикрутить для версии выше.
Итак, смотрим.
Установка Хак dle редирект ссылок через форму go/?

1. Находим в каталоге engine/classes/parse.class.php.
2. Ищем следующую строчку кода:
if ($this->filter_mode) $txt = $this->word_filter($txt, false);


ниже вставляем:
$txt = preg_replace( "#<!--FFriend--><noindex><a rel=\"nofollow\" href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].+?".">(.+?)</a></noindex><!--EndFFriend-->#ie" , "\$this->decode_friend('\\1\\2', '\\3')", $txt );


3. Находим другую строчку:
return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];


заменяем ее на:
if($this->check_home($url['html'])||$this->check_friends($url['html'])){       return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];}else{      $url['html'] = $config['http_home_url']."go/?".($url['html']);      return "<!--FFriend--><noindex><a rel=\"nofollow\" href=\"".$url['html']."\" ".$target.">".$show."</a></noindex><!--EndFFriend-->" . $url['end'];}


4. Находим следующий код:
function word_filter($source, $encode = true) {


Выше него вставляем:
function check_friends ($url){    global $config;              $friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");                  for ($i = 0; $i < count($friend_url); $i++)    {          $value = str_replace("http://", "", trim($friend_url[$i]));        $value = str_replace("www.", "",    $value);        $value = explode('/', $value);        $value = reset($value);                              if ($value == "" ) continue;        if (strpos($url, $value) === false) continue; else return true;    }    return false;}

5. Ищем другой код:
return "[leech=".$url."]".$show."[/leech]";}


вставляем ниже:

function decode_friend($url="", $show=""){        global $config;    $home_url = $config['http_home_url']."go/?";            $url = str_replace($home_url, "", $url);    $url = explode ("url=", $url);    $url = end ( $url );    $url = rawurldecode($url);            return "[url=".$url."]".$show."[/url]";}


6. Следующую строчку можно подредактировать это Пункт 4 выше:
$friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");


Здесь мы указываем путь к текстовому файлу, в котором будут дружественные веб-проекты. Изменяем путь и имя по желанию.

7. Создаем в папке engine подпапку friend, файл friend_url.txt. Не забываем проверить права на чтение нашей папки и файла с URL. Заполняем файл
friend_url.txt в каждой строке по домену, в формате http://сайт ру/

8. Создаем в корне веб-проекта папку go в ней файл index.php с таким содержимым:
<?phpif (!empty($_SERVER['QUERY_STRING'])){$re_addr=$_SERVER['QUERY_STRING'];header('Location: '.$re_addr);}?>


9. Там же файл создаем .htaccess и в нем пишем:
DirectoryIndex index.phpRewriteEngine Off


Версия движка: 7.0-8.2
«Автор:»

Второй хак дле LEECH, который был придуман благодаря этому коду выше, заключается в том чтобы ссылки типа

[leech=http://dle9.com/]Сайт с отличными выбором шаблонов [/leech]


после формирования превращались в
 <noindex><a rel="nofollow" href="http://dle9.com/engine/go.php?url=aHR0cDovL2RlcG9zaXRmaWxlcy5jb20vZmlsZXMvejJwYnp3MDM0" target="_blank">Сайт с отличными выбором шаблонов</a></noindex>


Тем самым закрывались не нужные ссылки и направления от индексации поисковых систем.

Установка, достаточна простая
1. Находим в каталоге engine/classes/parse.class.php.
2. Ищем следующую строчку кода:

return "<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a><!--dle_leech_end-->" . $url['end'];

Заменяем на

return "<!--dle_leech_begin--><noindex><a rel=\"nofollow\" href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a></noindex><!--dle_leech_end-->" . $url['end'];


Внимание ! У хак есть побочный эффект, если сохранить ссылку на другой ресурс с LEECH и установить хак, публикация сохраниться в таком виде. то есть уже не как раньше красиво и сокращено.
 <noindex><a rel="nofollow" href="http://dle9.com/engine/go.php?url=aHR0cDovL2RlcG9zaXRmaWxlcy5jb20vZmlsZXMvejJwYnp3MDM0" target="_blank">Сайт с отличными выбором шаблонов</a></noindex>


Вот и все проверяем! Остается только сделать перестроение в админ панели, чтобы применить новые установки ко всем старым новостям.

Рекомендуем хаки для dle редирект для ссылок и nofollow для тега LEECH

Haki-ot-pryamyh-ssylok-ssayta.zip [21,81 Kb] (cкачиваний: 99)
  • 100

Комментарии 16

wrip от 29 декабря 2013 02:05
ой сорри неработает, сказали поставить 2 ковычки и будет leech подхватывать ссылки, но у меня неработает :recourse:
wrip от 29 декабря 2013 01:06
спасибо, уже не нужно, нашел на других форумах. И действительно работает.. код неполучается у меня вставить, а то бы выложил кто интересуется.
wrip от 29 декабря 2013 00:31
Здравствуйте уважаемый Администратор.У меня есть вопрос: Можно ли как нибудь ссылки в дополнительных полях закрыть в leech? Хотя они и закрыты в нофолов, но все равно они считаются внешними,и поисковые системы пессимизируют сайт. Так вот охота их сделать внутренними, закрыть их в leech, ну или зашифровать их как нибудь?
nameless от 27 ноября 2013 10:36
[leech=http://{xfvalue_depositfiles}]DepositFiles[/leech]

это вв код и он отобразится в шаблоне как обычный текст, суть проблемы отображать ссылку на источник новости, через доп поле можно конечно просто поставит ноиндекс/ноуфаллов, но хочется по взрослому... через leech, даже странно что это не предусмотрено в движке
dle9.com от 27 ноября 2013 10:24
Цитата: nameless
ок, ждем...

новость добавлена автоматическое закрытие внешних ссылок

Насколько понимаю желание использовать LEECH в доп. полях или закрыть от индексации внешние ссылки с файлообмеников, обусловлено желанием заставить журналистов следовать правилам добавления новостей на ресурс.

Что касается вопроса, если вариант выше не подходит, вот так попробуйте.
Добавить в fullstory.tpl

[leech=http://{xfvalue_depositfiles}]DepositFiles[/leech]


как вы понимаете нужно создать доп. поле depositfiles
Так как LEECH формируется в новости, такой финт может не сработать, не проверял.
nameless от 26 ноября 2013 12:42
ок, ждем...
dle9.com от 26 ноября 2013 12:13
Цитата: nameless
а есть что то подобное для 10х версий, нужно вывести внешние ссылки через доп поле?


Через 1-2 дня добавлю статью, более удобного способа
nameless от 26 ноября 2013 12:09
а есть что то подобное для 10х версий, нужно вывести внешние ссылки через доп поле?
dle9.com от 10 октября 2013 20:15
Сложно такое представить, так как leech генерируется, а код добавляется в базу данных MySQL вместе с формированием новости...
ajhdfhl от 10 октября 2013 18:02
Хотелось бы еще тег title прикрутить и личу.. подскажите как это будет выглядеть?
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent