Бывают ситуации, когда нужно быстро закрыть от индексации все внешние ссылки. Под индексацией следует понимать запрет на передачу ссылочного веса по внешней ссылке – за это во всех популярных поисковых системах отвечает атрибут nofollow. Если в ссылки добавить rel=”nofollow”, то они поисковые системы не передают по этим ссылкам какое-либо накопленные блогом и страницами параметры, и для этого не обязательно устанавливать и настраивать вспомогательные плагины.
Чтобы добавить во все внешние ссылки атрибут nofollow, можно воспользоваться специальным фильтром, который пропускает через себя эти ссылки и выдает их уже со встроенным атрибутом. Для этого откройте файл functions.php, и добавьте в него такой код:
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; }</a>
Этот код добавляет в ссылки контента rel=”nofollow”, если контент выводится функциями the_content и the_excerpt (наиболее часто используемыми). Замечу, что код закрывает абсолютно все внешние ссылки в постах. Если вы хотите управлять этим процессом, выборочно закрывая внешние ссылки, то тогда стоит использовать вспомогательные плагины. Выбрать нужный вам плагин помогут следующие обзоры:
Как автоматически добавлять nofollow ко внешним ссылкам в посте | Три простых плагина
Как автоматически закрывать ссылки от индексирования | WP-NoRef
Как сделать внешние ссылки внутренними | WP-NoExternalLinks
Как сделать внешние ссылки внутренними | Плагин RC Link Redirector