Flector

Как добавить nofollow к ссылкам на рубрики?

Если вы хотите закрыть от индексирования ссылки на ваши рубрики, то вы можете просто прописать необходимый запрет в файле robots.txt. Однако, хотя поисковики не включат страницы рубрик в поисковый индекс, они все равно передадут этим страницам определенный вес (например, Google передаст таким страницам PR, даже не добавляя их в индекс). Чтобы этого избежать, вам необходимо добавить ссылкам на рубрики атрибут rel="nofollow". Сделать это можно с помощью вот такого кода в файле functions.php вашей темы:

//добавление nofollow для ссылок на рубрики start
function wph_nofollow_cats($text) {	
    $text = stripslashes($text);
    $text = preg_replace_callback('|<a (.+?)>|i', 
	        'wp_rel_nofollow_callback', $text);
    return $text; }
function wph_nofollow_cat($text) {
    $text = str_replace('rel="category tag"', "", $text);
    $text = wph_nofollow_cats($text);
    return $text; } 
add_filter('wp_list_categories', 'wph_nofollow_cats');
add_filter('the_category', 'wph_nofollow_cat');
//добавление nofollow для ссылок на рубрики end

Атрибут nofollow будет добавлен ссылкам на рубрики, выводимым в записях и ссылкам на рубрики в виджете "Рубрики". Если для вывода рубрик вы используете облако меток, то воспользуйтесь дополнительно кодом из этой статьи.


Комментарии (3 комментария)
  1. А может лучше закрыть не ссылку, а саму страницу, прописав в ней

    1
    
    <meta name="robots" content="noindex,follow"/>

    Flector, смотрю ты в своем редакторе для комментаторов выводишь код через pre. Как мне в твоем плагине такое реализовать? А то у меня заключает в теги code, но код ломается или бывает вовсе не отображается. Приходится вручную, делать как здесь. Можешь обновить свой плагин, чтобы мне не лезть в файлы?)))

    • Flector:

      А может лучше закрыть не ссылку, а саму страницу, прописав в ней

      неа. PR все равно уйдет на эту страницу. проверено лично - гугл страницам меток присвоил PR, при том что они запрещены в robots.txt и на них самих был прописан запрет через meta robots.

      Как мне в твоем плагине такое реализовать?

      я использую pre только потому, что мой плагин подсветки синтаксиса работает только с ним. в файлы лезть нужно, надо в файле scripts.js заменить код:

      60
      61
      62
      63
      64
      65
      66
      
      edButtons[edButtons.length] =
      new edButton('ed_pre',
      'Код',
      '<code>',
      '</code>',
      'c'
      );

      на (в моем случае)

      60
      61
      62
      63
      64
      65
      66
      
      edButtons[edButtons.length] =
      new edButton('ed_pre',
      'Код',
      '<pre lang="php" line="1">',
      '</pre>',
      'c'
      );

      менять сам плагин для всех я не могу - атрибут line понимает только плагин синтаксиса, а без плагина что code, что pre - одинаково.

  2. wp-fan:

    Идея хорошая, и очень часто этот хук будет полезен. Но все же лучше не закрывать ссылки рубрик-с главной вес должен идти в рубрики, а с рубрик уже на записи.

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!