Страницы пагинации архивов и рубрик часто попадают в индекс без пользы: у них слабый уникальный контент, они дублируют структуру списка записей и могут размывать сигналы релевантности. Типичный пример — /category/news/page/2/, /tag/seo/page/3/, /page/4/ на главной блога. Если задача не в том, чтобы продвигать именно эти страницы, их обычно закрывают от индексации и оставляют доступными для обхода роботами.
Когда это действительно нужно
Не стоит закрывать пагинацию «на всякий случай». Для некоторых сайтов страницы 2+ помогают поисковику добраться до старых материалов и не создают проблем. Но если у вас новостной сайт, блог с большим архивом или каталог статей, где пагинация не несёт самостоятельной ценности, индексация таких URL часто только засоряет выдачу.
Сценарии, где решение обычно оправдано
- на страницах пагинации почти нет уникального текста;
- в индекс попадают десятки или сотни URL вида
/page/2/,/page/3/; - в Search Console видны дубли или «Просканировано — сейчас не проиндексировано» для архивных страниц;
- нужно сократить индексный шум после миграции или редизайна;
- архивы и рубрики уже продвигаются по первой странице, а остальные страницы не нужны в поиске.
Диагностика: как понять, что проблема именно в пагинации
Сначала проверьте, какие URL реально индексируются. Не ориентируйтесь только на CMS или SEO-плагин — важен фактический результат в поиске и ответ сервера.
Что смотреть в первую очередь
- отчёт «Страницы» в Google Search Console;
- поиск по сайту через
site:example.com/page/2и похожие запросы; - исходный код страниц пагинации: есть ли
noindexили canonical; - ответ сервера на URL пагинации — не ломается ли он редиректами или 404;
- логи обхода, если они доступны через хостинг или CDN.
Если страница пагинации уже закрыта через noindex, но всё равно появляется в индексе, обычно проблема в том, что робот ещё не переобходил URL или на странице есть конфликтующие сигналы: canonical указывает на саму себя, а robots meta отсутствует, либо наоборот.
Что выбрать: плагин, код или настройку темы
Если у вас уже стоит SEO-плагин, проще всего использовать его настройки. Но если нужен точечный контроль только над пагинацией, код даёт больше предсказуемости и не зависит от интерфейса плагина.
| Подход | Плюсы | Минусы |
|---|---|---|
| SEO-плагин | быстро, без кода, удобно для редактора | не всегда гибко для отдельных типов архивов |
| Код в теме или мини-плагине | точный контроль, легко проверить в исходнике | нужна аккуратность при обновлениях |
| Правка шаблонов темы | можно учесть логику конкретного дизайна | риск сломать шаблон и сложнее сопровождать |
Если задача типовая, я бы не лез в шаблоны. Для большинства проектов достаточно либо настроек SEO-плагина, либо небольшого сниппета в мини-плагине.
Пошаговое решение через код
Ниже — рабочий вариант, который добавляет noindex, follow только на страницы пагинации архивов, рубрик, меток и главной ленты, если это нужно. Код лучше разместить в мини-плагине или в functions.php дочерней темы.
<?php
add_action('wp_head', function () {
if (is_paged() && (is_home() || is_archive())) {
echo '<meta name="robots" content="noindex, follow" />' . "\n";
}
}, 1);
Этот вариант простой, но его лучше использовать только если у вас нет SEO-плагина, который уже управляет robots meta. Иначе можно получить два тега robots в исходнике.
Более аккуратный вариант для Yoast SEO или Rank Math
Если SEO-плагин уже подключён, лучше не печатать мета-тег вручную, а использовать фильтр, который меняет значение для пагинированных архивов. Для Yoast SEO подойдёт такой подход:
<?php
add_filter('wpseo_robots', function ($robots) {
if (is_paged() && (is_home() || is_archive())) {
return 'noindex,follow';
}
return $robots;
});
У Rank Math логика похожая, но фильтры другие. Если у вас уже стоит этот плагин, не смешивайте два разных способа одновременно: либо настройка плагина, либо его фильтр, либо ручной wp_head.
Как закрыть только часть архивов, а не всё подряд
На практике не всегда нужно закрывать все архивы. Иногда имеет смысл оставить индексируемыми рубрики с сильным контентом, а закрыть только метки, результаты поиска и пагинацию. Тогда логика должна быть более точной.
<?php
add_action('wp_head', function () {
if (is_paged() && (is_tag() || is_search())) {
echo '<meta name="robots" content="noindex, follow" />' . "\n";
}
}, 1);
Такой вариант полезен, если рубрики у вас реально работают как посадочные страницы, а метки и поиск только создают мусорные URL. Но перед внедрением проверьте, не генерирует ли тема отдельный canonical или robots meta для этих страниц.
Проверка результата после внедрения
После изменения не ограничивайтесь просмотром страницы в браузере. Нужно проверить исходный код, ответ сервера и фактическую реакцию поисковика.
Чек-лист проверки
- откройте URL пагинации, например
/category/news/page/2/; - посмотрите исходный код страницы и найдите
meta name="robots"; - убедитесь, что там есть
noindex, follow, а неindex; - проверьте, что canonical не указывает на случайный URL;
- в Search Console отправьте страницу на повторную проверку, если она уже была в индексе;
- через несколько дней проверьте, исчез ли URL из отчётов по индексированию.
Если страница всё ещё индексируется, это не всегда ошибка кода. Поисковик может держать URL в индексе до следующего обхода. Важно, чтобы сигнал был стабильным и не менялся от запроса к запросу.
Частые ошибки и как их исправить
Два robots-тега в исходнике
Это случается, когда ручной код добавляет noindex, а SEO-плагин уже выводит свой robots. В результате поисковик видит конфликтующие сигналы. Решение простое: оставьте только один источник управления robots meta.
Закрыли пагинацию, но сломали навигацию
noindex не должен мешать переходам по страницам. Если после правок исчезли ссылки «Следующая» и «Предыдущая», проблема не в индексации, а в шаблоне или CSS. Проверьте, не изменили ли вы условия вывода пагинации в теме.
Поставили noindex на всё подряд
Иногда в коде пишут слишком широкое условие, и под раздачу попадают обычные архивы, главная страница или даже отдельные записи. Используйте is_paged() вместе с is_home() или is_archive(), а не просто глобальный фильтр без условий.
Ожидали мгновенного удаления из индекса
Даже корректный noindex не удаляет URL мгновенно. Поисковику нужно переобойти страницу. Если хотите ускорить процесс, отправьте URL на проверку вручную и убедитесь, что страница отдаёт 200 OK, а не редирект на другую пагинацию.
Безопасность и производительность
Сам по себе noindex почти не влияет на скорость сайта, но способ внедрения влияет. Если вы добавляете код в functions.php, делайте это в дочерней теме или мини-плагине, чтобы не потерять правки после обновления. Перед изменениями полезно иметь резервную копию и доступ к FTP или файловому менеджеру хостинга.
Если на сайте много архивов и фильтров, не плодите несколько решений одновременно. Один лишний SEO-плагин, ручной сниппет и правка шаблона в сумме дают больше шансов на конфликт, чем пользы. Для технически сложных проектов проще держать логику индексации в одном месте.
Если нужен более широкий контроль над дублями, архивами и служебными страницами, иногда удобнее использовать набор настроек в плагине вроде Clearfy Pro, но только если он уже вписывается в ваш стек и вы понимаете, какие именно мета-теги он меняет. В любом случае проверяйте итоговый HTML, а не только галочки в админке.
Что делать, если пагинация нужна для обхода, но не для индекса
Это нормальный сценарий. Робот должен проходить по страницам списка, чтобы находить старые записи, но сами URL пагинации не обязаны жить в поиске. Именно поэтому чаще используют noindex, follow, а не блокировку в robots.txt. Если закрыть URL в robots.txt, поисковик может не увидеть мета-тег и не обработать страницу так, как вы ожидаете.
Для большинства сайтов это и есть рабочий компромисс: страницы доступны, ссылки работают, контент обходится, но индекс не засоряется служебными URL. Главное — не смешивать разные механики без необходимости и проверять результат на реальном URL, а не только в настройках плагина.