Добавление ссылок nofollow в blogroll блога

Добавление ссылок в blogroll это не только отличный способ по привлечению дополнительной аудитории на Ваш проект, а и значительная помощь в развитии сайту со стороны seo продвижения. Но в обмене ссылками есть несколько нюансов, с которыми желательно подробно ознакомиться. Имеется в виду мониторинг купленных или обменных ссылок, для них лучше использовать специальное программное обеспечение. Если разработчики сайтов хотят обмениваться только посетителями (трафиком), тогда можно в блогролле закрывать ссылки от индексирования при помощи атрибута rel=»nofollow». С этого момента начинается самое интересное.

Хотелось бы обратить ваше внимание, что использование nofollow является очень полезным, если вы используете продвижение статьями, так как вес страницы с наименьшим числом исходящих ссылок, будет больше, нежели если кроме продвигаемой ссылки на странице будут еще исходящие линки.

Существует несколько вариантов добавления ссылок nofollow в blogroll wordpress блога, попробуем найти самый лучший из них. Самое первое, что может прийти на ум – установить какой-нибудь плагин.  Такие плагины действительно есть, однако для решения такой не сложной задачи их использовать не хочется, потому этот вариант был мною пропущен. В теории код исходников wordpress всегда можно подправить вручную, но и этот вариант не самый лучший, стоит его на время отложить. Остались функции системы.

Для того чтобы выводилась ссылка блогролла в wordpress применяется функция wp_list_bookmarks. Если зайти в настройки параметров ссылки через панель управления администратора, Вы никаких опций там не найдете, потому мы пойдем другим путем: разделим обычные ссылки nofollow  в различные категории и выведем их по отдельности:

[php]

<?php
wp_list_bookmarks(‘orderby=name&category=2&categorize=0&title_li=&title_before=&title_after=</div>&category_before=&category_after=’);
wp_list_bookmarks(‘orderby=name&category=3&categorize=0&title_li=&title_before=&title_after=</div>&category_before=&category_after=’);
?>

[/php]

Здесь category=2 (категория № 2) – это нормальные ссылки; category=3 – nofollow.

Изучив возможности и параметры wp_list_bookmarks, я пришел к такому выводу, что просто приписать в код ссылок стандартным методом для одной из категорий nofollow невозможно. Максимально, что можно добиться от этого кода – выводить через функцию нормальные ссылки, а те, которые выводит  nofollow, прописывать вручную.

Существует файл функций functions.php, там часто встречаются переопределения действия обычных функций системы wordpress. Дальше, подсмотрел на англоязычном блоге хороший сниппет, где решается задача с nofollow в блогролее с помощью добавления пары строчек в functions.php:

[php]

function nofollow_my_bookmarks( $links ) {
foreach($links as $link) {
$link->link_rel .= ‘ nofollow’;
$link->link_rel = trim($link->link_rel);
}
return $links;
}
add_filter(‘get_bookmarks’, ‘nofollow_my_bookmarks’);

[/php]

По идее предложенный код обязан был добавить nofollow во все ссылки.

В теории конструкция, весьма оправданная, должна делать то, что ей положено, но у меня этот код не сработал. Пробуя разные варианты, я потратил немало времени, но все же сделал вывод, что действительно в функции определяется атрибут rel для ссылок блогролла, но не устанавливается новое значение. И тут я обратил свое внимание, что в блоге есть механизм кеширования wordpress. Я его отключил, но, увы, ничего не произошло. Решил не отчаиваться и по тестировать этот код на другом блоге, и, о чудо, там все отлично сработало, все ссылки получились nofollow! Почему не захотел в первый раз на моем блоге – загадка.

Предлагаю чуть-чуть подправить вышеуказанный код, расставляющий nofollow для всех ссылок, так как нам может понадобиться прятать только некоторые из них. Необходимо:

1)   Зайти в раздел «Ссылки» административного  управления системой – для нужной записи выбирать в блоке «Отношение к ссылке», скажем  опцию «Знакомый». Обратите внимание на поле rel, там для ссылки есть значение contact.

2)   Нужно снова вернуться в файл functions.php и изменить код функции nofollow_my_bookmarks.

[php]

function nofollow_my_bookmarks( $links ) {
foreach($links as $link) {
if ($link->link_rel==’contact’) $link->link_rel = ‘nofollow’;
$link->link_rel = trim($link->link_rel);
}
return $links;
}
add_filter(‘get_bookmarks’, ‘nofollow_my_bookmarks’);

[/php]

В этом случаи, ссылки, отмеченные Вами в панели управления wordpress с отношением (contact) «Знакомый» будут с атрибутом nofollow.

В завершении, хочется отметить еще несколько вариантов добавления в wordpress блогролл nofollow.

1)  Можно найти файл bookmark-template.php, который расположен в директории wp-includes, в нем строку:

[php]$output .= ‘<a href=»’ . $the_link . ‘»’ . $rel . $title . $target. ‘>’;[/php]

и приписать в нее rel=»nofollow» по образцу

[php]$output .= ‘<a href=»’ . $the_link . ‘»’ . $rel . $title . $target. ‘ rel=»nofollow»>’;[/php]

Но у этого метода есть один существенный недостаток: при обновлении системы wordpress файл перезаписывается, и код нужно заново вводить.

2)  Этот вариант еще проще. Если в Вашем блоге всего около 6-ти ссылок, то можно вводить их в HTML код шаблона руками. Этот процесс займет несколько секунд, и вовсе не нужно переходить в админку и указывать «связь» для ссылки, создавая специальную функцию.

Еще точно не решил, какой вариант нравится мне больше. Первый, где нужно добавлять хак в файл функций functions.php во все блоги, но он может претерпеть изменения, вдруг разработчикам вздумается менять настройки wordpress. Или второй – в шаблоне блога приписывать HTML код ссылок, не требующий никаких знаний, да и абсолютно независящий от версий системы.