Как найти и убрать дубли страниц в WordPress без потери нужного трафика

Дубли в WordPress обычно появляются не из-за одной ошибки, а из-за набора мелких настроек: архивы, параметры URL, версии со слэшем и без, страницы пагинации, теги, авторы, attachment-страницы, UTM-параметры. В итоге поисковик видит несколько адресов с одинаковым или почти одинаковым содержимым, а сайт сам размазывает сигналы между ними.

Если задача не в «почистить всё подряд», а в том, чтобы убрать именно технические дубли и не сломать индексацию полезных страниц, нужен последовательный разбор: сначала найти источник, потом выбрать способ склейки, затем проверить, что каноникал и редиректы работают как задумано.

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

Симптомы обычно видны в Search Console, логах сервера или при обычной проверке выдачи. Но важно не путать дубли с похожими страницами. Дубль — это когда один и тот же контент доступен по нескольким URL, а не когда у двух страниц просто похожая тема.

Типичные признаки

  • в индексе есть версии с ?utm_source=, ?replytocom= или другими параметрами;
  • одна и та же запись открывается со слэшем и без слэша;
  • страницы категорий, тегов и архивов дублируют друг друга по title и тексту;
  • attachment-страницы индексируются отдельно от вложений в записи;
  • в отчётах по страницам много URL с одинаковым заголовком, но разными адресами.

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

Откройте несколько подозрительных URL и сравните:

  • HTTP-статус ответа;
  • наличие rel="canonical";
  • редирект на основную версию;
  • одинаковый ли контент отдается по разным адресам.

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

Какие дубли WordPress встречаются чаще всего

Перед исправлением полезно разделить проблему по типам. Для каждого типа решение разное: где-то нужен 301-редирект, где-то достаточно noindex, а где-то лучше вообще убрать генерацию URL на уровне темы или плагина.

Источник дубляЧто делатьКомпромисс
Параметры URL301 на чистый адрес или canonicalЕсли параметр нужен для фильтрации, не редиректить его вслепую
Слэш / без слэшаЕдиный формат через настройки и редиректНужно проверить, как сайт отдает URL на уровне сервера
Архивы тегов и категорийОставить только полезные, остальные закрыть от индексацииМожно потерять часть длинного хвоста
Attachment-страницыРедиректить на файл или родительскую записьЕсли медиа-страницы используются осознанно, нужен другой подход
Пагинация и сортировкиПроверить canonical и robotsНе всегда стоит закрывать пагинацию полностью

Пошаговое решение: от поиска дублей к исправлению

Шаг 1. Соберите список проблемных URL

Начните с Search Console и серверных логов. Если доступа к логам нет, хотя бы выгрузите страницы с одинаковым title из краулера или проверьте сайт через site:example.com в поиске. Для WordPress особенно полезно смотреть:

  • архивы авторов;
  • теги с пустым или повторяющимся содержимым;
  • страницы вложений;
  • URL с параметрами сортировки, фильтрации и UTM;
  • дубли главной страницы через /index.php, /home и другие ручные маршруты, если они есть.

Шаг 2. Настройте канонический адрес

Если дубль нужен для пользователя, но не должен конкурировать в выдаче, canonical — базовый вариант. В WordPress его можно добавить через wp_head, если тема или SEO-плагин не делают это корректно.

<?php
add_action('wp_head', function () {
    if (is_singular()) {
        echo '<link rel="canonical" href="' . esc_url(get_permalink()) . '" />' . "\n";
    }
}, 1);

Этот пример не заменяет SEO-плагин, а показывает принцип. Если canonical уже выводится, не дублируйте его вторым тегом: поисковик увидит несколько канонических URL и может проигнорировать часть сигналов.

Шаг 3. Уберите явные технические дубли редиректом

Когда адреса полностью эквивалентны, лучше не надеяться на canonical, а сделать 301-редирект. Например, если у вас есть старые URL с параметрами, которые не должны индексироваться, можно перенаправлять их на чистую версию.

<?php
add_action('template_redirect', function () {
    if (is_admin()) {
        return;
    }

    if (!empty($_GET['utm_source']) || !empty($_GET['utm_medium']) || !empty($_GET['utm_campaign'])) {
        $url = remove_query_arg(array('utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content'));
        wp_safe_redirect($url, 301);
        exit;
    }
});

Такой подход уместен только для маркетинговых параметров. Не редиректите всё подряд по наличию query string: можно сломать поиск по сайту, фильтры, пагинацию и AJAX-запросы.

Шаг 4. Закройте от индексации мусорные архивы

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

Для точечной настройки можно использовать wp_robots и добавить noindex для отдельных типов страниц:

<?php
add_filter('wp_robots', function (array $robots) {
    if (is_tag() || is_author()) {
        $robots['noindex'] = true;
        $robots['follow'] = true;
    }

    return $robots;
});

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

Диагностика после правок: что проверить

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

  • основной URL отдаёт 200 OK;
  • дубль отдаёт 301 на канонический адрес;
  • в HTML есть один canonical, а не несколько;
  • страницы, которые должны быть закрыты, содержат noindex;
  • внутренние ссылки ведут на чистые URL без параметров;
  • в Search Console уменьшается число «дубликат, Google выбрал другой канонический URL».

Для быстрой проверки удобно использовать curl:

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

Смотрите на код ответа и заголовок Location. Если редиректов нет, а дубль всё ещё доступен, значит правило не сработало или его перехватывает другой плагин/серверная настройка.

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

Ставят noindex вместо редиректа

Если URL полностью лишний и не нужен пользователю, noindex — слабое решение. Страница всё равно остаётся доступной, а внутренние ссылки и краул-бюджет продолжают на неё тратиться. Для явных дублей лучше 301.

Редиректят все URL с параметрами

Это частая поломка после «универсального» кода. В результате ломаются фильтры, поиск, сортировка и некоторые формы. Перед редиректом проверьте, какие параметры реально используются сайтом.

Оставляют несколько canonical одновременно

Такое бывает, когда canonical выводит SEO-плагин, а тема добавляет свой тег в wp_head. В итоге в коде страницы два канонических адреса. Нужно оставить только один источник.

Закрывают полезные архивы без анализа

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

Что помогает держать дубли под контролем на постоянной основе

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

  • не плодите ручные страницы с тем же содержимым, что и записи;
  • не создавайте отдельные посадочные под один и тот же запрос без каноникал;
  • проверяйте, как SEO-плагин формирует title, description и canonical после обновлений;
  • если используете чистку дублей и техстраниц, например через Clearfy Pro, всё равно перепроверяйте результат в исходном HTML и Search Console.

Если сайт большой, полезно раз в несколько недель запускать краулер и сравнивать список URL с одинаковыми title или canonical. Это дешевле, чем потом разбирать просадку после очередного всплеска дублей.

Как закрыть от индексации дубли архивов WordPress без поломки SEO
19.09.2026