SEO

Nofollow для всех внешних ссылок в WordPress

29 ноября 2015

Если вы знакомы с основами SEO-оптимизации сайтов, должны знать, что такое ссылки с запрещенным переходом (nofollow) и для каких целей они используются.

Всё в одном: Вордпресс бандл для стартапов с фантастической скидкой 96%

Установив ссылкам такой атрибут, вы даете поисковым паукам инструкцию, запрещающую переход по данным ссылкам. Это очень важно, если вы публикуете много внешних ссылок. Чем больше внешних ссылок — тем больше веса теряют страницы вашего сайта. Особенно это касается ссылок на не очень надежные и сомнительные ресурсы. Не стоит забывать и о рекламных ссылках. Хоть ссылочный бум уже давно позади, но его эхо будет слышаться еще долго.

nofollow — это значение атрибута rel тега « a » языка гипертекстовой разметки веб-страниц HTML ( rel=»nofollow» ). Значение предназначено для поисковых систем: оно указывает им на то, что гиперссылке, задаваемой « a », не следует никаким образом передавать ТиЦ и PR. Википедия

В WordPress существует огромное количество вариантов решения этой задачи. Перечислять их все я не возьмусь. Остановлюсь традиционно на двух способах: плагине и сниппете. Предупреждаю сразу, никаких изменений в старых постах делать не придется, выполнять опасные запросы к БД тоже.

На самом деле все очень просто.

Сниппет простановки атрибута nofollow для всех внешних ссылок WordPress

Всего несколько строк кода в файле функций (functions.php) вашей активной темы, автоматически добавят атрибут nofollow всем внешним ссылкам, выводящимся непосредственно в контенте и анонсах вашего блога.

add_filter('the_content', 'my_nofollow');
add_filter('the_excerpt', 'my_nofollow');
function my_nofollow($content) {
    return preg_replace_callback('/<a[^>]+/', 'my_nofollow_callback', $content);
}
function my_nofollow_callback($matches) {
    $link = $matches[0];
    $site_link = get_bloginfo('url');
    if (strpos($link, 'rel') === false) {
        $link = preg_replace("%(href=\S(?!$site_link))%i", 'rel="nofollow" $1', $link);
    } elseif (preg_match("%href=\S(?!$site_link)%i", $link)) {
        $link = preg_replace('/rel=\S(?!nofollow)\S*/i', 'rel="nofollow"', $link);
    }
    return $link;
}

Минусы сниппета заключаются в том, что он не обрабатывает виджеты, элементы интерфейса, не имеет никаких настроек, исключений и прочего. Впрочем, в 99% случаях ничего этого и не нужно.

Плагин простановки атрибута nofollow внешним ссылкам в WordPress

Плагинов с подобным функционалом не мало. Все мы их рассматривать, естественно, не будем. Остановимся на одном из них — External Links.

External Links

Плагин, обрабатывающий внешние ссылки WordPress.

Страница настроек плагина External Links выглядит так:

Nofollow для всех внешних ссылок в WordPress

Плагин работает аналогично приведенному выше сниппету, обрабатывая все внешние ссылки, встречающиеся в контенте. Но в отличие от сниппета, имеет некоторые настройки. В частности, плагин может обрабатывать не только ссылки из контента и виджетов. Он справляется абсолютно со всеми ссылками, которые встречаются на вашем сайте. Также можно пометить все внешние ссылки специальной иконкой, задать открытие внешних ссылок в новых окнах/табах. Имеется возможность автоматического конвертирования текста в ссылки. А самое главное, можно задать исключения. Например, домены сайтов, ссылки на которые не будут помечаться атрибутом nofollow.

Всё самое новое и интересное из мира Вордпресс в моём Телеграм-канале. Подписываемся!

Популярное в этом месяце

Подпишитесь на рассылку и получайте новые материалы на электронную почту

Иван Данилин
Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе Вордпресс.

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

Лучшие премиум-темы для Вордпресс
Подробнее