Как найти и убрать дубли архивных страниц в WordPress

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

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

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

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

Диагностика: где именно появляется дубль

Сначала нужно понять, это проблема индексации, шаблона или настроек SEO-плагина. Проверка занимает немного времени, если идти по списку.

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

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

Если у вас стоит SEO-плагин, сначала проверьте его настройки. Часто дубли создаёт не WordPress, а шаблон мета-данных: одинаковый title для всех тегов, одинаковый description для страниц 1 и 2 архива, отсутствие canonical на вложениях.

Быстрая проверка через код

Для диагностики удобно временно вывести текущий тип архива и canonical в HTML-комментарий или в лог. Ниже пример, который можно добавить в functions.php на тестовом сайте или в мини-плагин.

add_action('wp_head', function () {
    if (is_archive()) {
        global $wp_query;
        $canonical = wp_get_canonical_url();
        echo "\n<!-- archive_type: " . esc_html(get_post_type()) . " -->\n";
        echo "<!-- canonical: " . esc_url($canonical) . " -->\n";
        echo "<!-- paged: " . intval(get_query_var('paged')) . " -->\n";
    }
}, 1);

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

Пошаговое решение без потери нужной индексации

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

1. Оставьте в индексе только полезные архивы

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

В SEO-плагине обычно достаточно:

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

2. Отключите страницы вложений и перенаправьте их на файл или запись

Страницы вложений — частый источник дублей. Пользователь открывает картинку, а WordPress отдаёт отдельную страницу с почти пустым шаблоном. Для SEO это обычно бесполезно.

add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_queried_object_id());

        if ($parent) {
            wp_safe_redirect(get_permalink($parent), 301);
            exit;
        }

        wp_safe_redirect(home_url('/'), 301);
        exit;
    }
});

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

3. Приведите canonical к одному варианту

На архивных страницах canonical должен указывать на саму страницу архива, а не на первую страницу пагинации, если речь идёт о /page/2/ и дальше. Иначе поисковик может склеить разные страницы архива в одну.

Если тема или плагин ломают canonical, проверьте фильтр wpseo_canonical в Yoast SEO или аналогичный механизм в вашем SEO-плагине. Если SEO-плагина нет, WordPress сам отдаёт canonical не во всех сценариях, и тогда лучше подключить его явно через wp_head.

4. Уберите дубли мета-тегов у архивов

Одинаковые title и description на архиве категории, тега и автора — типичная ошибка. Для каждого архива нужен свой шаблон мета-данных или хотя бы разные переменные в шаблоне.

add_filter('document_title_parts', function ($parts) {
    if (is_category()) {
        $parts['title'] = single_cat_title('', false) . ' — статьи и материалы';
    } elseif (is_tag()) {
        $parts['title'] = single_tag_title('', false) . ' — публикации по теме';
    } elseif (is_author()) {
        $parts['title'] = 'Материалы автора ' . get_the_author_meta('display_name', get_queried_object_id());
    }

    return $parts;
});

Это не заменяет SEO-плагин, но помогает, если тема генерирует слишком однообразные заголовки архивов.

Сравнение подходов: плагин, код или шаблон темы

ПодходКогда подходитПлюсыМинусы
SEO-плагинНужно быстро закрыть архивы и настроить мета-тегиМеньше кода, проще поддержкаНе всегда решает проблему шаблона темы
Код в теме/мини-плагинеНужен точечный контроль над canonical, редиректами и titleГибко и прозрачноТребует аккуратного тестирования
Правка шаблона архиваДубли создаёт сама темаУбирает причину, а не симптомНужно понимать иерархию шаблонов WordPress

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

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

  • откройте архивы в браузере и проверьте исходный код;
  • сравните title и description у категорий, тегов и авторов;
  • проверьте, что страницы вложений возвращают 301, а не 200;
  • посмотрите, нет ли в Search Console лишних URL с параметрами и дублями;
  • пройдитесь по пагинации и убедитесь, что каждая страница архива уникальна по URL и не склеивается с первой.

Если используете инструменты краулинга, полезно сравнить список URL до и после изменений. Ищите одинаковые title, одинаковые canonical и страницы с тонким контентом.

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

Закрыли от индексации всё подряд

Иногда после борьбы с дублями закрывают и полезные архивы. В результате сайт теряет навигационные страницы, а внутренние ссылки становятся слабее. Исправление простое: оставьте в индексе только те архивы, которые реально помогают пользователю и имеют уникальный контент.

Сделали редирект со всех вложений на главную

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

Не учли пагинацию

Часто правят только первую страницу архива, а /page/2/ и дальше остаются с теми же мета-тегами. В результате дубли продолжают копиться. Проверьте шаблон для всех страниц пагинации отдельно.

Сломали canonical в теме

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

Практические советы по безопасности и производительности

Когда правите архивы кодом, не вносите изменения прямо в родительскую тему. Используйте дочернюю тему или мини-плагин, иначе обновление всё затрёт. Для редиректов и фильтров лучше держать отдельный файл с понятным назначением, а не распихивать код по шаблонам.

Если на сайте много архивов и таксономий, не создавайте лишние запросы в wp_head. Проверки должны быть лёгкими: без тяжёлых запросов к базе и без обращения к внешним API. Для массовой чистки дублей сначала сделайте бэкап и проверьте изменения на staging-копии.

Если нужен инструмент для чистки дублей, служебных архивов и лишних SEO-страниц, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpdirect.ru&utm_medium=article&utm_campaign=kak-najti-i-ubrat-dubli-archive-stranic-v-wordpress. Но даже с плагином полезно понимать, какие именно архивы вы закрываете и почему.

Самый надёжный сценарий обычно такой: сначала диагностировать, какие архивы реально дублируются, затем закрыть или перенаправить только лишнее, после чего проверить canonical, title и статус индексации на нескольких типах страниц. В WordPress это как раз тот случай, где точечная правка лучше массового «закрыть всё».

WooCommerce: автоматическое удаление отменённых заказов по расписанию
27.05.2026
Как автоматически отключать обновления тем в WordPress
25.03.2026
Как сделать автоматическое расширение мета-данных в WordPress для улучшения SEO
26.01.2026
WooCommerce: автоматическое удаление отменённых заказов по расписанию с оптимизацией
17.07.2026
Как автоматизировать создание и удаление черновиков в WordPress
08.01.2026