Пагинация в WordPress часто создаёт не одну, а сразу несколько SEO-проблем: в индекс попадают страницы /page/2/, /page/3/ и дальше, в выдаче дублируются заголовки и описания, а краулинговый бюджет уходит на малополезные URL. При этом «рубить с плеча» нельзя: если закрыть пагинацию неправильно, можно сломать обход архива, потерять часть внутренних ссылок и ухудшить обнаружение новых материалов.
Ниже — рабочая схема: как диагностировать проблему, какие варианты решения реально применимы в WordPress, что именно править в коде и как проверить результат после внедрения.
Когда пагинация становится SEO-проблемой
Не каждая пагинация требует вмешательства. Если у вас небольшой сайт и страницы архива не индексируются массово, трогать ничего не нужно. Но если в Search Console уже есть десятки URL вида /page/2/, /page/3/, а в индексе они конкурируют с основным архивом, это сигнал.
Типичные симптомы
- в поиске появляются страницы архива с одинаковыми title и description;
- в отчёте по индексированию много URL с параметрами или страницами пагинации;
- бот тратит время на листание архивов вместо важных страниц;
- в логах видно, что пагинация сканируется чаще, чем новые записи;
- в выдаче иногда ранжируется не первая страница архива, а вторая или третья.
Проверить это можно вручную: откройте архив рубрики, автора или блога и посмотрите, есть ли у страниц 2+ уникальная ценность. Если там просто продолжение списка записей без отдельного смысла, чаще всего такие URL не нужны в индексе.
Что именно закрывать: noindex, canonical или robots.txt
Для пагинации в WordPress есть три подхода, и они не равнозначны. Самая частая ошибка — закрыть всё через robots.txt и считать вопрос решённым. Это не так: URL может остаться в индексе как найденный по ссылкам, а поисковик не увидит нормальный сигнал каноничности.
| Подход | Когда использовать | Минус |
|---|---|---|
noindex,follow | Если страницы пагинации не должны ранжироваться, но бот должен ходить по ссылкам | Нужно аккуратно внедрять и проверять мета-тег |
canonical на первую страницу архива | Если хотите явно указать основную страницу серии | Не всегда достаточно без noindex |
robots.txt | Только как дополнительная мера, не как единственная | Не удаляет уже известные URL из индекса |
На практике для большинства архивов лучше сочетать noindex,follow и корректный rel=canonical на первую страницу серии. Это даёт поисковику понятный сигнал: страницу не показывать, но ссылки на ней можно учитывать.
Диагностика: где WordPress уже отдаёт дубли
Сначала нужно понять, откуда именно идут проблемные URL. В WordPress пагинация может появляться в нескольких местах: архивы записей, рубрики, теги, авторы, результаты поиска, кастомные таксономии. Не стоит править только блог, если дубли идут ещё и из тегов.
Что проверить в первую очередь
- архивы рубрик:
/category/.../page/2/; - архивы тегов:
/tag/.../page/2/; - архивы автора:
/author/.../page/2/; - страницы поиска:
/?s=...&paged=2; - кастомные архивы CPT и таксономий.
Если у вас стоит SEO-плагин, сначала проверьте его настройки. Многие плагины уже умеют ставить noindex для архивов, но не всегда делают это для пагинации так, как вам нужно. Иногда проблема не в WordPress, а в конфликте между плагином SEO и темой, которая вручную выводит мета-теги.
Пошаговое решение через код темы
Если нужен контролируемый и предсказуемый вариант, проще всего добавить фильтр в functions.php дочерней темы или в небольшой mu-plugin. Ниже пример, который ставит noindex,follow для страниц пагинации архивов и добавляет canonical на первую страницу.
<?php
add_action('wp_head', function () {
if (is_paged() && (is_archive() || is_home() || is_search())) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1);
add_filter('get_canonical_url', function ($canonical) {
if (is_paged() && (is_archive() || is_home() || is_search())) {
return get_pagenum_link(1, false);
}
return $canonical;
});Этот вариант рабочий, но его нужно применять осознанно. Если у вас SEO-плагин уже выводит robots-мета, не дублируйте тег вручную. В таком случае лучше использовать настройки плагина или его фильтры, иначе получите два conflicting meta robots в <head>.
Если нужен более точный контроль по типам архивов
Иногда закрывать надо не всё подряд, а только теги и автора, оставив рубрики открытыми. Тогда логика должна быть уже по условиям:
<?php
add_action('wp_head', function () {
if (is_paged() && (is_tag() || is_author() || is_search())) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1);
add_filter('get_canonical_url', function ($canonical) {
if (is_paged() && (is_tag() || is_author() || is_search())) {
return get_pagenum_link(1, false);
}
return $canonical;
});Такой подход полезен, если рубрики у вас реально используются как посадочные страницы, а теги — просто служебная таксономия. Это частая ситуация на контентных сайтах.
Плагин или код: что выбрать на практике
Если задача типовая и у вас уже есть SEO-плагин, сначала проверьте его настройки. Код нужен тогда, когда стандартных переключателей не хватает или когда нужно поведение только для части архивов.
- Плагин — быстрее, меньше риска сломать шаблон, но меньше гибкости.
- Код — точнее, но требует аккуратного теста после обновлений темы и плагинов.
- Компромисс — использовать SEO-плагин для базового
noindex, а кодом добить исключения по отдельным типам архивов.
Если вы используете Clearfy Pro, имеет смысл сначала посмотреть, не закрывает ли он архивы и дубли уже на уровне настроек. Это удобнее, чем дублировать логику в теме, особенно если проект поддерживает несколько разработчиков. Подробности есть на странице плагина: Clearfy Pro.
Проверка результата после внедрения
После правки не ограничивайтесь открытием главной страницы. Нужно проверить именно те URL, которые раньше создавали дубли.
Чек-лист проверки
- откройте
/page/2/у рубрики, тега или архива записи; - убедитесь, что в
<head>естьnoindex,followтолько там, где это нужно; - проверьте canonical: он должен вести на первую страницу серии;
- посмотрите исходный код, нет ли второго meta robots от SEO-плагина;
- прогоните URL через проверку страницы в Google Search Console;
- сравните статус индексации через несколько дней, а не сразу после публикации правки.
Для быстрой локальной проверки можно открыть исходник страницы и найти строки robots и canonical. Если canonical указывает на саму страницу /page/2/, значит фильтр не сработал или его перезаписывает другой плагин.
Частые ошибки и почему они возникают
Закрыли пагинацию в robots.txt
Это самая распространённая ошибка. URL может остаться в индексе, потому что поисковик уже знает о нём из внутренних ссылок или внешних упоминаний. Для удаления из индекса нужен явный сигнал noindex или корректная обработка каноникализации.
Добавили два meta robots одновременно
Так бывает, когда SEO-плагин уже выводит свой тег, а разработчик добавляет второй вручную в тему. В результате поисковик получает конфликтующие инструкции. Решение простое: оставьте один источник правды — либо плагин, либо код.
Поставили canonical на главную сайта вместо первой страницы архива
Это логическая ошибка. Для пагинации архива canonical должен вести на первую страницу этой же серии, а не на домашнюю страницу. Иначе вы смешиваете разные сущности и ухудшаете понимание структуры сайта.
Закрыли всё подряд без анализа
Если у вас есть посадочные рубрики, которые реально собирают трафик, их нельзя бездумно переводить в noindex. Сначала посмотрите, какие архивы полезны пользователю и поиску, а какие просто дублируют список материалов.
Когда лучше не трогать пагинацию кодом
Если сайт поддерживается редакцией без разработчика, а SEO-плагин уже умеет закрывать архивы и пагинацию, безопаснее использовать его настройки. Код в теме хорош для точечной логики, но он требует сопровождения. После смены темы, обновления шаблона или переезда на другой SEO-плагин ручные правки легко потерять.
Для проектов, где важна не только индексация, но и чистка дублей в целом, полезно держать под контролем ещё и служебные страницы, архивы авторов, теги и вложения. Именно там чаще всего появляются лишние URL, которые потом приходится вычищать постфактум.
Если нужен более широкий набор инструментов для технической чистки WordPress, можно посмотреть и на связку настроек SEO, удаления дублей и отключения лишнего мусора в интерфейсе. Но в любом случае сначала стоит понять, какие URL реально мешают, а какие просто существуют и не требуют вмешательства.