Надо было запретить индексацию ссылок в каментах.
С гуглом быстро справился - в настройках фильтра поставить галочку "Защита от спамерских атак". А вот с яндексом, таких галочек нет.
Решил пойти простым путем - прицепить к этой же галочке и .
Делается очень просто:
Открываем filter.module
и меняем строчку
$text = preg_replace('/<a([^>]+)>/i','<a\\1 rel="nofollow">' , $text);
на этот текст
$pattern[0]='/<a([^>]+)>/i';
$pattern[1]='/<\/a>/';
$repl[0]='<noindex><a\\1 rel="nofollow">';
$repl[1]='</a></noindex>';
$text = preg_replace($pattern, $repl, $text);
$pattern[1]='/<\/a>/';
$repl[0]='<noindex><a\\1 rel="nofollow">';
$repl[1]='</a></noindex>';
$text = preg_replace($pattern, $repl, $text);
Комментарии
чуть исправил текст для эстетичности.
Спасибо. Пригодится.
Вы хакаете ядро - это плохо.
Есть модуль, который делает тоже самое: Noindex External Links: запрет индексации внешних ссылок
И что,реально спасает? Не верю в благоразумие спамера,мол есть noindex-спамить не буду.Срут напропалую и с запретом индексации
Дело в том, что поисковики не учитывают, но видят код, который закрыт в noindex/nofollow.
В seo-кругах ходит мнение, что даже неактивная ссылка (упоминание) поисковиками учитывается.
Поэтому закрытие ссылок noindex/nofollow это не защита от спама, а помощь в уменьшении внешних ссылок сайта.
Если вам не нужно уменьшать это количество, то и модуль не нужен.
А как бы сделать так, чтобы этот код не закрывал от индексации внутренние ссылки сайта, а только внешние?
Кстати,хозяйке на заметку: модуль "скрытая капча" показывает охренительную эффективность (во-всяком случае пока). Так что есть о чём подумать.