Пагинация в WordPress часто создает не одну проблему, а сразу три: дубли заголовков и мета-тегов, размывание веса между страницами архива и лишние URL в индексе. Обычно это всплывает после запуска SEO-плагина, смены темы или ручной правки robots.txt, когда страницы вида /category/page/2/ начинают конкурировать с первой страницей архива.
Задача здесь не в том, чтобы «запретить все подряд», а в том, чтобы оставить в индексе полезные страницы и убрать технический шум. Для блогов и разделов с большим архивом это особенно важно: поисковик должен видеть первую страницу категории как основную, а остальные страницы пагинации — как навигационные.
Когда пагинация становится проблемой
Проблема обычно заметна по одному из сценариев:
- в индексе появляются десятки URL с одинаковыми title и description;
- страницы
/page/2/,/page/3/ранжируются вместо первой страницы архива; - в Search Console растет число «Просканировано, но не проиндексировано» для пагинированных URL;
- на сайте есть категории с 2–3 записями, но WordPress все равно генерирует пагинацию и лишние ссылки.
Что именно нужно проверить сначала
Не начинайте с массового закрытия URL. Сначала посмотрите, где дубли реально возникают: в категориях, тегах, архиве автора, блоге или в пользовательских таксономиях. В WordPress пагинация может быть полезной для навигации, но не всегда должна индексироваться как самостоятельная посадочная страница.
- откройте несколько URL вида
/category/name/page/2/; - сравните
<title>,meta descriptionиcanonical; - проверьте, не закрыты ли эти страницы уже в SEO-плагине;
- посмотрите, не дублируются ли хлебные крошки и заголовки H1.
Диагностика: где WordPress создает дубли
В типовой установке WordPress дубли пагинации появляются не из-за самого ядра, а из-за сочетания шаблона, SEO-плагина и настроек индексации. Частая ошибка — закрыть в robots.txt все URL с /page/. Это не решает проблему полностью: поисковик может продолжать видеть ссылки, а canonical и мета-теги останутся без логики.
Нормальная диагностика выглядит так:
- Проверить, есть ли у пагинированных страниц собственный canonical на самих себя или на первую страницу архива.
- Сравнить шаблон title для первой и второй страницы архива.
- Посмотреть, не генерирует ли тема одинаковый H1 на всех страницах пагинации.
- Проверить, не индексируются ли страницы с нулевой ценностью, например пустые теги или архивы автора без контента.
Если у вас уже стоит SEO-плагин, сначала ищите настройку индексации архивов и пагинации там. Если плагин не дает нужного поведения, тогда уже имеет смысл добавлять код в тему или mu-plugin.
Пошаговое решение для пагинации архивов
Ниже рабочая схема, которая обычно подходит для блога, новостного раздела и контентного сайта. Смысл такой: первая страница архива остается индексируемой, а пагинированные страницы получают корректный canonical и не плодят лишние мета-данные.
Шаг 1. Оставьте первую страницу архива основной
Для первой страницы категории, тега или рубрики должен быть нормальный title и description. На страницах /page/2/ и дальше не нужно пытаться делать их «уникальными» вручную, если они не несут самостоятельной ценности.
Шаг 2. Добавьте canonical для пагинации
Если тема или SEO-плагин не справляются, можно задать canonical через фильтр wpseo_canonical в Yoast SEO или через стандартные функции темы. Ниже пример для случая, когда пагинированные страницы архива должны ссылаться на самих себя, а не на первую страницу:
<?php
add_filter( 'wpseo_canonical', function( $canonical ) {
if ( is_paged() && ( is_category() || is_tag() || is_tax() || is_home() ) ) {
return get_pagenum_link( get_query_var( 'paged' ) );
}
return $canonical;
} );Если у вас не Yoast SEO, а другой плагин, логика остается той же: canonical должен быть последовательным и не конфликтовать с реальным URL страницы.
Шаг 3. Уберите лишние мета-теги на страницах пагинации
На второй и следующих страницах архива часто не нужен отдельный description, если он автоматически дублирует первую страницу. В таком случае лучше не генерировать его вовсе, чем плодить одинаковые сниппеты.
<?php
add_filter( 'document_title_parts', function( $parts ) {
if ( is_paged() && ( is_category() || is_tag() || is_tax() || is_home() ) ) {
$paged = max( 2, (int) get_query_var( 'paged' ) );
$parts['title'] = sprintf( '%s — страница %d', $parts['title'], $paged );
}
return $parts;
} );Этот вариант полезен, если ваш SEO-плагин не подставляет номер страницы в title автоматически. Для поисковика это лучше, чем полностью одинаковые заголовки на всех страницах архива.
Шаг 4. Не закрывайте пагинацию в robots.txt без необходимости
Закрытие через Disallow: /*/page/ выглядит просто, но часто мешает поисковику нормально обходить внутреннюю структуру сайта. Если задача именно в индексации, а не в обходе, лучше управлять canonical и мета-данными, а не рубить URL на уровне robots.
Исключение — когда на сайте есть технические разделы с мусорной пагинацией, например внутренние архивы без ценного контента. Тогда закрытие может быть оправдано, но только после проверки, что эти URL не нужны для навигации и не участвуют в перелинковке.
Сравнение подходов: плагин, код или robots.txt
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
| SEO-плагин | Если нужно быстро настроить архивы и canonical | Меньше ручного кода | Не всегда гибко для сложных шаблонов |
| Код в теме или mu-plugin | Если нужна точечная логика для конкретных архивов | Полный контроль | Нужно аккуратно тестировать после обновлений |
robots.txt | Только для явных технических URL | Просто внедрить | Не решает дубли мета-данных и canonical |
Как проверить, что решение сработало
После внедрения не ограничивайтесь визуальной проверкой. Нужно посмотреть, как страницы ведут себя в HTML и в индексации.
- Откройте
/page/2/и проверьте canonical в исходном коде. - Сравните title первой и второй страницы архива.
- Убедитесь, что пагинированные URL не получают одинаковый description.
- Посмотрите в Search Console, уменьшилось ли число дублей и странных URL в отчете по страницам.
Если используете командную строку на сервере, можно быстро проверить canonical так:
curl -s https://example.com/category/news/page/2/ | grep -i canonicalДля локальной проверки в браузере достаточно открыть исходный код страницы и найти rel="canonical". Если canonical указывает на первую страницу там, где вы ожидали самоссылку, значит фильтр или SEO-плагин перезаписывает вашу логику.
Частые ошибки и как их исправить
Одинаковый title на всех страницах
Это самая частая проблема. Обычно она возникает, когда тема жестко выводит название рубрики без номера страницы. Исправление простое: добавить номер страницы в title или отдать эту задачу SEO-плагину.
Закрытие пагинации через noindex без проверки
Если поставить noindex на все страницы пагинации, можно случайно убрать из индекса полезные архивы, которые реально приводят трафик. Сначала проверьте, есть ли у этих страниц поисковый спрос и внешние ссылки.
Блокировка в robots.txt вместо настройки canonical
Такой подход часто оставляет проблему наполовину решенной. Поисковик может перестать обходить URL, но дубли и внутренние ссылки никуда не денутся. В результате отчетность становится хуже, а не лучше.
Пагинация ломается после смены темы
Если после обновления темы страницы /page/2/ начали отдавать 404 или редиректить на главную, проверьте шаблоны archive.php, category.php и использование paginate_links(). Иногда проблема в том, что тема неправильно формирует запрос и не учитывает paged.
Практические советы по безопасности и производительности
Если вы добавляете код вручную, не вносите его прямо в родительскую тему. Лучше использовать дочернюю тему или небольшой mu-plugin, чтобы не потерять изменения после обновления.
Для сайтов с большим количеством архивов полезно держать под контролем еще и генерацию лишних страниц:
- не создавайте пустые теги и рубрики ради SEO;
- не плодите архивы автора, если на сайте один автор и они не нужны пользователю;
- проверяйте, не дублируются ли страницы пагинации через параметры сортировки и фильтры;
- не смешивайте настройки SEO-плагина и ручной вывод canonical в шаблоне без явной проверки.
Если нужен более широкий аудит дублей и технической чистки, в экосистеме WPShop для этого есть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином важно понимать, какие URL вы закрываете и зачем — иначе можно случайно убрать из индекса полезные страницы архива.
Хорошая практика — после любых изменений сохранить список затронутых URL и через 1–2 обхода поискового робота перепроверить, не появились ли новые дубли в соседних разделах. Пагинация редко ломается одна: обычно вместе с ней всплывают архивы тегов, авторов и фильтры в навигации.