Как найти и убрать дубли страниц с параметрами в WordPress

Проблема с дублями в WordPress часто выглядит не как одна ошибка, а как набор похожих URL: ?replytocom=, ?utm_, ?amp, страницы сортировки, фильтры, пагинация, версии с и без слеша, с www и без него. В итоге поисковик видит несколько адресов с одинаковым или почти одинаковым содержимым и начинает выбирать канонический вариант не всегда так, как вы ожидаете.

Если задача не в том, чтобы «вообще убрать дубли», а в том, чтобы оставить нужные страницы в индексе и не сломать трафик, сначала нужно понять, какие именно URL создают проблему. Только после этого имеет смысл ставить редиректы, каноникал или закрывать параметры от индексации.

Как понять, что у вас именно дубли с параметрами

Самый частый признак — в отчётах поисковой консоли появляются URL с разными хвостами, но одинаковым контентом. Второй сигнал — в поиске всплывают версии страниц с параметрами, хотя вы их не публиковали как отдельные посадочные. Третий — в логах и аналитике много входов на адреса, которые не должны быть самостоятельными страницами.

Что проверить в первую очередь

  • есть ли у страниц одинаковый <title> и meta description при разных URL;
  • открываются ли параметры в адресной строке без ошибки и без редиректа;
  • меняется ли контент при добавлении параметра или страница остаётся той же;
  • есть ли в <link rel="canonical"> правильный основной адрес;
  • не создаёт ли тема или плагин отдельные архивы для фильтров, сортировки и поиска.

Диагностика: где именно рождаются дубли

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

curl -I https://example.com/post-name/?utm_source=test

В ответе важно смотреть не только на код 200 или 301, но и на заголовки Location и Link. Если редиректа нет, а каноникал указывает на саму параметризованную версию, поисковик может индексировать лишний адрес.

Для WordPress отдельно проверьте:

  • страницы комментариев с ?replytocom=;
  • страницы поиска вида ?s=;
  • служебные параметры от рекламы и аналитики;
  • архивы таксономий с сортировкой и фильтрами;
  • версии URL с разным регистром, слешем и протоколом.

Что делать: рабочая схема без лишних рисков

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

ПодходКогда использоватьМинус
301-редиректДля дублей одного и того же URLНужно аккуратно исключить полезные параметры
canonicalЕсли страница должна открываться, но не быть основнойНе всегда мгновенно убирает дубль из индекса
noindexДля служебных страниц и фильтровСтраница остаётся доступной для обхода
Удаление генерацииЕсли параметр создаёт мусор на уровне темы или плагинаНужно править код или настройки

1. Нормализуйте основной URL

Сначала убедитесь, что на сайте один вариант домена и протокола. Если часть страниц открывается с www, а часть без него, или есть смесь http и https, это создаёт базовый слой дублей. Делайте это на уровне сервера или постоянных редиректов, а не через случайные плагины.

2. Уберите мусорные параметры редиректом

Если параметр не влияет на содержимое, лучше отправлять его на чистый URL. Для Apache это можно сделать через .htaccess. Ниже пример для нескольких типовых параметров, которые не должны индексироваться как отдельные страницы:

RewriteEngine On
# Убираем рекламные и служебные параметры, сохраняя путь страницы
RewriteCond %{QUERY_STRING} (^|&)(utm_[^=]+|gclid|fbclid|yclid|replytocom|ref)= [NC]
RewriteRule ^ %{REQUEST_URI}? [R=301,L]

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

3. Для страниц, которые должны открываться, но не индексироваться, ставьте canonical и noindex

Если параметр нужен пользователю, но не должен становиться отдельной страницей в выдаче, используйте noindex,follow и канонический адрес на чистую версию. Это типично для страниц поиска, некоторых фильтров и сортировок.

add_action('wp_head', function () {
    if (is_search() || isset($_GET['replytocom'])) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
}, 1);

add_filter('wpseo_canonical', function ($canonical) {
    if (is_search() && !empty($_GET['s'])) {
        return home_url('/');
    }
    return $canonical;
});

Если у вас не Yoast SEO, фильтр wpseo_canonical не сработает. Тогда canonical нужно выводить через тему или использовать возможности SEO-плагина, который уже стоит на сайте.

4. Не плодите параметры в ссылках внутри сайта

Часто дубли появляются не из-за внешнего трафика, а из-за внутренних ссылок. Например, тема добавляет в меню или в блоки ссылок UTM-параметры, а плагин аналитики подставляет хвосты в кнопки и карточки. Внутренние ссылки должны вести на чистый канонический URL.

Если вы генерируете ссылки кодом, удаляйте лишние параметры перед выводом:

$url = add_query_arg(array(
    'utm_source' => 'newsletter',
    'utm_medium' => 'email'
), get_permalink());

$clean_url = remove_query_arg(array('utm_source', 'utm_medium', 'utm_campaign', 'fbclid', 'gclid'), $url);
echo esc_url($clean_url);

Проверка результата после внедрения

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

  • URL с параметром должен либо редиректить на чистый адрес, либо отдавать noindex и правильный canonical;
  • в исходном коде страницы должен быть один основной canonical;
  • внутренние ссылки не должны содержать мусорные параметры;
  • в Search Console нужно отслеживать, уменьшается ли число URL с параметрами в отчётах об индексировании;
  • через curl -I проверьте, что редирект действительно 301, а не временный 302.

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

Частые ошибки и как их исправить

Редиректят вообще все параметры

Это ломает UTM-метки, внутренний поиск, фильтры и иногда авторизацию. Исправление простое: разделите параметры на мусорные и функциональные. Редиректите только те, которые не меняют смысл страницы.

Ставят noindex на нужные страницы

Так часто делают с архивами, которые должны приносить трафик. Если страница полезна пользователю и должна ранжироваться, не закрывайте её от индексации только потому, что на ней есть параметры сортировки. Лучше нормализуйте URL и canonical.

Оставляют разные версии домена

Если http, https, www и без www живут параллельно, борьба с параметрами не даст полного эффекта. Сначала приводится к одному виду домен, потом уже чистятся хвосты.

Проверяют только главную страницу

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

Когда лучше править код, а когда обойтись плагином

Если дублей немного и они типовые, кодом проще и надёжнее. Если на сайте много нестандартных архивов, фильтров и SEO-настроек, удобнее использовать плагин, который умеет управлять каноникалами, мета-тегами и служебными страницами без ручной правки шаблонов. В таких задачах часто помогает Clearfy Pro, если нужен именно набор точечных SEO- и технических настроек без разрастания кастомного кода. Ссылка: https://wpshop.ru/plugins/clearfy.

Но даже с плагином стоит проверить, не конфликтует ли он с темой и SEO-модулем. Два разных инструмента, которые одновременно переписывают canonical или robots-мета, часто дают обратный эффект.

Практический чек-лист перед публикацией правок

  • определены все типы дублей на сайте;
  • для мусорных параметров настроен 301-редирект или удаление генерации;
  • для нужных служебных страниц задан canonical и при необходимости noindex;
  • внутренние ссылки очищены от лишних параметров;
  • проверены ответы сервера через curl -I;
  • сравнены исходники чистого URL и URL с параметром;
  • после правок обновлены sitemap и отправлены на переобход важные страницы.

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

Как удалить из индексации страницы пагинации в WordPress
07.10.2026
Как создать автоматический импорт продуктов из CSV в WordPress: практическое руководство
10.09.2026
Как создать собственный шорткод в WordPress: подробное руководство
29.09.2026
Автоматическое создание обновлений для тем и плагинов WordPress: практическое руководство
10.09.2026
Как отключить автовоспроизведение видео в WordPress: практическое руководство
22.09.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее