Иногда требуется максимально сократить количество индексируемых внутренних ссылок. Сделать это не сложно — достаточно добавить в ссылку rel=»nofollow». Однако есть одна загвоздка. Сделать эту прививку легко, если ссылка в шаблоне указана явным образом. Если же ссылка появляется в результате работы какой-нибудь функции или виджета, то в лоб решить эту задачу не получится. Придется разбирать виджет или функцию по винтикам, выискивая, как формируется эта самая ссылка. С функциями, создаваемым плагинами, проблем нет — можно заглянуть в файл плагина и поправить его. А вот что делать, когда в шаблоне используются стандартные функции и виджеты движка? Лезть в системные файлы WordPress? Во-первых, это не очень хорошо, ибо допустив ошибку, можно лишить блог работоспособности. Во-вторых, после обновления опять придется лезть в системные файлы и опять их редактировать.
Я задал вопрос, как запретить индексирование внутренних ссылок, создаваемых виджетами и функциями движка? Откликнулся пользователь ctapbiu, который предложил несколько простых фильтров для автоматического добавления к внутренним ссылкам rel=»nofollow». Фильтры настолько простые и действительно работоспособные, что не поделиться ими со всеми я не имею права.
Чтобы воспользоваться фильтрами, вставьте их в файл functions.php.
Nofollow для ссылок виджета WP_Widget_Calendar
add_filter('get_calendar', 'fb_get_calendar'); function fb_get_calendar($text) { $text = preg_replace('#href="#', 'rel="nofollow" href="', $text); return $text; }
Nofollow для ссылок виджета архивов WP_Widget_Archives
add_filter('get_archives_link', 'fb_get_archives_link'); function fb_get_archives_link($text) { $text = preg_replace('#href='#', 'rel="nofollow" href='', $text); return $text; }
Nofollow для ссылок виджета страниц WP_Widget_Pages
add_filter('wp_list_pages', 'fb_wp_list_pages'); function fb_wp_list_pages($text) { $text = preg_replace('#href="#', 'rel="nofollow" href="', $text); return $text; }
Надеюсь, что многим сеошникам, озабоченным количеством индексируемых ссылок, а так же блоггерам, зарабатывающим на ссылочных биржах с жесткими требованиями к количеству индексируемых внутренних ссылок, и конечно же просто для тех, кто хочет оптимизировать блог в глазах поисковиков, закрыв лишние ссылки, представляющие интерес только для людей, эти фильтры будут полезны. Кстати, вы думаете, это всё? Ошибаетесь — вас ждет вторая часть!

А как бы запретить индексацию облака тегов, подскажете? Сами теги к статьям у меня закрыты, а вот в облаке почему-то открыты…
Вы имеете ввиду виджет wp_tag_cloud?
Может быть вот так?
Эм, а как закрыть от поисковиков переводчики страниц, например последний освещенный — Transposh.
спасибо :)