Пагинация в WordPress часто создаёт не одну проблему, а сразу три: в индексе появляются страницы с почти одинаковым контентом, поисковик тратит краулинговый бюджет на второстепенные URL, а в отчётах Search Console всплывают дубли и страницы с низкой ценностью. При этом полностью отключать пагинацию нельзя: она нужна и пользователям, и роботам для обхода архива.
Нормальная задача здесь не «убрать пагинацию», а заставить поисковики не индексировать страницы 2, 3, 4…, сохранив доступность этих URL для переходов и обхода сайта.
Когда это действительно проблема
Сначала стоит убедиться, что речь именно о дублях от пагинации, а не о другой технической ошибке. Типичный сценарий: у рубрик, тегов, авторских архивов или страницы блога есть URL вида /category/news/page/2/, /blog/page/3/, а в индексе они конкурируют с основной страницей архива.
Что смотреть в первую очередь
- в Search Console — отчёты по страницам, исключённым из индекса, и дублированным URL;
- в выдаче — индексируются ли страницы пагинации отдельно от первой страницы;
- в HTML — есть ли на страницах пагинации
noindexили каноникал на первую страницу; - в логах сервера — не ходит ли бот слишком часто по архивам с пагинацией.
Если у вас в архиве на второй странице почти тот же набор карточек, что и на первой, это нормальная техническая особенность WordPress. Проблема начинается, когда такие страницы начинают собирать трафик, попадать в индекс и размывать сигналы основной страницы архива.
Какой вариант решения выбрать
Есть три рабочих подхода: через SEO-плагин, через код темы или через комбинацию из каноникала и noindex. Для большинства сайтов достаточно первого или второго варианта. Ниже — короткое сравнение.
| Подход | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
| SEO-плагин | Если уже стоит Yoast, Rank Math или Clearfy Pro | Быстро, без правки темы | Зависит от настроек плагина |
| Код в теме | Если нужен точечный контроль | Не тянет лишние зависимости | Нужно аккуратно тестировать после обновлений |
| Только canonical | Если не хотите закрывать страницы полностью | Мягкий сигнал для робота | Не всегда достаточно, если дубли уже в индексе |
Пошаговое решение через код
Если нужен предсказуемый результат без зависимости от настроек плагина, проще всего добавить noindex,follow для страниц пагинации архивов. Это не запрещает роботам переходить по ссылкам, но даёт понятный сигнал не включать такие страницы в индекс.
Добавлять код лучше в functions.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;
} );Этот вариант работает на уровне стандартного API WordPress и не требует сторонних функций. Он добавит корректный robots meta на страницы пагинации главной, архивов и поиска.
Если нужно закрыть только архивы рубрик и тегов
Иногда поисковику полезно оставить страницы пагинации главной записи блога, но закрыть только таксономии. Тогда условие можно сузить:
add_filter( 'wp_robots', function( array $robots ) {
if ( is_paged() && ( is_category() || is_tag() || is_tax() ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Такой подход полезен, если у вас крупный контентный сайт, где рубрики и теги создают много слабых дублей, а главная страница блога должна оставаться в индексе.
Как сделать это через SEO-плагин
Если на сайте уже используется SEO-плагин, часто проще включить настройку там, чем вносить код. Важно не дублировать логику: если плагин уже ставит noindex на архивы пагинации, дополнительный код может запутать диагностику.
В Clearfy Pro есть инструменты для SEO-чистки и удаления дублей, поэтому его удобно использовать на сайтах, где нужно централизованно управлять техническими мета-тегами. Если вы уже ведёте сайт через такой набор, проверьте, не включена ли отдельная опция для закрытия архивов и пагинации от индексации. Подробности по продукту можно посмотреть на странице Clearfy Pro.
Но даже при использовании плагина полезно понимать, что именно он меняет: robots meta, canonical, sitemap или всё сразу. Иначе легко получить ситуацию, когда страница закрыта от индексации, но продолжает попадать в карту сайта.
Что проверить после внедрения
После правки не ограничивайтесь просмотром исходника одной страницы. Нужно проверить цепочку целиком: HTML, HTTP-ответ, sitemap и поведение робота.
- Откройте страницу пагинации, например
/page/2/, и проверьте наличие<meta name="robots" content="noindex,follow">или эквивалентного тега. - Убедитесь, что первая страница архива не получила
noindexслучайно. - Проверьте, что страницы пагинации не исчезли из навигации и по ним можно перейти вручную.
- Посмотрите, не попали ли эти URL в XML-карту сайта.
- Через несколько дней проверьте в Search Console, уменьшается ли число дублей и исключённых страниц.
Быстрая техническая проверка через консоль браузера или curl тоже помогает. Например:
curl -I https://example.com/category/news/page/2/Если вы используете серверный кеш, убедитесь, что он не отдаёт старую версию HTML без нового robots meta. Это частая причина, когда на локальной проверке всё уже исправлено, а в продакшене бот видит старый код.
Частые ошибки и как их исправить
Закрыли не только пагинацию, но и первую страницу архива
Это происходит, когда в условии используют слишком общий is_archive() без проверки is_paged(). В итоге первая страница рубрики тоже получает noindex. Исправление простое: всегда добавляйте проверку на пагинацию.
Поставили noindex, но оставили URL в sitemap
Поисковик получает противоречивые сигналы: в карте сайта URL есть, а в HTML он закрыт от индексации. Это не критическая ошибка, но лишний шум. Если плагин умеет исключать пагинацию из sitemap, лучше сделать это.
Использовали canonical на первую страницу вместо noindex
Canonical — это рекомендация, а не запрет. Для некоторых сайтов этого достаточно, но если дубли уже массово индексируются, одного canonical может не хватить. В таких случаях лучше сочетать canonical и noindex,follow, либо хотя бы проверить результат в Search Console.
Сломали пагинацию CSS- или JS-правками
Иногда после «оптимизации» скрывают ссылки на страницы 2+ или подменяют их JS. Это ухудшает обход сайта и может мешать роботам дойти до старых материалов. Закрывать от индексации нужно именно мета-тегом или заголовком, а не ломать навигацию.
Практические советы по безопасности и производительности
Если сайт большой, не стоит делать тяжёлые проверки на каждом запросе в лоб. Условие is_paged() и проверки архивов дешёвые, их можно использовать без опасений. Но не добавляйте в этот фильтр запросы к базе или внешним API.
Если правите тему, делайте это в дочерней теме или отдельном мини-плагине. Так обновление темы не затрёт изменения. Для сайтов с несколькими редакторами полезно зафиксировать правило: любые изменения robots/canonical/sitemap сначала тестируются на staging-копии.
Если у вас уже накопились дубли, не ждите мгновенного исчезновения из индекса. После исправления поисковику нужно время, чтобы переобойти страницы и обновить сигнал. В этот период важно не менять логику ещё раз, иначе диагностика станет только сложнее.
Короткий чек-лист перед публикацией
- Проверить, какие именно архивы и пагинация создают дубли.
- Выбрать один источник правды: код или SEO-плагин.
- Добавить
noindex,followтолько на страницы 2+. - Убедиться, что первая страница архива осталась индексируемой.
- Проверить sitemap и кеш.
- Сравнить исходный HTML до и после правки.
Если вам нужно не только закрыть дубли, но и навести порядок в технических сигналах сайта, имеет смысл смотреть на задачу шире: пагинация, архивы, лишние мета-теги, дубли страниц автора и тегов обычно идут пакетом. Именно поэтому такие правки лучше делать не точечно «по одной ошибке», а как часть общей SEO-чистки сайта.