Как найти и удалить дубли страниц replytocom с блога?
Приветствую вас, дорогие читатели блога. Кто из вас не слышал о дублях страниц replytocom? Если мне не изменяет память в прошлом году на каждом десятом блоге появлялась статья о том что такое дубли страниц replytocom, как они мешают продвижению и как избавиться от таких дублей путем запрета их индексации и перенаправлением поискового робота на каноническую страницу.
Сегодня в статье я расскажу обо всех способах избавления от такой заразы как дубли страниц 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
После этого нажмите «Поиск». В самом низу страницы выдачи есть блок со скрытыми результатами.
Нажмите на ссылку «Показать скрытые результаты» и вы увидите сколько у вас дублей страниц replytocom в индексе гугла.
Способов избавления от этой заразы оказывается немало. О них мы сейчас и поговорим.
Как избавиться от дублей страниц replytocom
1 Способ. Самый простой и эффективный способ избавиться от дублей replytocom – установить грамотный SEO плагин. Таким плагином я считаю Yoast Seo. В нем есть функция автоматического удаления переменной ?replytocom. Вы просто один раз в настройках плагина активируете удаление этой переменной и забываете, что такая проблема вообще существует в WordPress.
2 Способ. Устанавливаем специальный плагин для комментариев, который кнопки «ответить» будет обрабатывать скриптом и скроет злосчастные ?replytocom. Пример такого плагина — WordPress Thread Comment.
3 Способ. Просто отключаем древовидные комментарии. Отключив их вы избавитесь от будущих дублей. Но у этого способа есть минус. Во первых таким образом не удалить уже сформированные дубли ?replytocom. А во вторых, не каждому удобно давать ответы другим пользователям если отсутствует кнопка «Ответить».
4 Способ (им я пользовался до сегодняшнего дня). Скрываем кнопку ответить в тег SPAN. Способ этот я нашел на блоге Виталия Кириллова (seo-mayak.com).
Вообще всем, кто любит ковыряться в коде, рекомендую его блог. На нем просто нереально много полезной информации и немало авторских функций и хаков по WordPress.
Для того чтобы скрыть ссылку или кнопку ответит в тег SPAN нужно сделать следующее:
1 Шаг. Открыть файл function.php и после открывающего тега
function mayak_replycom_remove( $mayak_remove ) { $cut = "!(.*?)!si"; $insert = " "; return preg_replace($cut, $insert, $mayak_remove); } add_filter( 'comment_reply_link', 'mayak_replycom_remove' );
Эта функция удалить переменные ?replytocom с вашего блога. Более того, кнопки «Ответить» будут обрабатываться не как ссылки. Но это еще не все, переходим ко второму шагу.
2 Шаг. Вставив функцию, мы удалили тег , вместо этого появился тег ,то есть мы удалили ссылки с кнопок ответить. И соответственно пропали стили оформления CSS. Поэтому нам нужно прописать эти стили для тега . Для этого откройте файл style.css и в самый конец вставьте вот этот код:
.comment-reply-link { color:#5151FF; /*добавляем цвет ссылки*/ text-decoration:none; /*Убираем подчеркивание*/ cursor:pointer; /*Добавляем курсор в виде руки*/ }
Теперь ссылки «Ответить» в комментариях ни чем не будут отличаться от обычных ссылок, они будут так же работать как и прежде, но при этом они не являются ссылками в прямом смысле. При желании можете подкорректировать стили CSS под дизайн своего блога.
Ссылки ?replytocom в стандартном варианте:
Ссылки ?replytocom после вставки функции:
5 Способ. Ставим на страницы с replytocom мета-тег noindex. Выглядит этот мета тег так:
Он запрещает поисковым роботам индексировать страницы. В отличие от файла robots.txt, поисковые роботы не игнорируют данное правило. Для того, чтобы вставить этот мета-тег на страницы пагинации, вставьте вот этот код в файл function.php перед открывающим тегом
remove_action( 'wp_head', 'wp_no_robots' ); function mayak_replytocom_robots() { echo "\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 (.*) /$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. В результате такие страницы постепенно будут вылетать из поиска.
Привет Андрей!
Где-то два года назад о этой заразе узнал, начал бороться, через 8 месяцев из поиска все ушли дубли replytocom, после этого гугл полюбил и снял санкции ))
В своё время изучал эту тему тоже очень серьёзно.
Привет, Олег. А какой способ использовал для закрытия дублей?
Одновременно способ 1, 3 и 6 и ещё что-то уже не помню, нужно вспоминать, т.к. помню ещё прописывал в коде. Вообщем гибрид брал ото всюду понемногу, так и оставил, больше ничего не менял с тех пор.
Ну, главное, что все работает 🙂
Хорошая статья, грамотно описано. Недавно тоже занимался удалением ссылки replytocom, но у меня наверное и нет этих дублей, так как не ставил древовидные комментарии, пока не решил эту проблему
Сергей, вы правы. У вас нет этих дублей.
Вот и еще несколько отличных советов, на любой вкус, спасибо думаю многим в помощь будет.
В статье информация, которую должен знать каждый блогер! Спасибо за шпаргалку, при случае воспользуемся.
Недавно избавился от replytcom в комментариях, теперь спокойнее за свой блог) Хотя и не было дублей в индексе
Я тоже узнала где то 1 год назад про дубли. Но до сих пор с гугла не большая посещаемость.
Ну, по статистике с Гугла всегда посещаемость меньше чем с Яндекс 🙂