Проблема проявляется только на сайтах с включенной опцией древовидных комментариев. Проблема достаточно серьезная, т.к. приводит к значительному падению страницы в рейтинге поисковика, а также дополнительной нагрузке на веб-сервер.
Варианты решений:
- Запрещаем индексацию страниц с параметром ?replytocom в файле robots.txt:
User-agent: * Disallow: */?replytocom
Для большинства поисковиков этого достаточно, но что удивительно, этого не достаточно для Google. С ним придется повозиться дополнительно.
- Вам понадобится доступ к Google Webmaster tools (Инструменты для веб-мастеров). Если по какой-то причине вы еще не добавили туда свой сайт — обязательно сделайте это. Выбираем сайт, переходим в раздел Конфигурация сайта -> Параметры URL. Здесь вы увидите таблицу найденных параметров. Находим в ней replytocom, и переходим по ссылке Изменить. На вопрос «Изменяет ли этот параметр содержание страницы, которое видит пользователь?» отвечаем «Нет, параметр не влияет на содержание страницы»:
Параметры URL Со временем, рейтинг вашей страницу должен улучшиться. Также обратите внимание на другие параметры в списке, скорее всего они тоже не влияют на содержание. Но это еще не все.
- Чтобы окончательно отбить желание у Google, Yandex и прочих переходить по ссылкам с параметром ?replytocom, необходимо чуть-чуть подредактировать исходный код WordPress.
Во-первых устраняем сам источник проблемы. Файл wp-includes/comment-template.php, строка 1062:$link = "<a class='comment-reply-link' href='" . esc_url( add_query_arg( 'replytocom', $comment->comment_ID ) ) . "#" . $respond_id . "' onclick='return addComment.moveForm(\"$add_below-$comment->comment_ID\", \"$comment->comment_ID\", \"$respond_id\", \"$post->ID\")'>$reply_text</a>";
Изменяем на
$link = "<a rel='nofollow' class='comment-reply-link' href='" . esc_url( add_query_arg( 'replytocom', $comment->comment_ID ) ) . "#" . $respond_id . "' onclick='return addComment.moveForm(\"$add_below-$comment->comment_ID\", \"$comment->comment_ID\", \"$respond_id\", \"$post->ID\")'>$reply_text</a>";
В начало ссылки просто добавлен параметр rel=’nofollow’ — запрещаем переход по данной ссылке.
И второе изменение. Файл wp-includes/general-template.php, строка 1704:
if ( '0' == get_option('blog_public') )
Изменяем на
if ( isset($_GET['replytocom']) || '0' == get_option('blog_public') )
Этим изменением мы добавляем на страницы с ?replytocom мета-тег:
<meta name='robots' content='noindex,nofollow' />
Это должно ускорить удаление из индекса уже попавших туда страниц.
К сожалению, внесенные в п.3 изменения просуществуют только до следующего обновления WordPress. Правда есть надежда, что они скоро станут частью движка. Разработчики в курсе проблемы, но почему-то уже как 4-й месяц тормозят с внедрением. Ждем…
5 ответов к “Что делать, если поисковики индексируют страницы с параметром ?replytocom на WordPress-сайте”
Здравствуйте! А я в настройках убрала галочку( где подключены древовидные комментарии), и роботс поменяла- новый, который все по максимому, не желаемое закрывает от индексации? Вы ,что про это скажете?
Здравствуйте!
Скажу, что время покажет.
Но вообще должно помочь!
Здравствуйте!
Возникла похожая проблема, но с параметрами brand, module, razdel и еще другими. У нормальных страниц урлы вообще без параметров, но WordPress (версия 3.3.1) и Google на пару упорно генерируют дубли. Можете что-нибудь посоветовать против этой болезни? Уже закрыла в роботсе и сделала параметры незначимыми в вебмастере google, но количество проиндексированных страниц увеличивается =\
А вообще эти параметры имеют какой-то смысл на вашем сайте?
Из ниоткуда они взяться не могут. Если не с вашего сайта, то из внешних ссылок.
Я рекомендую в header.php в раздел head добавить вот такой код:
Спасибо!
Выполнила рекомендацию, буду продолжать искать первопричину)