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

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

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

Когда пагинация превращается в дубль

Чаще всего проблема проявляется не на главной, а в архивах: рубрики, метки, авторы, страницы блога, результаты поиска. Если у вас есть страницы вида /category/news/page/2/, /page/3/, а рядом ещё и URL с параметрами вроде ?sort=popular или ?amp, поисковик может начать считать их отдельными почти одинаковыми документами.

Типичный сценарий:

  • в site:example.com видно много страниц с одинаковым title и description;
  • в Яндекс.Вебмастере или Google Search Console растёт число страниц, найденных, но не выбранных каноническими;
  • в выдаче появляются не те страницы архива, а страницы с параметрами;
  • в логах заметно, что бот часто ходит по пагинации, но редко доходит до важных материалов.

Что считать проблемой, а что — нормой

Сами страницы /page/2/, /page/3/ не всегда нужно закрывать полностью. Если на них есть уникальные записи и они нужны для навигации, лучше оставить их доступными, но убрать из индекса только технические дубли и мусорные параметры. Полное закрытие пагинации часто ломает обход архивов и ухудшает обнаружение контента.

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

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

Проверка через поиск и инструменты вебмастера

Начните с простого:

  1. выполните поиск site:вашдомен.ru и посмотрите, какие URL попали в индекс;
  2. сравните title и description у страниц первой и второй пагинации;
  3. откройте исходный код и проверьте тег rel="canonical";
  4. посмотрите, не добавляет ли тема или плагин в URL параметры сортировки, фильтра или трекинга.

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

Что проверить в коде темы и плагинах

Особенно внимательно смотрите на:

  • функции, которые меняют wp_title или фильтр document_title_parts;
  • плагины SEO, которые отдельно настраивают robots для архивов;
  • виджеты фильтрации, добавляющие GET-параметры;
  • кеш-плагины, которые могут отдавать старые canonical и title после обновления настроек.

Пошаговое решение

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

1. Уберите из индекса технические параметры

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

<?php
// Убираем лишние параметры из canonical для архивов.
add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_admin() || empty($canonical)) {
        return $canonical;
    }

    $canonical = remove_query_arg(array('sort', 'filter', 'utm_source', 'utm_medium', 'utm_campaign'), $canonical);

    return $canonical;
}, 10, 2);

Этот код не решает всё, но помогает, если канонический URL формируется с мусорными параметрами. Используйте только те параметры, которые реально присутствуют на сайте.

2. Сделайте пагинацию понятной для поисковика

Для архивов важно, чтобы первая страница была основным входом, а последующие страницы не дублировали её title и description. В WordPress это можно поправить через фильтр document_title_parts или через настройки SEO-плагина.

<?php
add_filter('document_title_parts', function ($parts) {
    if (is_paged()) {
        $paged = max(2, (int) get_query_var('paged'));
        $parts['title'] = $parts['title'] . ' — страница ' . $paged;
    }

    return $parts;
});

Это не обязательно для всех проектов, но полезно, когда пагинация индексируется и у страниц одинаковые заголовки. Главное — не делать одинаковый title на всех страницах архива.

3. Закройте от индексации только то, что не должно ранжироваться

Не путайте пагинацию архива и технические страницы. Закрывать можно:

  • внутренний поиск WordPress;
  • страницы с параметрами сортировки и фильтрации;
  • дубли архивов автора, если они не нужны;
  • страницы с пустым или почти пустым содержимым.

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

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

Если тема или плагин генерируют ссылки на пагинацию с параметрами, поисковик будет видеть несколько вариантов одного и того же пути. Проверьте шаблоны archive.php, category.php, блоки фильтрации и хлебные крошки. Внутренние ссылки должны вести на один канонический вариант.

Для ручной проверки удобно временно вывести текущий canonical прямо в шаблоне или посмотреть его через View Source. Если canonical и фактический URL расходятся без причины, это сигнал к исправлению шаблона или SEO-настроек.

Сравнение подходов: плагин, код или ручная настройка

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

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

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

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

  • Откройте несколько страниц пагинации и убедитесь, что canonical указывает на нужный URL.
  • Проверьте title у первой и второй страницы архива: они должны различаться хотя бы номером страницы.
  • Посмотрите исходный код на наличие лишних meta robots и дублирующихся canonical.
  • В Search Console отправьте на проверку несколько URL с параметрами и без них.
  • Сравните индексацию через 1-2 обхода бота: мусорные URL должны исчезать из отчётов постепенно, а не мгновенно.

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

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

Закрывают всю пагинацию в robots.txt

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

Ставят noindex на все архивы подряд

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

Оставляют одинаковые title на всех страницах пагинации

Это частая проблема шаблонов. Поисковик видит много однотипных страниц и не понимает, чем они отличаются. Добавьте номер страницы в title или настройте это через SEO-плагин.

Не чистят кеш после правок

После изменения canonical, robots или title старые версии могут продолжать отдаваться из кеша. Очистите кеш плагина, серверный кеш и, если используется CDN, его тоже.

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

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

Для сайтов с большим количеством архивов и фильтров полезно:

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

Если нужен более системный аудит дублей, технической индексации и мусорных страниц, в экосистеме WPShop есть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Его имеет смысл рассматривать не как замену диагностике, а как инструмент для наведения порядка в технических настройках.

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

  • Проверен canonical на страницах первой и последующих страниц архива.
  • Убраны лишние параметры из внутренних ссылок.
  • Title у пагинации различается по номеру страницы.
  • Технические URL закрыты, а полезные архивы не заблокированы.
  • Кеш очищен на уровне плагина, сервера и CDN.
  • В Search Console отправлены на повторную проверку проблемные URL.

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

⭐⭐⭐⭐⭐