Пагинация архивов в WordPress часто выглядит безобидно, но на практике именно она создаёт лишние URL, которые поисковик начинает обходить и хранить в индексе. Это особенно заметно на больших блогах, каталогах записей и сайтах с активными рубриками: страницы вида /category/news/page/2/, /page/3/ и похожие адреса редко дают самостоятельную ценность, но могут размывать сигналы релевантности и тратить краулинговый бюджет.
Задача здесь не в том, чтобы «спрятать всё подряд», а в том, чтобы оставить нормальную навигацию для пользователей и при этом не тащить в индекс технические страницы, которые не должны конкурировать с основной страницей архива.
Когда пагинация архива становится проблемой
Не каждая страница пагинации требует закрытия от индексации. Если на второй и последующих страницах есть уникальные материалы, а архив сам по себе является важной посадочной страницей, иногда лучше оставить их доступными. Но в типовой ситуации пагинация создаёт один из трёх сценариев:
- в индексе появляются десятки почти одинаковых страниц архива;
- поисковик чаще обходит вторые и третьи страницы, чем важные URL;
- в отчётах видны дубли заголовков и сниппетов для страниц
/page/2/,/page/3/и так далее.
Диагностика: что проверить до изменений
Сначала убедитесь, что проблема действительно в пагинации, а не в шаблоне архива или фильтрах. Откройте несколько URL вручную и проверьте:
- есть ли у страниц пагинации одинаковый
<title>и<meta name="description">; - не отдают ли они канонический URL на самих себя или на первую страницу архива;
- не закрыты ли они уже через
noindexв SEO-плагине; - не генерируются ли лишние варианты через параметры в URL.
Если у вас подключён Search Console, посмотрите отчёт по страницам с исключением из индексации и найдите URL с пагинацией. Это даст более точную картину, чем догадки по одному сайту.
Какие есть способы закрыть пагинацию
В WordPress это можно сделать тремя путями: через SEO-плагин, через код в теме или через комбинированный подход. У каждого варианта есть свои ограничения.
| Подход | Плюсы | Минусы | Когда выбирать |
|---|---|---|---|
| SEO-плагин | Быстро, без правки темы | Не всегда даёт точечный контроль | Если нужен простой и безопасный вариант |
| Код в теме или mu-plugin | Точный контроль над архивами и типами страниц | Нужно аккуратно тестировать | Если важна предсказуемость и нет лишней логики в плагинах |
| Комбинированно | Можно закрыть индексацию и настроить каноникал | Легко переборщить и закрыть лишнее | Если сайт большой и есть несколько типов архивов |
Пошаговое решение через код
Если вы хотите управлять логикой сами, удобнее всего добавить правило в 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;
});Этот вариант работает на уровне стандартного фильтра wp_robots, который WordPress использует для формирования директив robots. Он не ломает разметку страницы и не требует прямого вывода мета-тега вручную.
Если нужно закрыть только архивы рубрик, а главную блога оставить как есть, сузьте условие:
<?php
add_filter('wp_robots', function (array $robots) {
if (is_paged() && is_category()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Когда лучше использовать mu-plugin
Если тема может меняться или код нужен независимо от оформления, положите его в wp-content/mu-plugins/. Так правило не потеряется при обновлении темы и не зависит от того, кто редактирует шаблон.
<?php
/**
* Plugin Name: Pagination noindex for archives
*/
add_filter('wp_robots', function (array $robots) {
if (is_paged() && is_archive()) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Как сделать это через SEO-плагин
Если на сайте уже стоит SEO-плагин, не стоит дублировать его логику кодом без необходимости. В большинстве случаев проще настроить индексацию архивов в интерфейсе плагина и оставить код только для нестандартных условий.
Например, в популярных SEO-плагинах можно отдельно управлять индексированием архивов, но точные названия переключателей зависят от версии и конфигурации. Смысл один: проверьте, не включена ли индексация страниц пагинации по умолчанию, и не создаёт ли плагин конфликт с вашим шаблоном.
Если вы используете Clearfy Pro, имеет смысл проверить настройки, связанные с SEO-очисткой и дублями, чтобы не получить два разных источника директив robots для одной и той же страницы. В таких задачах важна не «магия плагина», а отсутствие противоречий между темой, SEO-модулем и кастомным кодом.
Проверка результата после внедрения
После изменения не ограничивайтесь просмотром исходника страницы в браузере. Проверьте результат по цепочке:
- Откройте URL пагинации, например
/category/news/page/2/. - Посмотрите исходный код и найдите
noindexв robots-мета или HTTP-эквиваленте, если он используется. - Убедитесь, что ссылка на следующую страницу архива по-прежнему работает.
- Проверьте, не изменился ли canonical на неправильный адрес.
- После переобхода в Search Console посмотрите, ушла ли страница в исключённые по причине
noindex.
Если хотите быстро проверить HTML, откройте страницу и выполните поиск по исходнику на robots. Для серверной проверки удобно использовать curl:
curl -I https://example.com/category/news/page/2/Этот запрос покажет заголовки ответа. Если вы настраивали не только HTML, но и HTTP-заголовки, это поможет понять, что реально отдаёт сервер.
Частые ошибки и как их исправить
Закрыли от индексации первую страницу архива вместо пагинации
Такое случается, когда условие написано слишком широко, например только через is_archive() без проверки is_paged(). В результате поисковик теряет основную страницу рубрики, а не вторую и последующие. Исправление простое: добавьте проверку is_paged() и протестируйте URL без /page/2/.
Поставили noindex, но canonical остался на неправильный URL
Если canonical указывает на первую страницу архива, а сама страница пагинации при этом должна быть доступна для обхода, это может быть допустимо. Но если canonical случайно указывает на другой раздел или на главную, это уже ошибка шаблона. Проверьте, не переопределяет ли canonical SEO-плагин или тема.
Получили конфликт между плагином и кодом
Когда один инструмент ставит index,follow, а другой — noindex, итог зависит от того, что выводится последним. В такой ситуации лучше оставить один источник истины: либо SEO-плагин, либо код. Два независимых механизма для одной директивы почти всегда создают путаницу.
Закрыли страницы, но не убрали лишние параметры
Иногда проблема не в самой пагинации, а в комбинации с параметрами сортировки, фильтрами или UTM-метками. Тогда в индекс попадают десятки URL с одинаковым контентом. В этом случае одной директивы noindex мало: нужно отдельно разобрать генерацию ссылок и каноникализацию.
Чек-лист перед публикацией изменений
- Проверить, что
noindexстоит только на страницах пагинации. - Убедиться, что первая страница архива остаётся индексируемой.
- Сравнить canonical на первой и последующих страницах.
- Проверить исходный код и HTTP-заголовки.
- Прогнать несколько архивов: рубрики, теги, авторы, поиск.
- После обновления отправить важные URL на переобход в Search Console.
Практические советы по безопасности и производительности
Если вы вносите правки через тему, не редактируйте родительскую тему напрямую. Используйте дочернюю тему или mu-plugin, иначе обновление затрёт изменения. Для сайтов с несколькими разработчиками это особенно важно: правило должно быть в одном месте, а не размазано по шаблонам.
Не пытайтесь решать задачу через массовую генерацию мета-тегов в шаблоне без условий. Лишняя логика в header.php или в тяжёлом плагине может дать побочный эффект на весь сайт. Для такой точечной задачи фильтр wp_robots обычно чище и дешевле по поддержке.
Если на сайте уже много технических дублей, имеет смысл сначала навести порядок в архивных страницах, а потом проверять sitemap, пагинацию и фильтры. В противном случае вы будете лечить один симптом, пока другой продолжает плодить URL.
Когда нужно закрыть от индексации не только пагинацию, но и другие технические страницы, удобнее собрать это в отдельный набор правил и документировать его рядом с кодом. Тогда через полгода не придётся вспоминать, почему именно эти архивы были закрыты, а другие — нет.