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