Июл
23
3

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

nofollow ссылки в blogroll wordpressОбмен ссылками в blogroll весьма хороший способ не только привлечь дополнительную аудиторию на ваш проект, но также помогает развиваться сайту с точки зрения seo продвижения.

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

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

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

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

<?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='); 
?>

Здесь категория под номером 2 (category=2) – нормальные ссылки, а 3 – nofollow. Собственно, теперь нужно было попытаться добавить в код ссылок для одной из категорий nofollow. Подробное изучение возможностей и параметров wp_list_bookmarks показало, что стандартными методами это сделать, увы, невозможно. Итого максимум, что можно выжать из этого кода – выводить нормальные ссылки через функцию, а те, которые nofollow, публиковать вручную.

Дальше я вспомнил про файл функций functions.php, где часто встречаются переопределения действия стандартных функций системы wordpress. На одном из англоязычных блогов подсмотрел неплохой сниппет, где вроде как решается проблема с nofollow в блогролее путем добавления нескольких строчек в functions.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');

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

Кстати, предлагаю немного подправить код выше, который расставляет nofollow для всех ссылок, а нам может понадобиться скрывать лишь некоторые из них. Для этого во-первых, идем в админку системы, раздел «Ссылки» и для нужной нам записи выбираем в блоке «Отношение к ссылке», например, опцию «Знакомый». В поле rel для ссылки увидите значение contact. Во-вторых, возвращаемся в файл functions.php, где меняем код функции nofollow_my_bookmarks.

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');

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

Напоследок можно отметить еще 2 варианта добавления nofollow в wordpress блогролл. Во-первых, можете отыскать в директории wp-includes файл bookmark-template.php, где находите строку:

$output .= '<a href="' . $the_link . '"' . $rel . $title . $target. '>';

И добавляете rel="nofollow" в нее следующим образом

$output .= '<a href="' . $the_link . '"' . $rel . $title . $target. ' rel="nofollow">';

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

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

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

P.S. Постовой. Интелсиб предлагает комплексное и качественное продвижение сайтов в Яндексе по Москве — лучшее решение для вашего бизнеса.
Если вы хотите сделать приятный подарок или сюрприз на день рождение, загляните в проект «Город сюрпризов».

рейтинг Оцените статью:
Ужасная статьяНичего интересногоТак себеНормальноХорошоКлассный постВ закладки!
(Пока без рейтинга, оцените первым!)  
Загрузка...

категория Категории: Хаки и секреты;
теги Теги: , , , , .

комментария 3 к статье “Добавление ссылок nofollow в blogroll блога”

  • Tazi   05.08.2010

    ХТМЛ надёжнее намного, тут ты прав

  • crystalbit   20.09.2010

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

  • gena   18.07.2014

    Спасибо, сделал

Оставить комментарий

(следующая статья)

Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:

Поиск:
Последние посты
Лучшее в категории

Облако тегов
Скажи свое мнение!

В чем основные плюсы Wordpress?

Посмотреть результаты

Загрузка ... Загрузка ...
Друзья проекта
Последние новости