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

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

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

Когда это действительно проблема

Не каждая страница /page/2/ требует вмешательства. Если у вас большой каталог статей или новостей, пагинация нужна и для пользователей, и для обхода роботом. Но если в индексе уже есть:

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

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

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

Сначала не меняйте код. Посмотрите, какие URL уже попали в индекс и как они выглядят в выдаче. Это можно проверить несколькими способами.

Проверка через поиск и карту сайта

Откройте в поиске запросы вида site:example.com/page/2, site:example.com/?s=, site:example.com/tag/. Если видите много однотипных страниц, это первый сигнал. Затем проверьте XML-карту сайта: если туда попадают архивы, поиск или служебные страницы, их лучше исключить на уровне генерации карты.

Проверка шаблонов title и canonical

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

Что смотреть в админке и в коде

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

Что закрывать, а что оставлять

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

Тип страницыОставить в индексеОбычно закрываютКомментарий
Страницы рубрикДаТолько если рубрика пустая или техническаяПолезны для тематической структуры
Пагинация рубрикИногдаЕсли это слабые дубли без ценностиЗависит от объёма контента
ТегиРедкоЧаще всегоОсобенно на сайтах с хаотичной разметкой
Поиск по сайтуНетДаЭто служебный URL
Авторские архивыИногдаЕсли автор один и архив пустой по смыслуДля медиа и блогов может быть полезно

Пошаговое решение без плагина

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

<?php
add_action( 'wp_head', function () {
    if ( is_search() ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
        return;
    }

    if ( is_paged() && ( is_category() || is_tag() || is_archive() ) ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1 );

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

Если у вас SEO-плагин уже управляет robots meta, не дублируйте вывод. Иначе получите два тега meta name="robots", а это лишний шум и иногда непредсказуемое поведение.

Исключение служебных страниц из XML-карты сайта

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

<?php
add_filter( 'wp_sitemaps_post_types', function ( $post_types ) {
    // Оставляем только нужные типы записей.
    return $post_types;
} );

add_filter( 'wp_sitemaps_taxonomies', function ( $taxonomies ) {
    if ( isset( $taxonomies['post_tag'] ) ) {
        unset( $taxonomies['post_tag'] );
    }

    return $taxonomies;
} );

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

Если нужен более управляемый вариант

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

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

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

После изменений не ориентируйтесь только на визуальный просмотр сайта. Проверьте три вещи:

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

Для быстрой проверки откройте несколько URL вручную: главную рубрики, её вторую страницу, страницу поиска и тег. Сравните <title>, canonical и robots meta. Если на всех страницах один и тот же canonical на первую страницу, а вы рассчитывали на отдельную индексацию пагинации, значит правило задано слишком грубо.

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

Закрыли пагинацию, но оставили дубли в карте сайта

Так бывает, когда robots meta добавили в тему, а XML-карта сайта осталась прежней. Поисковик всё равно видит URL и продолжает их обходить. Решение: синхронизировать мета-теги, canonical и sitemap.

Поставили noindex на всё подряд

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

Дублируете логику плагина кодом темы

Если SEO-плагин уже управляет robots meta, canonical и sitemap, не добавляйте поверх него второй слой логики. Сначала проверьте, можно ли решить задачу настройкой. Код нужен там, где настройки не покрывают конкретный сценарий.

Используете noindex вместо удаления причины

Если у вас десятки одинаковых тегов, лучше сначала сократить их количество, объединить слабые метки и убрать автоматическую генерацию мусорных архивов. Иначе вы просто прячете симптом, а не решаете проблему.

Чек-лист перед публикацией изменений

  • Проверить, какие URL реально дублируются в индексе.
  • Определить, какие архивы полезны для пользователей и SEO.
  • Согласовать robots meta, canonical и XML-карту сайта.
  • Не закрывать важные рубрики и посадочные страницы без причины.
  • Проверить страницу поиска, теги и вторые страницы архивов вручную.
  • Убедиться, что пагинация и навигация не сломались после правок.

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

Если вы вносите изменения через functions.php, делайте это в дочерней теме или в небольшом mu-plugin. Так вы не потеряете правки после обновления темы. Для крупных сайтов лучше вынести логику в отдельный мини-плагин: его проще отключить, протестировать и перенести между окружениями.

Не ставьте несколько SEO-плагинов одновременно в надежде, что один «добавит» то, чего не хватает другому. На практике это чаще создаёт конфликт canonical, robots meta и sitemap. Если нужен один инструмент для чистки дублей и технических настроек, сначала проверьте, хватает ли возможностей текущего стека, а уже потом добавляйте новый.

Если хотите, чтобы статья не превращалась в набор ручных правок, держите правило простым: сначала диагностика, потом точечное исключение, затем проверка в Search Console и только после этого массовая чистка архивов.

}
Как использовать Object Cache в WordPress для улучшения производительности
05.02.2026
Как создать автоматический импорт CSV файлов в WordPress с примерами кода
27.03.2026
Как создать динамические шорткоды в WordPress с использованием AJAX
30.01.2026
Как создать свой плагин для WordPress с нуля
12.11.2025
Как автоматизировать удаление спама в комментариях WordPress
11.12.2025