Закрыть в wordpress облако тегов в noindex и nofollow

not follow me! Задача долго не казалась необходимой, но в попытках разобраться, почему же никак не работает robots.txt для гугл, все свелось именно к этому…

Коротко о содержании предыдущих серий: для того, чтобы сайт хорошо ранжировался, необходимо, чтобы в индексе поисковика не было лишнего. Например, полных или частичных дублей основных страниц. Решение – уничтожение дублей физически или виртуально. Про физическое: либо действительно уничтожить страницу (чтобы отдавался ответ ошибка 404), либо оформить редирект 301 с нее на нужную. Виртуальное: закрыть часть текста в noindex или nofollow.

Заметив, что этот блог слишком быстро растет в смысле числа проиндексированных страниц, я решил это дело пресечь. Приятно, конечно, видеть, что в индексе более 250 результатов… Но не тогда, когда точно знаешь, что страниц-то около 50… Закрыл дубли в robots.txt… Сегодня в яндексе: 68; в гугле: 82 в основном поиске… И это бы радовало, поскольку на момент индексации яндексом как раз и было 80 страниц (сейчас больше). Но очень не нравится, что гугловские 82 – это именно основной поиск, а при запросе он показывает сейчас 309 страниц… Этот шлак надо отбросить, как?

Раз роботс не работает, я попробовал через google webmaster. Так вот – это работает, но как Сизиф:) Руками отправляешь на удаление, все удаляется быстро, но на самом сайте стоят ссылки – облако тегов – и по этим ссылкам google добавляет в свои сопли новые и новые дубли…

Теперь я точно знаю несколько фактов:
1)Google учитывает запрет в robots.txt, но он для него не является определяющим указанием, только советчиком;
2)Несмотря на запрет в роботс, гугл будет индексировать все страницы вашего сайта, на которые хоть откуда-то в интернете стоит ссылка, например… с вашего собственного блога, в облаке тегов;
3)можно заставить гугл все же удалить эту страницу, внеся сайт в гугл вебмастер и запретив индексацию ненужной вам страницы прямым указанием.

А лучше все же превентивно:)

Как мы знаем, запрет на переход по ссылке осуществляется установкой внутри ссылки аттрибута rel=”nofollow”. Где же его поставить?

Не буду описывать вам свои долгие мытарства (я не нашел в сети ответа), дам прямой ответ.

Код вывода облака тегов находится в файле sidebar.php Править его можно порою и через админку, у меня это, например, в разделе “Редактировать темы”:

<li id=”tag_cloud”><h2>Найти по метке:</h2>
<?php wp_tag_cloud(‘largest=16&format=flat&number=50’); ?>
</li>

Совершенно очевидные вещи, понятные из этого кода: можно изменить стиль вывода заголовка, текст заголовка, внести весь блог меток в тег noindex, изменить число выводимых меток, размер фонта, которым выводится наиболее популярная из них… В интернете полно комментариев к другим составляющим… Поправив то, что хотел, я не нашел никакой возможности вставить nofollow – потому что этот аттрибут помещается внутрь каждой отдельной ссылки, а кода вывода каждой отдельной метки тут нет!

Зато я нашел в сети, какой файл отвечает за вывод функции wp_tag_cloud на страницу, и пошел через фтп править файл wp-includes/category-template.php

И вот там-то, опять же, после нескольких попыток осознать дебри ненужного:) нашел…
foreach ( $tags as $key => $tag ) {
$count = $counts[ $key ];
$real_count = $real_counts[ $key ];
$tag_link = ‘#’ != $tag->link ? esc_url( $tag->link ) : ‘#’;
$tag_id = isset($tags[ $key ]->id) ? $tags[ $key ]->id : $key;
$tag_name = $tags[ $key ]->name;
$a[] = “<a href=’$tag_link’ class=’tag-link-$tag_id’ title='” . esc_attr( $topic_count_text_callback( $real_count ) ) . “‘ style=’font-size: ” .
( $smallest + ( ( $count – $min_count ) * $font_step ) )
. “$unit;’>$tag_name</a>”;

Все, что вам нужно – вставить перед самым концом вывода тега <a href=””> запрет перехода на страницу тега, выводимого переменной $tag_name. Обратите внимание на постоянную проблему – вписывать нужно с одинарной кавычкой, то есть – rel=’nofollow’.

Короче, последняя строчка в указанном куске кода должна быть такой:

. “$unit;’ rel=’nofollow’>$tag_name</a>”;

Всё, сохраняйте, наслаждайтесь полученным результатом:)

Аналогично можно сделать и для выводимых категорий, но это – уж сами полазьте…

VN:F [1.9.7_1111]
Rating: 10.0/10 (4 votes cast)
VN:F [1.9.7_1111]
Rating: 0 (from 0 votes)
Закрыть в wordpress облако тегов в noindex и nofollow , 10.0 out of 10 based on 4 ratings

4 thoughts on “Закрыть в wordpress облако тегов в noindex и nofollow

  1. Саша

    Спасибо, толково все расписали

    VA:F [1.9.7_1111]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.7_1111]
    Rating: 0 (from 0 votes)
  2. alekzalekzalekz Post author

    Красивый у вас сайт, даже не думал, что такое на вордпресс можно сделать.

    VN:F [1.9.7_1111]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.7_1111]
    Rating: 0 (from 0 votes)
  3. Антон

    Спасибо. Так и сделаем 🙂

    VA:F [1.9.7_1111]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.7_1111]
    Rating: 0 (from 0 votes)
  4. rema

    Спасибо, так и сделал для своего сайта! Помогло!

    VA:F [1.9.7_1111]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.7_1111]
    Rating: 0 (from 0 votes)

Leave a Reply

Your email address will not be published.