Закрыть комментарии от индексации. Как закрыть ссылки от индексации в комментариях. Плагин WP No External Links – закрываем ссылки от индексации

Здравствуйте! С вами Павел. И в этой статье я хочу рассказать вам как можно «закрыть» ссылки комментаторов своего блога от индексирования.

За все время существования данного движка, было создано десятки тысяч плагинов. Включая так же те, которые затрагивают работу комментариев. Но в своем случае, я решил пойти нестандартным путем - внес некоторые правки в файл «functions.php» своей темы. И вот, ссылки на на сайты комментаторов закрыты. И более того, я вижу не один способ как их можно скрыть (но об этом позже).

Данный метод скрытия ссылок подходит для любой темы WP. Но! Если вы используете родную тему - к примеру «twentytwelve », то после ее обновления вам повторно придется вносить правки в файл «functions.php», что не удобно при ее следующих обновлениях. Лучше всего использовать данный подход для дочерней темы (как в моем случае), или самописной.

Пример реализации будет приведен на основе темы «twentytwelve ». Для проверки можете создать дочернюю тему или править текущую, предварительно сделав бэкап (резервную копию).

И так начнем, идем от самой проблемы

Нам нужно скрыть ссылки на сайты комментаторов. Чтобы определить какая ф-я за это отвечает, открываем файл «comments.php» нашей темы, ищем ф-ю «wp_list_comments ». В качества ее параметра, мы передаем массив значений. Ф-я с индексом «callback» отвечает за построение списка комментариев. В нашем случае это функция «twentytwelve_comment ». Она нам как раз и нужны. Ее мы сможем найти в файле «functions.php» нашей темы, по адресу «/wp-content/themes/twentytwelve/functions.php».

Открываем файл, ищем функцию «twentytwelve_comment ». Ниже, часть кода из файла который нас интересует:

Внутри этой функции ищем другую - «get_comment_author_link ». Вот эта вот ф-я отвечает за вывод ссылок на сайты комментаторов. Сейчас нам нужно будет сделать копию этой функции и разместить в файле «functions.php» но уже под другим названием.

Открываем файл «/wp-includes/comment-template.php», находим функцию «get_comment_author_link », копируем ее в буфер, и вставляем в файл «functions.php». Изменяем ей название, скажем на «my_get_comment_author_link ». Так же, изменяем название ф-и «get_comment_author_link » в ф-и «twentytwelve_comment » (пример кода приведен выше) на «my_twentytwelve_comment ». Не запутались? Надеюсь что нет.

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

Function my_get_comment_author_link($comment_ID = 0) { $url = get_comment_author_url($comment_ID); $author = get_comment_author($comment_ID); if (empty($url) || "http://" == $url) { $return = $author; } else { $return = "$author"; } return apply_filters("my_get_comment_author_link", $return, $author, $comment_ID); }

Обратите внимание - для ссылок мы используем даже не тег «А» а тег «SPAN», а переход по ссылке реализован с помощью JavaScript функции «goto » которую нам придется вставить в футер темы (данный подход скрытия ссылок придуман не мной, а где-то подсмотрен).

Открываем файл «/wp-content/themes/twentytwelve/footer.php», и вставляем следующий код:

function goto(l) { window.open(l.replace("_","http://")); }

между «» и «»

Так же не забываем добавить стили в свою тему для класса «s-link», чтобы тег «SPAN» по дизайну не отличался от ссылок вашей темы. В моем случае это буде так:

Comments-area .bypostauthor cite span { position: initial; } .comments-area .bypostauthor cite span.s-link { font-weight: bold; } .comments-area span.s-link, .comments-area .bypostauthor cite span.s-link { cursor: pointer; font-size: 15px; color: #444; padding-left: 0; margin-left: 0; background: white; border: none; } .comments-area span.s-link:hover { color: #21759b; text-decoration: underline; } .comments-area .bypostauthor cite .s-author { position: absolute; }

На этом все.

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

Ну а в я опишу как мне удалось подружить плагин «Hide My Dates » и тему «twentytwelve » (если кто не обратил внимание, то даты комментариев этой темы совместно с этим плагином отображаются не правильно).

Если у вас есть еще какие-то идеи по скрытию ссылок, то о них можно написать в комментариях.

Спасибо за внимание!

Всем доброго дня! Недавно, как то зашел в гости к Александру Каратаеву , на его блоге меня заинтересовала информация о новых методах закрытия ссылок от поисковых систем и разработанный им плагин. Сегодня в блогосферы это один из самых обсуждаемых вопросов, после обновления Яндексом своих алгоритмов. Уже можно наблюдать повсеместную картину индексации ссылок из комментариев. Многие блогеры, боясь того, что ссылки попадут в индекс, просто удаляют в своих комментариях поле «Сайт», в результате остаётся только информация о имени читателя и его email адресс, а многие стали внедрять специальный хук, который ссылку прячет от поисковиков и делает её некликабельной, т.е. что бы перейти на сайт читателя, надо вручную скопировать ссылку и вставить в окно браузера. На мой взгляд эти два способа не приемлемы для блогера, они создают неудобства в общении.

На форуме БКС тоже была затронута эта тема. Именно там я узнал о новом способе обхода поисковиками индексации ссылок в комментарии, при котором сама ссылка остается кликабельной. И делается
это при помощи плагина ARK HideCommentLinks . Плагин бесплатный, находится в свободном доступе, качайте и устанавливайте на здоровье! 😉 Ещё раз большое спасибо Александру Каратаеву за проделанную работу!

Что делает плагин:

  • Прячет ссылку от поисковых систем.
  • Убирает replytocom из ссылки на ответы к комментариям.
  • Данный плагин можно установить из админ панели в разделе ПЛАГИНЫ, для этого нажмите там кнопку «добавить новый плагин» и в поисковый строке введи его название ARK HideCommentLinks .

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

    После активации плагина появляется четыре дополнительных запроса к серверу. Это происходит загрузка стилей и скриптов плагина. Сам по себе плагин мизерный, весом 21 кб, код чистый и без всяких заморочек, типа дополнительный настроек в админ панели и т.д.. Сами скрипты настолько малы, что практически никакой нагрузки на сервер не оказывают, я бы в связи с этим плагину погоняло «призрак», как бы он есть и работает, но толком ничего не грузит)

    В работе плагина можно заметить, что он меняет цвет ссылок. Это всё поправимо, стили можно изменить. Для этого заходим в Админ панель -> Плагины -> Редактор , выбираем из списка плагин ark-hidecommentLinks далее ниже кликаем на файл ark-hidecommentLinks.css, перед Вами откроется окно со стилями.

    Arklink { color: #0944A2 !important;cursor:pointer !important; /* цвет ссылки, курсор в виде пальца */ } .arklink:hover { color: #f00 !important; /* цвет ссылки */ text-decoration: none !important; /* отключение подчёркивания */ } .tooltip { border: 1px #696969 solid !important; background: #FEFFE2 !important; color: #0944A2 !important; border-radius: 5px !important; font: bold 14px Arial, Verdana; padding: 5px !important; width: auto !important; white-space: nowrap !important; }

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

    На данный момент это лучшее решение! Если конечно вы не Devaka 😉

    Материалы по теме:

    Классический виджет для WordPress

    Всем привет! Как многие заметили, совсем недавно было обновление Wordpress до версии 4.8. С новым обновлением, как обычно это бывает, появляются новые проблемы. И на...

    Что такое CMS, а так же правила ее выбора

    Сейчас мы разберемся с вопросом: "Что такое CMS?". На самом деле тут все просто, CMS расшифровывается как "Content Management Software" ("программное обеспечение для управления...

    Как разместить флэш-баннер на сайте

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

    Привет друзья, сегодня я расскажу простой способ, как избавится от индексации ссылок авторов комментариев, и при этом внешне оставить ссылки на месте. Решение найдено мной на просторах интернета, оно испытано и работает! =)

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

    На сегодняшний момент я решал данную проблему с помощью плагина WP No External Links , который просто подменял ссылку автора комментария на ссылку вида «сайт/goto/ссылка» как показано на картинке выше.

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

    Но, вместе с тем, и существенно упало количество комментариев. Ведь многие, так или иначе, комментируют сайты из-за ссылок на них, и видя в комментариях конструкцию ссылок авторов вида «сайт/goto/ссылка» не решались оставлять комментарии.

    Кстати, в html-коде страницы данная конструкция выглядит так:

    Ольга Андреева

    В итоге, я искал и нашел следующее решение по данному вопросу:

    Как закрыть ссылки комментаторов от индексации без плагинов?

    Первое, что я сделал, это деактивировал плагин, и вернул все ссылки комментаторов в обычное состояние.

    Ольга Андреева

    После этого шага, мне осталось внести изменения в 2 файла и решение будет реализовано!

    1. Вношу изменения в файл comment-template.php , который расположен в папке wp-includes

    Не забываю перед правкой сделать копию файла, на всякий случай, и ищу в нем строку:

    "$author ";

    И меняю эту строку на такую:

    "$author";

    2. Вношу изменения в файл footer.php своей темы, буквально перед закрытием тега вношу следующие строки:

    "+$(this).text()+"";})

    Если у вас не включена библиотека jquery, то в footer.php нужно вставить на одну строку больше:

    $(".hidden-link").replaceWith(function(){return""+$(this).text()+"";})

    Теперь точно все должно работать! Проверяю, внешне ссылки комментаторов выглядят как обычные


    А в html-коде страницы кроется наша небольшая хитрость:

    Ольга Андреева

    Как вы уже заметили, в коде вообще нет ссылки типа a href , вместо этого мы вставили в файл comment-template.php тег span , а скрипт добавленный в файл footer.php , поменял псевдоссылку на действующую. Но, пройдя по данному html-коду любой поисковый робот никакой ссылки не обнаружит, потому что, ее там просто нет! =)

    Вот и все решение. Надеюсь оно будет полезно не только мне, но и вам, дорогие читатели!

    UPD от 27 марта 2016 года. Друзья, я нашел более практичное решение! Ведь при каждом обновлении двигателя wordpress нужно было менять файл comment-template.php, а это весьма хлопотно и об этом постоянно нужно помнить. Я искал как исправить только файлы темы, которую я не обновляю на своих блогах, а обычно довожу до ума руками.

    /* ========================================================================== * Функция закрытия ссылки hidden-link * ѕараметр $link - html-код ссылки комментатора * ========================================================================== */ function avd_comment_author_link($link){ $link = str_replace(// вызываем функцию замены в строке "href=", // что заменяем //"href="#" class="hidden-link" rel=", // дл¤ html4 "hfre="#" class="hidden-link" data-url=", // на что заменяем $link // в строке с html-кодом ссылки); return $link; // возвращаем новую ссылку после замены } // подключаем фильтр add_filter("get_comment_author_link", "avd_comment_author_link"); /* ========================================================================== */

    А в коде самого скрипта, который я добавляю в файл footer.php своей темы, буквально перед закрытием тега я тоже внес некоторые изменения:

    $(".hidden-link").replaceWith(function(){return""+$(this).html()+"";})

    Вы можете пользоваться и старым скриптом, он тоже будет работать при добавлении вышеуказанной функции, в новом скрипте мы вместо параметра «текст» используем параметр «html», который позволяет делать сркытые ссылки не только на текст, но и на другие объекты, например, картинки.

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

    анкор ссылки"

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

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

    А мы по прежнему изучаем наш любимый остров Бали, постараюсь писать сюда почаще, очень много материалов накопилось, надо их для себя сохранить, ну и вам глядишь, будет полезно почитать на досуге! =)

    Красавица из леса обезьян на Бали! =)

    Приветствую всех читателей блога! Сегодня хочу показать вам, как закрывать ссылки от индексации в комментариях блога. Сделать это несложно даже при минимальных знаниях php. Если у вас в блоге много комментариев, то существует большая возможность не уследить за ссылками и пропустить несколько открытых ссылок, что крайне нежелательно.

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

    Что именно происходит? Ссылки закрываются тэгами и . Делается это вставкой фрагмента кода php в файлы вашего WordPress блога comment-template.php и functions.php. Все просто, быстро, надежно, и не нужно устанавливать лишний плагин, который будет создавать дополнительную нагрузку и дополнительные запросы к базе данных.

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

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

    Function wp_noindex($comment) { return str_replace("

    Публикации по теме