Пагинация сама по себе не проблема. Проблема начинается, когда поисковик тратит обход на страницы вида /page/2/, /page/3/ и дальше, а в индексе появляются слабые или дублирующие страницы архивов. На небольших сайтах это часто незаметно, но на проектах с большим числом записей и таксономий пагинация быстро разрастается в отдельный слой URL, который нужно контролировать.
Ниже — рабочая схема: как понять, что именно у вас индексируется, чем закрывать пагинацию от индексации, как не сломать навигацию и что проверить после внедрения.
Когда пагинацию действительно стоит закрывать
Не каждый архив нужно прятать от поисковиков. Если у страницы архива есть самостоятельная ценность, а контент на второй и следующих страницах регулярно обновляется, иногда лучше оставить всё как есть и ограничиться корректным canonical. Но если в индексе уже есть мусорные страницы архивов, а основная задача — продвигать первую страницу категории, пагинацию обычно закрывают.
Типичные сценарии
- архивы категорий и тегов индексируются с десятками страниц, но трафик нужен только на первую;
- на сайте много коротких записей, и в выдачу попадают почти пустые страницы пагинации;
- в Search Console растёт число обнаруженных URL без роста полезного трафика;
- на сайте есть дубли архивов с параметрами сортировки, которые ведут на ту же выдачу.
Диагностика: что именно индексируется
Сначала проверьте, какие URL уже попали в индекс и как они выглядят в HTML. Не полагайтесь только на визуальную проверку в браузере: поисковик видит исходный код, а не то, что вы кликаете руками.
Что смотреть в первую очередь
- отчёт по индексированию в Google Search Console;
- страницы архивов с пагинацией в
site:-поиске; - наличие
rel="canonical"на страницах/page/2/и дальше; - мета-тег
robotsи HTTP-заголовки, если они задаются сервером или плагином.
Если у вас есть доступ к командной строке, быстро проверить заголовки можно так:
curl -I https://example.com/category/news/page/2/Ищите в ответе X-Robots-Tag, если он используется, и убедитесь, что страница не отдаёт неожиданные редиректы. Для HTML-проверки удобнее открыть исходник и найти блок <head>.
Какой способ выбрать: плагин, код или сервер
Есть три нормальных пути. Выбор зависит от того, где у вас уже управляется SEO-логика.
| Подход | Когда подходит | Плюс | Минус |
|---|---|---|---|
| SEO-плагин | Если мета-теги уже ведутся в одном месте | Быстро и без кода | Зависимость от настроек и интерфейса |
| Код в теме или мини-плагине | Если нужен точечный контроль | Прозрачно и предсказуемо | Нужно следить за обновлениями |
X-Robots-Tag на сервере | Если нужно закрывать не только HTML, но и отдельные типы ответов | Работает на уровне ответа | Сложнее тестировать и поддерживать |
Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Если нет — проще и надёжнее закрыть пагинацию кодом, чтобы не зависеть от лишней логики в админке.
Пошаговое решение через код
Самый практичный вариант — добавить noindex,follow только для страниц пагинации архивов. Так поисковик не будет индексировать вторую и последующие страницы, но сможет переходить по ссылкам дальше по сайту.
Код лучше положить в мини-плагин или в functions.php дочерней темы. Для продакшена мини-плагин надёжнее: при смене темы правило не пропадёт.
<?php
add_action( 'wp_head', function () {
if ( is_paged() && ( is_home() || is_archive() || is_search() ) ) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1 );Этот вариант закрывает от индексации:
- главную ленту, если она разбита на страницы;
- архивы категорий, тегов и таксономий;
- страницы поиска, если они тоже пагинируются.
Если нужно исключить именно поиск, а пагинацию архивов оставить открытой, условие можно сузить. Например, убрать is_search() и оставить только архивы.
Если у вас уже есть SEO-плагин
Не дублируйте правила в двух местах. Частая ошибка — плагин уже ставит noindex, а в теме добавляют ещё один мета-тег. В итоге в коде появляются конфликтующие директивы, и отладка превращается в угадывание.
Проверьте настройки плагина в разделах, связанных с архивами, индексированием и мета-тегами. Если плагин умеет закрывать пагинацию штатно, используйте его. Если нет — оставьте кодовый вариант и отключите лишнюю логику в плагине, если она мешает.
Как закрыть пагинацию через X-Robots-Tag
Иногда удобнее отдавать директиву не в HTML, а заголовком ответа. Это полезно, если нужно управлять индексированием на уровне сервера или если HTML генерируется разными шаблонами, а правило должно быть единым.
<IfModule mod_headers.c>
<FilesMatch "page/[0-9]+/?$">
Header set X-Robots-Tag "noindex, follow"
</FilesMatch>
</IfModule>Но с этим способом есть нюанс: FilesMatch работает не так гибко, как PHP-условия WordPress, и на разных конфигурациях Apache может потребоваться другая схема. Если вы не уверены в настройке сервера, безопаснее использовать PHP-решение внутри WordPress.
Проверка результата после внедрения
После изменения не ограничивайтесь просмотром страницы в браузере. Проверьте именно то, что увидит робот.
- Откройте исходный код страницы
/page/2/и найдите<meta name="robots" content="noindex,follow" />. - Проверьте, что на первой странице архива этого тега нет, если вы не планировали закрывать её тоже.
- Убедитесь, что пагинация по-прежнему кликается и ведёт на следующие страницы.
- Посмотрите заголовки ответа через
curl -I, если используетеX-Robots-Tag. - В Search Console запросите повторную проверку URL, если страница уже была просканирована.
Если хотите быстро проверить HTML без браузерных расширений, можно использовать:
curl -s https://example.com/category/news/page/2/ | grep -i robotsКоманда покажет, есть ли в коде нужная директива. На Windows без grep можно открыть исходник вручную или использовать аналогичный инструмент в терминале.
Частые ошибки и как их исправить
Закрыли не только пагинацию, но и первую страницу
Это случается, когда условие написано слишком широко, например без проверки is_paged(). В результате noindex появляется на всех страницах архива. Исправление простое: ограничьте правило только страницами, где номер больше первого.
Поставили noindex, но оставили конфликтующий canonical
Если canonical указывает не на первую страницу архива, а на другой URL, поисковик получает смешанный сигнал. Проверьте, что canonical на страницах пагинации ведёт на саму страницу или на первую страницу архива — в зависимости от вашей SEO-логики и настроек плагина.
Дублируете правило в теме, плагине и на сервере
В таком случае отладка становится бессмысленной: вы не понимаете, какой слой реально отдаёт директиву. Оставьте один источник правды. Для большинства проектов это либо SEO-плагин, либо мини-плагин с кодом.
Проверяете только визуально, без исходника
Многие темы и билдеры подгружают мета-теги не так, как ожидается. Всегда смотрите исходный HTML и заголовки ответа. Иначе можно долго считать, что правило работает, хотя робот видит совсем другое.
Что ещё стоит учесть для безопасности и производительности
Само закрытие пагинации не ускоряет сайт напрямую, но помогает сократить лишний индексируемый шум. Это полезно, если вы параллельно чистите архивы, убираете дубли и приводите canonical к одной логике.
Если на сайте много архивов и фильтров, полезно держать SEO-правила в одном месте. Для этого удобно использовать один плагин или отдельный мини-плагин, а не размазывать логику по шаблонам. На проектах, где уже используется набор инструментов для чистки дублей и мета-логики, можно посмотреть в сторону Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но это не обязательное условие — кодовое решение тоже нормально работает, если его поддерживать аккуратно.
Главное правило здесь простое: не закрывайте от индексации всё подряд. Сначала проверьте, какие URL реально создают дубли и куда ведут поисковый трафик, а потом уже режьте пагинацию точечно.