RSS WordPress — как запретить индексацию (nofollow / noindex) ссылок в виджете

Виджеты WordPress
Виджеты WordPress

Нравится мне стандартный виджет WordPress RSS — с его помощью можно немного разнообразить блог и поделиться с читателями какой-то интересной информацией. Не нравится только то, что этот RSS WordPress не закрывает ссылки на свои элементы от индексации. По-хорошему надо бы иметь возможность делать это — убирать ссылки из виджетов WordPress или добавлять к ним nofollow и noindex. И такая возможность есть и легко доступна.

Для начала нужно найти файл, отвечающий в WordPress за вывод RSS-виджета. Для этого я воспользовался утилитой grep (благо, поиска альтернатив она точно не требует):

grep -rino --exclude=cache 'rsswidget' ./* | more

Из результатов поиска в первую очередь мне показался интересным файл ./wp-includes/default-widgets.php, и именно в него нужно внести правки для запрещения индексации или удаления ссылок из элементов RSS-виджета или любых других стандартных виджетов WordPress.

Строку 728 нужно изменить следующим образом:

$title = "<noindex><a class='rsswidget' href='$url' title='" . esc_attr(__('Syndicate this content')) ."'><img style='background:orange;color:white;border:none;' width='14' height='14' src='$icon' alt='RSS' rel='nofollow' /></a></noindex> <noindex><a class='rsswidget' href='$link' title='$desc' rel='nofollow'>$title</a></noindex>";

тем самым мы запретим для индексации ссылку, стоящую в заголовке виджета.

Теперь закроем сами элементы RSS — заменим строку 837:

echo "<li><noindex><a class='rsswidget' href='$link' title='$desc' rel='nofollow'>$title</a></noindex>{$date}{$summary}{$author}</li>";

В этом же файле можно отредактировать не только RSS, но и остальные стандартные виджеты WordPress. Например, в виджете «Управление» может представлять интерес строка № 300:

<li><a href="http://wordpress.org/" title="Работает на WordPress">WordPress.org</a></li>

, содержащая прямую незакрытую ссылку на сайт WordPress.

Для создающих сайты с целью продажи ссылок количество внешних ссылок на странице — основоной показатель и редактирование стандартных виджетов поможет избавиться от «неугодных» ссылок.

Дальнейшее изучение default-widgets.php пусть будет самостоятельным заданием для заинтересовавшихся.
Всем успехов! 🙂

11 мыслей о “RSS WordPress — как запретить индексацию (nofollow / noindex) ссылок в виджете”

    1. Безусловно, но там всё довольно очевидно, поскольку код счетчика выдаётся вам на руки, а тут надо поискать.

  1. Кирилл, слава богу, у меня счетчик работает с nofollow уже второй год… Не думал что за это кстати, могут вырубить

    1. Что вы под этим понимаете? Просто удалить с сайдбаров можно через админку, код стандартных виджетов лежит в default-widgets.php, а плагины ставят свои виджеты.

  2. Не отображается код 🙁

    По вопросу закрытия счетчика от индексации.
    Заключите счетчик в divы, в divaх пропишите rel=»nofollow»
    Готово!

    1. Тип такого:

      ...

      ? У меня в принципе просто ссылки в счетчиках закрыты в noindex и nofollow и работают нормально.
      Код можно вставить внутри тега <code>.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *