Как убрать внешние ссылки на сайты комментаторов

Убрать внешние ссылки на сайты комментаторов

Добрый день!

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

Вам, наверняка, известно, что через внешние ссылки “утекает” тИЦ и PR сайта, что влияет на его трастовость. Последняя тенденция у блогеров – избавляться от ссылок даже с атрибутом rel=”nofollow”. Делается ли это осмысленно, исходя из каких-то знаний и опыта, или из-за непроверенных предположений? Трудно сказать. Но, на меня, конечно же, повлиял этот (не знаю хороший, или плохой) пример успешных блогеров. И я тоже решил внести коррективы, касающиеся ссылок на сайты авторов комментариев.

В добавок к “эффекту толпы” появилась еще и  объективная причина – значения, показываемые инструментом xtool.ru. Несмотря на то, что сегодня траст моего блога был увеличен на 1 и вернулся к 5, параметр заспамленность ссылками имеет значение 0.9.  Это, конечно, немного – красных кружков нет, вероятности наложения фильтра нет, но все равно настораживает. Ведь блог еще молодой, ссылками я не торгую и в статьях не часто использую, и то, чаще всего с атрибутом rel=”nofollow”. Возникает подозрение, что и эти ссылки учитываются. А значит и все ссылки в комментариях на сайты авторов, хоть они и с атрибутом rel=”nofollow” тоже учитываются поисковыми системами и, возможно, потом это влияет и на ранжирование по тем или иным запросам.

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

Используя слова “удалить”, “избавиться”, “убрать”, я, конечно же, не предлагаю вообще удалять ссылки, как это делает отдельная категория блогеров.

 

1. Убрать ссылку, убрать урл

Недавно видел блог, где комментарий сопровождает только имя автора. Просто имя, нет ни ссылки, даже текстом не указан сайт автора, и даже аватарки нет. По-моему, мнению такое можно делать только мега-крутому автору с абсолютно уникальной и интереснейшей информацией, которой нет ни на одном сайте. Тогда люди, будут оставлять свои комментарии только, чтобы разобраться с тем, что предлагается и применить у себя на сайте. В противном случае – какой смысл? Вы будете генерировать контент человеку, а в ответ ни получите ничего: ни ссылки, ни текстового упоминания что у вас за сайт и как к вам обратиться. Максимум, что можете получить – это ответ автора на ваш комментарий.

Ответ автора – это, конечно, тоже ценно, но на таком сайте, например, я не стану разъяснять людям что и где нужно исправить, чтобы решить возникшую проблему. Мне скажут “Спасибо, Алексей!” и если захотят в будущем опять обратиться ко мне за помощью, то смогут написать опять только на том сайте. Т.е мы сможем общаться только через такой сайт-посредник, имея при этом свои не менее замечательный блоги. =)

Вообщем. к чему эти “многА букАв” – если комментатору не даётся возможность оставить урл своего ресурса, или такая возможность есть, но в итоге ресурс нигде не отображается, то не тратьте свое драгоценное время на комментирование таких блогов. Наверняка, найдется ресурс где будет аналогичная информация и будут видны url-адреса, вот там и обсуждайте интересующий вас вопрос.

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

Мы плавно подобрались ко второму варианту избавления от внешних ссылок.

 

2. Убрать ссылку, оставить текст урл

Вторая категория блогеров – удаляет ссылку на сайт, но сам текст урл оставляют.
К комментарию выводится имя автора и рядом, или ниже, текстом выводится урл сайта комментатора. Таким образом, читатель, желающий посмотреть на сайт автора комментария, может скопировать текст урл и затем вставить в браузер.

Конечно, это гораздо лучше предыдущего варианта, но, все же, на лицо недружелюбность интерфейса к посетителю.

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

 

3. Оставить ссылку!

Что за ерунда! Так убираем ссылку или оставляем?!

Скажем так – преобразуем, или видоизменяем.

Некоторые делают из внешних ссылок внутренние. Т.е. ссылаются на какой-то файл, например go.php и передают параметром урл для перехода. А в файле уже добавляют код, перенаправляющий по указанному url-адресу.

Предлагаю вам реализовать вариант с перенаправлением, но только более современный, с использованием javascript, а точнее библиотеки jQuery. Хотя, можно, конечно, и на чистом javascript тоже самое сделать.

Об использовании jQuery в WordPress я уже немного писал. Эта информация может вам пригодиться и сейчас.

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

Вот код строки в моем шаблоне, в которой производится формирование и вывод ссылки на сайт автора комментария:

Именно функция get_comment_author_link формирует ссылку на сайт с именем автора. Это функция ядра WordPress, расположена она в /wp-includes/comment-template.php. Вот её код:

Как вам известно из статьи Можно ли редактировать файлы в папке wp-includes?, что wp-includes – системная папка, и делать изменения в её файлах нельзя.

Поэтому нам нужно написать свою функцию, которая сформирует и вернет нужный нам результат. Вот функция, которую я добавил в functions.php моей темы WordPress:

Какие отличия по сравнению с оригинальной функцией?

В строке где формировалась ссылка

в нашей пользовательсокой функции тег ссылки a заменяется на текстовый блок <span> с  классом author-url и атрибутом data-url, в который выводится урл-адрес сайта комментатора:

Вот ключевое изменение – фактически теперь ссылки нет, есть текст. Но этому тексту можно задать такие же стили как и у ссылки. Тогда он будет внешне выглядеть, как ссылка. А после того, как мы добавим еще и обработку клика мыши по этому блоку, то этот текст для пользователя ничем не будет отличаться от ссылки. А вот для поисковых роботов это уже точно не ссылка.

Итак, чтобы текст в блоке <span> выглядел как ссылка, я добавил в style.css стили для этого блока такие же, какие они были у меня для ссылок. Ранее я уже писал как изменить цвет ссылок.

Единственное, что пришлось добавить cursor:pointer, чтобы указатель мыши при наведении на текст нашего блока становился таким же, как и при наведении на ссылку (для ссылок он по умолчанию такой).

С внешним видом “новых ссылок” разобрались. Теперь нужно добавить функционал, как у ссылки. Т.е. чтобы при клике по ней происходил переход по указанному url-адресу.

В footer.php я добавил вот такой код:

Этот код написан с помощью библиотеки jQuery. Он добавляет обработку клика по блоку span с классом author-url, этот span должен находиться в блоке с id=”content”. Это я добавил для ускорения работы скрипта, чтобы сузить пространство для поиска и ограничить его содержимым блока <div id=”content”>. Итак, при клике по указанному блоку, в новом окне будет открываться ссылка, переданная в атрибуте data-url.

Итого:

1. Добавили новую функцию get_my_comment_author_link в functions.php.

2. Скопировали стили ссылок для нового блока span.author-url.

3. Добавили jQuery обработку клика по новому блоку.

Если есть вопросы по реализации – спрашивайте.

Теперь еще один момент. На некоторых сайтах я встречал, что в атрибут не передавали полностью урл с http://, а делали типа _site.ru, а потом производили замену _ на http:// в windows.open(link.replace(“_”,”http://”));

Видимо, у людей есть опасения или конкретные знания, что роботы могут вылавливать ссылки не только по тегу а, но и по конструкции http://

Вопрос: Имеет ли смысл делать так? Обосновано ли скрытие http:// ?

Кто знает, напишите, пожалуйста.

А у меня пока – все. Возможно, в будущем, попробую оформить данный функционал в виде плагина, для удобства поклонников WordPress и, конечно же, читателей блога “Жизнь с WordPress”!

Пока! Не скучайте!

Понравилась статья? Не забудьте поделиться с друзьями и коллегами:

Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.

15 комментариев к записи “Как убрать внешние ссылки на сайты комментаторов”

  1. Валерий

    Здравствуйте, у меня нет такой строчки в коде файла <?php printf( __( '%s‘ ), get_comment_author_link() ); ?>, что нужно сделать?

    • Алексей Ершов

      Здравствуйте, Валерий!
      Возможно, в Вашем шаблоне уже используется некая пользовательская функция, которая формирует ссылку на сайт автора комментария.
      Нужно определить где в Вашем шаблоне нужный код. Посмотрите код элемента ссылки. И по фрагменту из этого кода найдите файл. Например, если я посмотрю код ссылки “Валерий” (ссылки на Ваш сайт), то у меня там будет фрагмент class=”author-url”. Поиск по всем файлам строки “author-url” выведет меня на мою функцию get_my_comment_author_link() в файле functions.php.
      Не знаю, подсказал или еще больше запутал? =)

      • Валерий

        Да наверное больше запутался чем понял.

  2. Иван

    Добрый день, хорошая статья только у меня почему-то не получается..

    Это видимо код элемента ссылки на сайт комментатора?

    • Алексей Ершов

      Добрый день!
      Все верно – это код ссылки на сайт комментатора. В статье описал все как мог. Дальше дело за вами =).

  3. Людмила

    Здравствуйте!
    Как убрать ссылки в имени автора комментария?

    This post is password protected. Enter the
    password to view comments.

    <?php next_comments_link('« Previous’) ?>

    <?php previous_comments_link('Next»‘) ?>

    ” . ” . pex_text(‘_comment_name_text’) . ‘ ‘ . ( $req ? ‘*‘ : ” ) .
    ”,
    ‘email’ => ” . pex_text(‘_email_text’) . ‘ ‘ . ( $req ? ‘*‘ : ” ) .
    ”,
    ‘url’ => ” .pex_text(‘_website_text’) . ” .
    ”,
    );
    $args=array();
    $args[‘fields’]=$fields;
    $args[‘comment_field’]=” . pex_text(‘_your_comment_text’) . ”;
    $args[‘comment_notes_before’]=”;
    $args[‘comment_notes_after’]=”;
    $args[‘title_reply’]=pex_text(‘_leave_comment_text’);
    $args[‘label_submit’]=pex_text(‘_submit_comment_text’);
    $args[‘logged_in_as’]=”;
    $args[‘title_reply_to’]=pex_text(‘_leave_reply_to_text’).’ %s';
    $args[‘cancel_reply_link’]=pex_text(‘_cancel_reply_text’);
    comment_form( $args );
    ?>

    • Алексей Ершов

      Здравствуйте!
      Это не тот кусок кода. Это формируется форма для оставления комментария.

    • Алексей Ершов

      Людмила, тут непосредственно на сайте нужно смотреть. Так можно долго разные фрагменты кода присылать.

  4. Валерий

    Здравствуйте Алексей, вот такая у меня функция Ответить

    В каком ее файле искать примерно?

  5. Сергей

    Здравствуйте, Алексей! У меня после размещения кода в файле functions.php абсолютно ничего не происходит, то есть по-прежнему подгружается код из файла comment-template.php.

    Нужно ли как-то дополнительно “включать” новую функцию (где-то прописывать путь для нее и т.д.)?

    Заранее благодарю.

  6. Алексей Ершов

    Здравствуйте, Сергей!
    Возможно, у Вас не настроен пользовательский вывод комментариев
    У меня создана функция custom_comment и в ней уже вызывается в нужном месте get_my_comment_author_link().

    • Сергей

      Алексей, спасибо. Попробую это выяснить.

  7. Ден

    После всех изменений нужно заменить в шаблоне название функции на новую. В статье не нашел этого. Или невнимательно читал?

  8. Ден

    Еще вопросик нарисовался. А можно в функцию внести изменения, чтобы можно было нужные адреса вносить в белый список, чтобы они не маскировались? Таким образом можно поощрять активных комментаторов индексируемой ссылкой.

    • Ден

      Сделал сам. Выбор между функциями по условию.

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

Для размещения кода в комментарии используйте теги <pre> </pre>, например:


Подписаться, не комментируя