Проблема с пагинацией в WordPress обычно всплывает не на главной, а в архиве записей, рубриках, тегах и на страницах автора. В индексе оказываются страницы вида /page/2/, /page/3/ и их вариации, а вместе с ними — дубли заголовков, сниппетов и иногда каноникал, который поисковик трактует не так, как ожидалось. Если сайт небольшой, это чаще всего не критично. Но на контентных проектах и новостниках такие страницы быстро раздувают индекс и мешают поиску понимать, какая страница основная.
Когда пагинация становится проблемой
Не каждая пагинированная страница должна быть закрыта от индексации. Если на странице 2 и дальше есть уникальный полезный контент, например отдельные карточки товаров, фильтры или заметно отличающиеся подборки, закрывать их вслепую не стоит. Но в типичном блоге или каталоге статей страницы пагинации часто повторяют один и тот же шаблон: тот же title с номером страницы, тот же description, одинаковые блоки, а различается только набор записей ниже первого экрана.
Типичные симптомы
- в Search Console растет число проиндексированных URL с
/page/2/,/page/3/и дальше; - в выдаче встречаются дубли архивов вместо нужной основной страницы;
- в логах краулинга много обхода страниц, которые не дают нового смысла;
- на страницах пагинации одинаковые title и meta description;
- канонический URL указывает на саму страницу пагинации, хотя это не всегда нужно.
Диагностика: что именно индексируется
Сначала проверьте, как WordPress отдает архивы и что реально видит поисковый робот. Не полагайтесь только на визуальный осмотр страницы в браузере.
Что смотреть вручную
- исходный код страницы: есть ли
<meta name="robots" content="index, follow">на пагинации; - канонический URL: указывает ли он на саму страницу или на первую страницу архива;
- robots.txt: не закрывает ли он случайно нужные архивы;
- XML-карта сайта: попадают ли туда страницы пагинации;
- Search Console: какие URL с пагинацией уже в индексе.
Если у вас есть доступ к WP-CLI, удобно быстро проверить, как формируются архивы и не вмешивается ли тема в разметку. Но для самой задачи важнее понять, где именно нужно ставить ограничение: на уровне мета-тега, каноникала или через noindex только для части архивов.
Рабочие варианты решения
Есть три нормальных подхода: через SEO-плагин, через код в теме или через комбинацию обоих. Универсального ответа нет — зависит от того, насколько у вас сложная структура сайта и кто будет поддерживать проект дальше.
| Подход | Когда подходит | Минус |
|---|---|---|
| SEO-плагин | Нужно быстро закрыть архивы без кода | Меньше контроля над исключениями |
| Код в теме или плагине | Есть разработчик и нужна точная логика | Нужно следить за обновлениями и тестами |
| Комбинация | Часть архивов закрывается, часть остается открытой | Легко запутаться в приоритетах настроек |
Вариант 1: закрыть пагинацию через SEO-плагин
Если у вас уже стоит Yoast SEO, Rank Math или похожий плагин, проверьте настройки архивов и таксономий. В некоторых проектах достаточно отключить индексацию для лишних архивов и оставить пагинацию как есть. Это не всегда закрывает именно /page/2/, но часто решает проблему на уровне шаблонов архивов.
Если нужен более тонкий контроль, удобнее использовать код. Например, можно поставить noindex, follow только для страниц пагинации архивов записей, но не трогать главную и важные посадочные страницы.
Вариант 2: добавить noindex для пагинированных архивов кодом
Ниже пример для functions.php дочерней темы или, лучше, для небольшого mu-plugin. Он добавляет noindex, follow на страницы пагинации архивов и не вмешивается в обычные записи и страницы.
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_paged() && ( is_home() || is_archive() || is_search() ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );
Что делает этот код: если пользователь или робот открывает вторую и последующие страницы архива, WordPress добавляет директиву noindex, но оставляет follow, чтобы ссылки внутри страницы продолжали обходиться. Это безопаснее, чем закрывать URL в robots.txt, потому что запрет в robots.txt не убирает URL из индекса, если он уже известен поисковику.
Вариант 3: ограничить только конкретные архивы
Иногда нужно закрыть от индексации только пагинацию рубрик, но оставить страницы автора или отдельные таксономии открытыми. Тогда условие лучше сузить. Например, так:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_paged() && is_category() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );
Такой вариант полезен, если рубрики у вас служебные и не должны конкурировать с основными страницами, а архив автора нужен как отдельная точка входа.
Пошаговая настройка без лишнего риска
- Определите, какие архивы реально должны индексироваться. Не закрывайте все подряд.
- Проверьте текущие meta robots и canonical на страницах
/page/2/. - Сделайте правку в дочерней теме или в отдельном мини-плагине, а не в родительской теме.
- Очистите кеш сайта, CDN и серверный кеш, если он есть.
- Переобойдите страницу в Search Console и проверьте исходный HTML.
Если у вас стоит Clearfy Pro, часть задач по чистке дублей и технической оптимизации можно закрыть через интерфейс, а не кодом: Clearfy Pro. Но даже в этом случае полезно понимать, что именно он меняет в разметке и какие архивы затрагивает.
Как проверить, что решение сработало
Проверка нужна не только в браузере. Самый частый провал — код добавили, но на сайте остался старый кеш, а поисковик продолжает видеть прежнюю версию страницы.
Мини-чек-лист проверки
- откройте
/page/2/и посмотрите исходный код; - убедитесь, что в
meta robotsестьnoindex, follow; - проверьте, что canonical не сломан и ведет на ожидаемый URL;
- сравните страницу до и после очистки кеша;
- в Search Console отправьте URL на переобход и посмотрите, как робот видит страницу.
Если вы используете серверный кеш или CDN, проверьте заголовки ответа. Иногда страница в браузере уже новая, а CDN отдает старую версию для робота. Это особенно заметно на сайтах с агрессивным кешированием.
Частые ошибки и как их исправить
Закрыли пагинацию в robots.txt
Это плохой вариант для уже известных URL. Если поисковик не может зайти на страницу, он не увидит новый noindex и может держать URL в индексе дольше, чем нужно. Для удаления дублей лучше использовать мета-robots, а не запрет обхода.
Поставили noindex на все архивы подряд
Так часто ломают полезные страницы рубрик, тегов или автора. В результате сайт теряет внутренние точки входа и часть трафика. Сначала определите, какие архивы реально мусорные, а какие работают как посадочные.
Не очистили кеш
После правки код уже может быть правильным, но старый HTML продолжает отдаваться из кеша. Очистите кеш плагина, объектный кеш, серверный кеш и CDN, если он используется.
Смешали noindex и canonical на разные URL
Если canonical указывает на одну страницу, а robots говорит другое, поисковик может выбрать собственную логику. Лучше держать правила согласованными: либо закрываете пагинацию как дубль, либо оставляете ее открытой и следите за качеством шаблона.
Что делать с производительностью и безопасностью
Сама настройка noindex почти не влияет на скорость, но тема часто всплывает вместе с лишними архивами, дублями и тяжелыми шаблонами. Если на сайте много страниц пагинации, проверьте, не генерирует ли тема лишние запросы к базе на каждом архиве. Иногда проблема не в индексации, а в том, что каждая страница списка грузится слишком тяжело.
Для безопасности не редактируйте родительскую тему напрямую. После обновления изменения потеряются, а вы получите повторный всплеск дублей. Мини-плагин или дочерняя тема — нормальный рабочий путь.
Когда лучше не закрывать пагинацию
Если у вас большой каталог материалов, а страница 2 и дальше реально полезна для пользователя, закрытие от индексации может быть лишним. В таком случае лучше улучшить title, убрать дубли description, добавить нормальную навигацию и следить за каноникалами. Иногда поисковику полезнее видеть страницы пагинации, чем получать пустой сигнал о том, что все архивы одинаковые.
Практический критерий простой: если страница пагинации не несет самостоятельной ценности и только размножает один и тот же шаблон, ее можно закрывать. Если же это рабочая часть навигации по контенту, сначала проверьте, не решается ли задача более аккуратной настройкой шаблона и мета-тегов.