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

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Хаки 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://www.dle9.com/]Сайт с отличными выбором шаблонов [/leech]


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


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

Рекомендуем хаки для dle редирект для ссылок и nofollow для тега LEECH
  • 100
Рубрика: DLE хаки » Хак для DLE
Ранее » Хак Dle Query List v.1.0« Далее Кнопка Вверх/наверх перехода dle хак
Добавление комментарияОставить комментарий
  • № :16
  • 29 декабря 2013 02:05
ой сорри неработает, сказали поставить 2 ковычки и будет leech подхватывать ссылки, но у меня неработает recourse
  • № :15
  • 29 декабря 2013 01:06
спасибо, уже не нужно, нашел на других форумах. И действительно работает.. код неполучается у меня вставить, а то бы выложил кто интересуется.
  • № :14
  • 29 декабря 2013 00:31
Здравствуйте уважаемый Администратор.У меня есть вопрос: Можно ли как нибудь ссылки в дополнительных полях закрыть в leech? Хотя они и закрыты в нофолов, но все равно они считаются внешними,и поисковые системы пессимизируют сайт. Так вот охота их сделать внутренними, закрыть их в leech, ну или зашифровать их как нибудь?
  • № :13
  • 27 ноября 2013 10:36
[leech=http://{xfvalue_depositfiles}]DepositFiles[/leech]

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

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

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

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

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


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


Через 1-2 дня добавлю статью, более удобного способа
  • № :9
  • 26 ноября 2013 12:09
а есть что то подобное для 10х версий, нужно вывести внешние ссылки через доп поле?
  • № :8
  • 10 октября 2013 20:15
Сложно такое представить, так как leech генерируется, а код добавляется в базу данных MySQL вместе с формированием новости...
  • № :7
  • 10 октября 2013 18:02
Хотелось бы еще тег title прикрутить и личу.. подскажите как это будет выглядеть?
  • № :6
  • 16 ноября 2012 05:56
TrollWaffen,
Если сделать в админ панели Настройки скрипта -- Перестроение публикаций --все старые новости будут уже с этой конструкцией

Прежде чем, делать обязательно сохраните Базу Данных !
  • № :5
  • 15 ноября 2012 18:03
Спасибо. Всё работает. Установил второй способ. При редактировании новости, личер нужно заново добавлять. Но для такой простой установки это не существенно.
  • № :4
  • 3 ноября 2012 05:02
bennyblanko,
Первый код (редирект ) нет
Второй, да только лучше сделать по другому.
ищем строчку

else $target = " target=\"_blank\"";

внутрь вставляем так конструкцию rel=\"nofollow\"
else $target = " rel=\"nofollow\" target=\"_blank\"";


Описанная ошибка не должна быть выше и при каждом target= и leech будет добавляться nofollow
  • № :3
  • 3 ноября 2012 00:02
Здравствуйте Уважаемый администратор!
Скажите пожалуйста, а в DLE 9.7 такое прокатит?
Спасибо!
  • № :2
  • 21 октября 2012 16:04
Какая разница ?
  • № :1
  • 21 октября 2012 15:20
Кто подскажет, почему nofollow стоит перед ссылкой, а должен после ссылки?