Home / SEO / Как найти и удалить дубли страниц replytocom с блога?

Как найти и удалить дубли страниц replytocom с блога?

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

дубли replytocom

Внимание. Запрет на индексации страниц с переменной replytocom в файле robots.txt не поможет вам избежать дублей. Google в отличие от Яндекс полностью игнорирует данный запрет в роботсе.

Сегодня в статье я расскажу обо всех способах избавления от такой заразы как дубли страниц replytocom в WordPress, которые мне известны. Это своего рода шпаргалка для меня, возможно некоторым моим читателям тоже пригодиться. Но для начала небольшое пояснение, что это за дубли для тех, кто не в теме.

Дубли replytocom это дубликаты страниц блога на движке WordPress, которые появляются из-за древовидных комментариев.

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

Допустим ваша статья имеет такой URL:

http://sait.ru/stranica.html

Именно эта страница является канонической и именно она должна попасть в индекс поисковых систем. Но когда в комментариях к статье пользователи начинают нажимать кнопку «Ответить», чтобы дать ответ предыдущему комментатору, то они автоматически генерируют дубликаты страниц с такими URL-адресами:

http://sait.ru/stranica.html?replytocom=998#respond
http://sait.ru/stranica.html?replytocom=999#respond
http://sait.ru/stranica.html?replytocom=1000#respond

Внешне же страницы с дополнением ?replytocom=…. Ничем не отличаются от основной страницы. Но если страницы имеют одинаковое содержимое и разные URL адреса, они будут считаться дублями, я писал уже об этом здесь.

Поисковые системы берут подобные дубли не в основной, а в дополнительный индекс (Supplemental Index). На сленге оптимизаторов их еще называют «сопли». Если блог накопит приличное количество соплей, то это очень будет тормозить развитие блога. А он накопит со временем, поверьте. Такие страницы попросту тянут ваш блог за уши назад и не дают ему развиваться.

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

Проверить есть ли у вас дубли replytocom достаточно просто. В поисковой строке Google наберите следующее (вместо sait.ru введите свой домен):

site:sait.ru replytocom

После этого нажмите «Поиск». В самом низу страницы выдачи есть блок со скрытыми результатами.

Возможно вас заинтересует:  Как сделать правильный robots.txt и что это такое?

скрытые результаты в поиске гугл

Нажмите на ссылку «Показать скрытые результаты» и вы увидите сколько у вас дублей страниц replytocom в индексе гугла.

replytocom в гугл

Способов избавления от этой заразы оказывается немало. О них мы сейчас и поговорим.

Как избавиться от дублей страниц replytocom?

1 Способ. Самый простой и эффективный способ избавиться от дублей replytocom – установить грамотный SEO плагин. Таким плагином я считаю Yoast Seo. В нем есть функция автоматического удаления переменной ?replytocom. Вы просто один раз в настройках плагина активируете удаление этой переменной и забываете, что такая проблема вообще существует в WordPress.

удаление переменной в плагине Yoast Seo

2 Способ. Устанавливаем специальный плагин для комментариев, который кнопки «ответить» будет обрабатывать скриптом и скроет злосчастные ?replytocom. Пример такого плагина — WordPress Thread Comment.

3 Способ. Просто отключаем древовидные комментарии. Отключив их вы избавитесь от будущих дублей. Но у этого способа есть минус. Во первых таким образом не удалить уже сформированные дубли ?replytocom. А во вторых, не каждому удобно давать ответы другим пользователям если отсутствует кнопка «Ответить».

отключаем древовидные комментарии

4 Способ (им я пользовался до сегодняшнего дня). Скрываем кнопку ответить в тег SPAN. Способ этот я нашел на блоге Виталия Кириллова (seo-mayak.com).

Вообще всем, кто любит ковыряться в коде, рекомендую его блог. На нем просто нереально много полезной информации и немало авторских функций и хаков по WordPress.

Для того чтобы скрыть ссылку или кнопку ответит в тег SPAN нужно сделать следующее:

1 Шаг. Открыть файл function.php и после открывающего тега <?php вставить авторскую функцию Виталия Кириллова:

function mayak_replycom_remove( $mayak_remove ) {
$cut = "!<a(.*?)href='(.*?)'(.*?)>(.*?)</a>!si";
$insert = "<span class='comment-reply-link' \\3>\\4</span>";
return preg_replace($cut, $insert, $mayak_remove);
}
add_filter( 'comment_reply_link', 'mayak_replycom_remove' );

Эта функция удалить переменные ?replytocom с вашего блога. Более того, кнопки «Ответить» будут обрабатываться не как ссылки. Но это еще не все, переходим ко второму шагу.

2 Шаг. Вставив функцию, мы удалили тег <a>, вместо этого появился тег <span>,то есть мы удалили ссылки с кнопок ответить. И соответственно пропали стили оформления CSS. Поэтому нам нужно прописать эти стили для тега . Для этого откройте файл style.css и в самый конец вставьте вот этот код:

.comment-reply-link {
color:#5151FF; /*добавляем цвет ссылки*/
text-decoration:none; /*Убираем подчеркивание*/
cursor:pointer; /*Добавляем курсор в виде руки*/
}

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

Возможно вас заинтересует:  Оптимизация картинок для сайта при помощи плагина WP Smush

Ссылки ?replytocom в стандартном варианте:

ссылки replytocom в комментариях

Ссылки ?replytocom после вставки функции:

ссылки в теге span

5 Способ. Ставим на страницы с replytocom мета-тег noindex. Выглядит этот мета тег так:

<meta name='robots' content='noindex,nofollow' />

Он запрещает поисковым роботам индексировать страницы. В отличие от файла robots.txt, поисковые роботы не игнорируют данное правило. Для того, чтобы вставить этот мета-тег на страницы пагинации, вставьте вот этот код в файл function.php перед открывающим тегом <?php  (это снова авторская функция Виталия Кириллова):

remove_action( 'wp_head', 'wp_no_robots' );

function mayak_replytocom_robots() {
echo "<meta name='robots' content='noindex,nofollow' />\n";
}
if ( isset( $_GET['replytocom'] ) )
add_action( 'wp_head', 'mayak_replytocom_robots' );

6 Способ. Делаем 301 редирект со страницы дубля на каноническую страницу. Для того чтобы сделать редирект, скачайте себе на компьютер файл .htaccess который находится в корне вашего блога. В этот файл нужно вставить 2 строчки:

RewriteCond %{QUERY_STRING} replytocom=
RewriteRule ^(.*)$ /$1? [R=301,L]

Вставить можно в самое начало файла, чтобы получилось примерно так:

# BEGIN WordPress
RewriteCond %{QUERY_STRING} replytocom=
RewriteRule ^(.*)$ /$1? [R=301,L]

RewriteCond %{HTTP_HOST} nazyrov.ru
RewriteRule (.*) http://www.nazyrov.ru/$1 [R=301,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

Минус данного способа, это огромное количество редиректов, что создаст немалую нагрузку на сервер. Да и поисковые системы не любят, когда на блоге слишком много редиректов.

Как удалить из индекса поисковых систем дубли ?replytocom

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

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

Сделать это достаточно просто. Скопируйте вот этот код:

add_filter('template_redirect','RedirectReplytocom404');
function RedirectReplytocom404()
{
if ( isset( $_GET['replytocom'] ) ) {

@header("HTTP/1.0 404 Not Found");
die();
}
}

И вставьте его в файл function.php темы вашего блога. Эта функция будет перенаправлять поискового робота со страницы replytocom на страницу ошибки 404. В результате такие страницы постепенно будут вылетать из поиска.

11 комментариев

  1. Привет Андрей!
    Где-то два года назад о этой заразе узнал, начал бороться, через 8 месяцев из поиска все ушли дубли replytocom, после этого гугл полюбил и снял санкции ))
    В своё время изучал эту тему тоже очень серьёзно.

    Ответить
    • Привет, Олег. А какой способ использовал для закрытия дублей?

      Ответить
      • Одновременно способ 1, 3 и 6 и ещё что-то уже не помню, нужно вспоминать, т.к. помню ещё прописывал в коде. Вообщем гибрид брал ото всюду понемногу, так и оставил, больше ничего не менял с тех пор.

      • Ну, главное, что все работает 🙂

  2. Хорошая статья, грамотно описано. Недавно тоже занимался удалением ссылки replytocom, но у меня наверное и нет этих дублей, так как не ставил древовидные комментарии, пока не решил эту проблему

    Ответить
  3. Вот и еще несколько отличных советов, на любой вкус, спасибо думаю многим в помощь будет.

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

    Ответить
  5. Недавно избавился от replytcom в комментариях, теперь спокойнее за свой блог) Хотя и не было дублей в индексе

    Ответить
  6. Я тоже узнала где то 1 год назад про дубли. Но до сих пор с гугла не большая посещаемость.

    Ответить

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *