Рубрики
WordPress Настройка

Что делать, если поисковики индексируют страницы с параметром ?replytocom на WordPress-сайте

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

Варианты решений:

  1. Запрещаем индексацию страниц с параметром ?replytocom в файле robots.txt:
    User-agent: *
    Disallow: */?replytocom

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

  2. Вам понадобится доступ к Google Webmaster tools (Инструменты для веб-мастеров). Если по какой-то причине вы еще не добавили туда свой сайт – обязательно сделайте это. Выбираем сайт, переходим в раздел Конфигурация сайта -> Параметры URL. Здесь вы увидите таблицу найденных параметров. Находим в ней replytocom, и переходим по ссылке Изменить. На вопрос “Изменяет ли этот параметр содержание страницы, которое видит пользователь?” отвечаем “Нет, параметр не влияет на содержание страницы”:
    Параметры URL
    Параметры URL

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

  3. Чтобы окончательно отбить желание у 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 добавить вот такой код:

<?php if ( isset($_GET['brand']) || isset($_GET['module']) || isset($_GET['razdel']) ) { ?>
<meta name='robots' content='noindex,nofollow' />
<?php } ?>

Спасибо!
Выполнила рекомендацию, буду продолжать искать первопричину)

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

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