Манипулируем ссылками комментариев WordPress, делаем DoFollow блоги

Приветствую Вас, гости и подписчики блога 4remind.ru. Большинство из Вас наверно знает, какую пользу или частично вред для блога или сайта могут приносить внешние ссылки в комментариях к статьям, записям или страницам. В этой статье я не буду рассуждать об этом, а только коснусь внешних ссылок на сайты тех, кто добавил комментарии. Если конкретнее, то речь пойдет о ссылках, которые добавляются в форме отправки комментария в поле «Сайт» (если конечно это поле не спрятано или не исключено из формы отправки комментариев).

ссылки комментариев WordPress, DoFollow блоги


Итак, для добавления комментария на блоге WordPress кроме написания самого текста сообщения еще, как правило, заполняется три поля, и по умолчанию это поля «Имя», «Почта» и «Сайт». В дальнейшем нас будет интересовать только поле «Сайт», так как ссылка, добавленная в него, в результате после отправки комментария окажется внешней.

Со ссылками комментариев WordPress можно оказывается сделать две полезные вещи (а может и бесполезные, как кому). Во первых, можно сделать так, чтобы внешние ссылки сайтов комментаторов всегда открывались в новой закладке браузера. Во вторых, при помощи них сделать DoFollow блог. Причем все это можно будет сделать не прибегая к использованию каких-нибудь плагинов.

Зачем же нужно открывать внешние ссылки в новых закладках браузера? - возможно спросите Вы.
Да дело в том, что если посетитель кликнет по внешней ссылке, и новая внешняя страница откроется в текущей закладке или окне, то получается, что посетитель «уходит» с вашего сайта или блога, а ведь это мало кому из владельцев сайтов понравится. Поисковым системам и различным сервисам учета посещений вэб-ресурсов больше «нравится», когда посетитель подолгу остается на странице конкретного сайта, и естественно популярность страницы от этого будет только расти.

Ну а на возможный вопрос о пользе от DoFollow блога ответ кажется очевиден — он привлечет немалое количество посетителей на Ваш блог и количество контента из комментариев. Естественно, что для популяризации вэб-ресурса это возможно и полезно, но ведь и количество внешних ссылок может мягко говоря «зашкалить». Впрочем, делать ли свой блог «DoFollow» или нет, решать конечно Вам. Хотя и вернуть свой блог или сайт в обычный режим из DoFollow не составит особого труда.

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

Итак... По умолчанию в тэги ссылок на сайты авторов комментариев WordPress добавляет параметр rel='external nofollow'.

Это происходит в функции get_comment_author_link( $comment_ID = 0 ), находящейся в файле /wp-includes/comment-template.php, в строке №155 (для версии WordPress 3.3.1).

Вот код функции get_comment_author_link( $comment_ID = 0 ):

function get_comment_author_link( $comment_ID = 0 ) {
	/** @todo Only call these functions when they are needed. Include in if... else blocks */
	$url    = get_comment_author_url( $comment_ID );
	$author = get_comment_author( $comment_ID );

	if ( empty( $url ) || 'http://' == $url )
		$return = $author;
	else
		$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";
	return apply_filters('get_comment_author_link', $return);
}

Предупреждение!
Забегая вперед, хочу предупредить, что далее будут приводиться в пример изменения в скриптах самого движка WordPress. Поэтому, всю ответственность за последствия неаккуратного изменения файлов движка Вам придется брать на себя. Да, и имейте ввиду, что после обновления WordPress на новую версию ваши изменения могут исчезнуть.

Для того, чтобы внешние ссылки на сайты авторов комментариев WordPress открывались в новых закладках браузера, нужно в вышеупомянутой функции в тэг ссылки добавить новый параметр target="_blank", то есть заменить исходную строку

$return = "<a href='$url' rel='external nofollow' class='url'>$author</a>";

на

$return = "<a href='$url' rel='external nofollow' target='_blank' class='url'>$author</a>";

Для того, чтобы сделать свой DoFollow блог, нужно в вышеупомянутой функции из тэга ссылки убрать параметр rel='external nofollow':

<a href='$url' target='_blank' class='url'>$author</a>

или же поменять в существующем параметре значение «nofollow» на «dofollow»:

<a href='$url' rel='external dofollow' target='_blank' class='url'>$author</a>

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

Если Вы хотите сделать DoFollow блог, и в то же время например используете на своем блоге плагин «WP-NoRef», то для поисковика Яндекс все внешние ссылки на сайты авторов комментариев будут этим плагином обрамляться тэгом

<!--noindex--> ... <!--/noindex-->

что будет исключать ссылки из индексирования. В таком случае DoFollow блог не будет являться таковым для поисковика Яндекс.

Но и здесь проблема решается элементарно, методом отключения тэга noindex именно для ссылок на сайты авторов комментариев.

Откройте файл wp-noref.php плагина «WP-NoRef», найдите в нем функцию noindexAuthorLink($author):

function noindexAuthorLink($author) {
  if (preg_match("~href~",$author))
	return "<noindex>".$author."</noindex>";
  else
	return $author;
}

и замените строку

	return "<noindex>".$author."</noindex>";

на

	return $author;

или даже лучше вообще код функции заменить на

function noindexAuthorLink($author) {
	return $author;
}

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

add_filter('get_comment_author_link', 'noindexAuthorLink');

На этом позвольте закончить.

Удачных Вам экспериментов с внешними ссылками на сайты авторов комментариев и использовании DoFollow блога!

Метки: , , ,
Другие статьи похожей тематики:

Поделитесь материалом с другими, воспользуйтесь этими кнопками:
Получать обновления и новые материалы блога по E-mail

13 комментариев к “Манипулируем ссылками комментариев WordPress, делаем DoFollow блоги”

  1. Дмитрий:

    Спасибо за ценную информацию! ДА ССЫЛКАМ В НОВОМ ОКНЕ!!! )))

  2. Юрий:

    Давно хотел сделать, чтобы сайт комментатора открывался в новом окне- оказалось так просто. Спасибо, Владимир, за полезную информацию!

  3. Ametist:

    А я немного больше полугода продержалась с открытыми к индексации ссылками в комментариях.
    Сейчас закрыла снова, уже сильно надоело отфильтровывать комментарии, особенно когда с одного IP пишут комментарии и оставляют ссылки на разные сайты

  4. Кстати, после обновления WordPress до версии 3.3.2 стандартным способом, через панель управления, в файле comment-template.php все возвращается в исходное состояние.
    То есть, если Вы делали, чтобы ссылки на сайты автора комментария открывались в новой закладке, то процедуру, описанную в этой статье, нужно проделать заново, то есть снова в строке 155 нужно прописать: target=’_blank’

  5. Dummies:

    коллега выражу свое несогласие по поводу предложенного метода, т.к. изменять ядро WP не является хорошим тоном и возможна в исключительных случаях. На одни грабли вы уже наступили. Мне кажется лучшим решением будет использования хука, например в файле functions.php, а если его нет, то создать, разместить следующий код (не знаю поддерживают ли ваши комментарии bbcode):

    <?php
    function dofollow_blog() {
    	global $comment;
    	$url    = get_comment_author_url();
    	$author = get_comment_author();
     
    	if ( empty( $url ) || 'http://' == $url )
    		$return = $author;
    	else
    		$return = "<a href='$url' rel='external dofollow' target='_blank'>$author</a>";
    	return $return;
    }
    add_filter('get_comment_author_link', 'dofollow_blog');
    ?>
    
    • Dummies, спасибо, что поделились своим опытом! Думаю, что ваш пример кода будет полезен посетителям!

      Отчасти я с вами согласен, а именно с тем, что в кодах самого движка менять что-то не лучшее решение, однако для кого как. Для новичков конечно туда вообще лучше не лезть, а если и лезть, то только ради «справочной», ознакомительной информации.

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

      В общем, каждому решать самому. Еще раз спасибо за ваш пример и критику!

  6. Dummies:

    Совсем забыл, что файл functions.php активной темы.
    Насчет скорости WP является самым медленным из популярных CMS. Так что тут надо попотеть над оптимизацией, я сам наблюдал картину, когда одновременно зашло 200 человек и сайт лег :)
    Хук это не плагин, уже нагрузки меньше, данный хук, просто добавляет к имеющейся функции несколько строк кода.
    Вторая беда по которой не стоит лезть в ядро это безопасность.

    • Согласен, что изменения в движке WordPress, да и любой другой CMS, могут негативно сказаться на безопасности web-ресурса.
      Кстати, благодаря вашим замечаниям я добавил в статью блочок «Предупреждение!» (после примера исходного кода функции get_comment_author_link).

  7. Виктория:

    Всем привет,
    тема DoFollow блога очень актуальна.
    Я использовала немного другую Функцию DoFollow по описанию как здесь:
    http://you-big-blog.com/2012/06/20/wordpress-dofollow-ohne-plugin/

    используя DoFollow только после третьего комментария, во избежание спама.
    Виктория

  8. shurik74:

    Подскажите, а какой смысл делать DoFollow блог. Вроде бы все наоборот стараются закрыть закрыть ссылки или как минимум свести их количество к миниму, а тут всё наоборот

    • DoFollow блоги или сайты в основном делают для того, чтобы привлечь больше внимания, посетителей, найти единомышленников, ну и конечно же чтобы наполнить свой веб-ресурс комментариями, выступающими в роли контента. Правда в таком случае нужно регулярно следить за содержанием комментариев, чтобы они не были бестолковыми, а чтобы были исчерпывающими, соответствовали содержимому и тематике веб-ресурса. Админу нужно будет своевременно отсекать спам и ссылки на «помойные» сайты.
      Многие DoFollow блоги со временем перестают быть таковыми, но тем не менее оставляют постоянных посетителей и подписчиков, которым на самом деле понравился блог или сайт. Некоторые же постоянно остаются в режиме DoFollow, но оставляют с открытыми ссылками лишь часть своих страниц.

      • shurik74:

        Но это же получается что создание DoFollow блога, в первую очередь зависит от тематики.
        Например у Вас сайт посвящён сайтостроению, и потому сюда в основном заходят люди которые либо что то уже понимают в этом, или же пытаются для себя это выяснить. Но в любом разе, это посетители которые понимают разницу между открытой и закрытой ссылкой.
        А например у меня сайт о мебели, и основные посетители имеют очень слабое представление о том как устроен сайт и он в первую очередь может быть интересен информацией о мебели, но ни как оставить дополнительную ссылку. Так что для меня это лишняя «головная боль», спама и так отсекают много.
        Так что как я уже писал, всё в первую очередь зависит от тематики. Или может я что не правильно написал?

        • shurik74,
          верно, все зависит от тематики, иначе затея с DoFollow превратится в создание обычной линкопомойки, что ничего хорошего не сулит.

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

*

Подписаться на обновления блога 4remind.ru по RSS

Rambler's Top100
Рейтинг@Mail.ru


Яндекс.Метрика