Пагинация в WordPress часто становится источником лишних URL: страницы рубрик, архивов и поисковой выдачи внутри сайта получают собственные адреса, но не несут самостоятельной ценности для поиска. Проблема не в самой пагинации, а в том, что поисковик тратит время на обход страниц, где повторяется один и тот же шаблон контента, заголовков и блоков.
Если у вас уже есть статьи в индексе, а в Search Console появляются URL вида /category/page/2/, /tag/page/3/ или /page/4/, имеет смысл сначала проверить, действительно ли эти страницы нужны в поиске. Для большинства контентных сайтов ответ один: нет, но ссылки на них должны продолжать работать для пользователя и для обхода роботом.
Когда пагинацию стоит закрывать от индексации
Речь не о том, чтобы удалить страницы. Их нужно оставить доступными, но убрать из индекса. Это нормальный сценарий для:
- архивов рубрик и меток с большим количеством страниц;
- страниц блога, где контент идёт лентой;
- страниц поиска по сайту, если они индексируются;
- архивов автора, даты и таксономий, которые не дают уникального ответа на запрос.
Если на второй и следующих страницах есть уникальные материалы, которые сами по себе могут ранжироваться, решение нужно принимать отдельно. Но в типовой редакционной структуре такие страницы почти всегда дублируют первый экран архива.
Диагностика проблемы: что проверить до правки
Перед изменением мета-тегов полезно понять, где именно возникает лишняя индексация. Я обычно проверяю три вещи: как WordPress формирует пагинацию, какие URL уже попали в индекс и не конфликтует ли настройка с SEO-плагином.
Какие URL реально индексируются
Откройте Search Console и посмотрите отчёт по индексированию страниц. Если там есть массовые URL с /page/2/, /page/3/ и похожими хвостами, это уже сигнал. Дополнительно можно проверить вручную через поиск по сайту в Google с оператором site:, но Search Console надёжнее: там видно, что именно робот нашёл и как обработал.
Есть ли уже canonical и noindex
Если на страницах пагинации уже стоит noindex, но они всё равно попадают в индекс, проверьте, не отдаёт ли тема или плагин конфликтующие теги. Иногда на странице одновременно присутствуют разные canonical, а в HTML можно найти несколько блоков, которые меняют поведение робота. Это особенно часто случается после установки нескольких SEO-плагинов сразу.
Не ломает ли тема навигацию
Пагинация должна оставаться рабочей для пользователя. Если после правки ссылки rel="next" и rel="prev" исчезнут, это не критично для большинства сайтов, но сами ссылки на страницы архива должны продолжать вести на нужные URL. Проверяйте не только исходный HTML, но и реальное поведение на фронтенде.
Какой способ выбрать: плагин, код или настройка темы
Если у вас уже стоит SEO-плагин, проще всего использовать его настройки. Если нужен точечный контроль без лишнего интерфейса, лучше добавить фильтр в тему или мини-плагин. Ниже — короткое сравнение.
| Подход | Плюсы | Минусы | Когда использовать |
|---|---|---|---|
| SEO-плагин | Быстро, без кода | Зависит от конкретного плагина и его настроек | Если SEO уже ведёте через плагин |
| Код в теме | Точно и прозрачно | Нужно аккуратно обновлять тему | Если нужен контроль без лишних зависимостей |
| Мини-плагин | Не зависит от темы | Нужно один раз создать файл плагина | Если правка должна пережить смену темы |
Пошаговое решение через код
Самый предсказуемый вариант — добавить noindex,follow только на страницы пагинации архивов. Это не трогает обычные записи и страницы, но закрывает вторые и последующие страницы лент.
Ниже пример для functions.php дочерней темы или для собственного мини-плагина:
<?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;
} );Что делает этот код:
is_paged()проверяет, что это не первая страница архива;is_home(),is_archive()иis_search()ограничивают правило только лентами и архивами;wp_robotsдобавляет корректный robots meta без ручной правки шаблона.
Если нужно закрыть только рубрики и метки, а главную ленту оставить открытой, сузьте условие:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_paged() && ( is_category() || is_tag() ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Если используется SEO-плагин
В Yoast SEO, Rank Math и похожих решениях обычно есть настройка индексации архивов и пагинации. Но логика у них разная, поэтому сначала проверьте итоговый HTML страницы. Важно не просто включить опцию, а убедиться, что на странице действительно появился один корректный meta robots, а не конфликт из нескольких источников.
Если плагин уже управляет robots meta, не добавляйте второй независимый фильтр без проверки. Иначе можно получить ситуацию, когда один код ставит index, а другой — noindex. В результате поведение будет зависеть от порядка загрузки.
Как проверить, что решение сработало
После внедрения откройте несколько страниц пагинации вручную и посмотрите исходный код. На нужных URL должен появиться meta robots с noindex. Проверять лучше именно исходник страницы, а не визуальный просмотр в браузере.
- Откройте
/category/page/2/или аналогичный URL. - Найдите в HTML строку с
meta name="robots". - Убедитесь, что там есть
noindexи нет конфликтующегоindex. - Проверьте, что ссылки пагинации кликаются и ведут на существующие страницы.
- Через несколько дней посмотрите отчёт Search Console по исключённым URL.
Если у вас есть доступ к командной строке, можно быстро проверить заголовки и HTML через curl:
curl -s https://example.com/category/page/2/ | grep -i robotsКоманда не заменяет полноценную проверку, но помогает быстро понять, отдал ли сайт нужный meta-тег.
Частые ошибки и как их исправить
Закрыли первую страницу архива вместо пагинации
Это происходит, когда условие написано только через is_archive() без is_paged(). В итоге поисковик теряет основную страницу рубрики, хотя именно она должна оставаться в индексе. Исправление простое: добавьте проверку на номер страницы.
Поставили noindex, но оставили конфликтующий canonical
Если canonical ведёт на другую страницу или на главную, робот может интерпретировать сигнал не так, как вы ожидаете. Для пагинации canonical обычно должен указывать на саму страницу, если вы не меняете логику темы или SEO-плагина. Проверяйте итоговый HTML целиком.
Сломали пагинацию в шаблоне
Иногда после правок в теме исчезают ссылки на страницы архива или меняется структура URL. Это уже не вопрос индексации, а вопрос шаблона. Сначала верните рабочую навигацию, потом настраивайте robots meta.
Использовали noindex для всего сайта
Такое случается при копировании готовых сниппетов без проверки условий. Перед публикацией кода всегда тестируйте его на staging-версии или хотя бы на локальной копии. Для WordPress это особенно важно, потому что фильтры часто срабатывают глобально.
Что ещё стоит сделать для чистоты индекса
Если проблема с пагинацией уже проявилась, одного noindex может быть мало. Полезно дополнительно проверить:
- не индексируются ли внутренние страницы поиска;
- нет ли дублей рубрик и меток с одинаковым контентом;
- не создаёт ли тема отдельные архивы для одного и того же набора записей;
- не генерируются ли лишние URL через параметры сортировки или фильтрации.
Если нужен более широкий контроль над дублями и служебными страницами, имеет смысл смотреть в сторону инструментов вроде Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже в этом случае сначала проверьте, какие именно URL вы хотите закрыть, а не отключайте всё подряд.
В рабочем проекте я бы шёл так: сначала диагностика в Search Console, потом точечный noindex на пагинацию, затем проверка HTML и только после этого — мониторинг переобхода. Это быстрее и безопаснее, чем пытаться лечить индексацию на уровне всей темы или массово закрывать архивы без разбора.