Как найти и удалить дубли archive-страниц и пагинации в WordPress

Если в индексе появляются одинаковые archive-страницы, страницы пагинации и дубли архивов таксономий, проблема обычно не в «плохом SEO», а в том, как тема и WordPress собирают URL. На одном сайте это могут быть архивы категорий с параметрами, на другом — пагинация автора, на третьем — отдельные страницы тегов, которые дублируют основной архив. Исправлять это нужно точечно: сначала понять, какие URL реально индексируются, потом убрать источник дублей, а не просто закрыть всё подряд.

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

Симптомы обычно видны в Search Console и в логах обхода: одна и та же сущность доступна по нескольким адресам, а поисковик выбирает не тот URL, который вы считаете основным. Чаще всего это:

  • архив категории и архив тега с одинаковым набором записей;
  • страницы пагинации вида /category/news/page/2/, которые индексируются вместо первой страницы;
  • архивы автора на сайтах, где автор один и контент не разделяется по ролям;
  • страницы с параметрами сортировки или фильтра, которые попадают в индекс вместе с базовым архивом.

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

Откройте проблемный архив и посмотрите, есть ли у него несколько доступных вариантов URL: со слэшем и без, с пагинацией, с параметрами, через разные таксономии. Затем проверьте исходный код страницы: canonical, robots meta, заголовок H1 и хлебные крошки. Если canonical указывает на саму страницу пагинации или на параметризованный URL, это уже повод для правки шаблона или фильтра.

// Быстрая проверка canonical на архиве в шаблоне или через временный вывод в лог
add_action('wp_head', function () {
    if (is_category() || is_tag() || is_author() || is_tax()) {
        error_log('Current URL: ' . home_url(add_query_arg(array(), $GLOBALS['wp']->request)));
    }
});

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

Перед исправлением важно понять источник. В WordPress дубли архивов обычно создают не плагины SEO, а тема, кастомные шаблоны и фильтры запросов. Если на сайте есть собственные таксономии, проверьте, не выводятся ли они одновременно в нескольких местах: в меню, в виджетах, в блоках «похожие материалы» и в архивных шаблонах.

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

ПодходКогда подходитМинус
Плагин SEOНужно быстро закрыть архивы от индексацииНе убирает причину дубля в шаблоне
Код в темеНужно изменить canonical, robots или шаблон архиваТребует аккуратного теста после обновлений
Комбинированный вариантЕсть и SEO-правила, и лишние URL в шаблонеНужно следить, чтобы настройки не конфликтовали

Пошаговое решение: как убрать дубли archive и пагинации

1. Закройте от индексации служебные архивы

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

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

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

2. Исправьте canonical для страниц пагинации

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

add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_archive() || is_home()) {
        $paged = max(1, get_query_var('paged'));
        if ($paged > 1) {
            $canonical = get_pagenum_link($paged);
        }
    }
    return $canonical;
}, 10, 2);

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

3. Уберите лишние параметры из архивных URL

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

add_filter('post_type_link', function ($permalink, $post) {
    return remove_query_arg(array('sort', 'filter', 'utm_source', 'utm_medium', 'utm_campaign'), $permalink);
}, 10, 2);

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

4. Проверьте шаблоны archive.php, category.php и taxonomy.php

Иногда дубль создаётся не на уровне SEO, а потому что один и тот же контент выводится в нескольких шаблонах с одинаковыми заголовками, описаниями и блоками. В таком случае нужно либо развести семантику, либо убрать лишний шаблон. Например, если category.php и taxonomy.php выводят одинаковый текст, поисковик видит слабую разницу между страницами.

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

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

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

  • откройте проблемный URL и убедитесь, что canonical ведёт на нужный адрес;
  • проверьте, что служебные архивы получили noindex или исключены из sitemap;
  • посмотрите в Search Console, что новые URL не появляются как дубли в отчётах об индексировании.

Если вы меняли код, очистите кэш страницы и объектный кэш, если он есть. Иначе можно увидеть старый canonical и решить, что правка не сработала.

Мини-проверка через браузер и исходный код

// Проверка текущего типа страницы в отладке
add_action('wp_footer', function () {
    if (current_user_can('manage_options')) {
        echo '<!-- is_category: ' . (is_category() ? 'yes' : 'no') . ' -->';
        echo '<!-- is_tag: ' . (is_tag() ? 'yes' : 'no') . ' -->';
        echo '<!-- paged: ' . esc_html(get_query_var('paged')) . ' -->';
    }
});

Такой вывод удобно использовать на staging-сайте, чтобы быстро понять, какой шаблон и какой тип архива реально отрабатывает.

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

  • Закрыли от индексации все архивы подряд. В результате пропали полезные посадочные страницы категорий. Исправление: оставьте в индексе только те архивы, которые реально помогают пользователю.
  • Поменяли canonical, но не убрали дубли из sitemap. Поисковик продолжает обходить лишние URL. Исправление: синхронизируйте canonical, robots и карту сайта.
  • Сделали noindex для пагинации, но оставили внутренние ссылки на неё. Это не ошибка само по себе, но может размывать обход. Исправление: проверьте, нужны ли ссылки на глубокую пагинацию в навигации.
  • Смешали настройки SEO-плагина и код в теме. Получился конфликт canonical или robots. Исправление: оставьте один источник правды для каждого типа правил.
  • Скопировали одинаковые тексты в разные архивы. Страницы стали почти неотличимыми. Исправление: уникализируйте заголовок, описание и цель страницы.

Что делать для безопасности и производительности

Если вы решаете проблему кодом, не вносите правки напрямую в родительскую тему. Используйте дочернюю тему или небольшой mu-plugin, чтобы изменения не потерялись после обновления. Для проверки на боевом сайте сначала включайте код на staging и только потом переносите в прод.

Ещё один практический момент: не создавайте лишние запросы в wp_head ради диагностики на постоянной основе. Логи и временные отладочные блоки должны быть удалены после проверки, иначе они будут мешать производительности и засорять HTML.

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

Главный критерий здесь простой: после правки у каждой страницы должен быть один понятный адрес, одна роль в структуре сайта и один ожидаемый способ индексации. Всё остальное — источник дублей.

WooCommerce: автоматическое удаление заказов по сроку без плагинов
11.07.2026
Удаление всех бесплатных плагинов из WordPress за один ход
21.03.2026
WooCommerce: автоматическое удаление товаров по срокам с помощью кода
04.05.2026
WooCommerce: решение проблемы неработающей фильтрации товаров по атрибутам
26.06.2026
Как создать автоматические отзывы на сайте WordPress с плагином Expert Review
22.12.2025