Пагинация в WordPress часто создаёт не одну, а сразу несколько SEO-проблем: в индекс попадают страницы архивов с одинаковыми заголовками, поисковик начинает тратить обход на малоценные URL, а в отчётах появляются дубли мета-данных. Обычно это всплывает после включения SEO-плагина, смены темы или установки фильтров, которые добавляют параметры к URL.
Ниже разберём рабочую схему: что именно закрывать от индексации, что оставлять доступным для обхода и как проверить, что решение не сломало архивы и каноникал.
Когда пагинация становится проблемой
Сама по себе пагинация не вредна. Проблема начинается, когда у сайта есть архивы с тонким контентом: рубрики, теги, авторы, даты, страницы блога. Тогда /category/news/page/2/ и похожие URL часто выглядят для поисковика как почти одинаковые страницы с теми же шаблонами, только другим набором записей.
Типичные признаки:
- в индексе много страниц вида
/page/2/,/page/3/и дальше; - в Search Console растёт число обнаруженных, но не проиндексированных URL;
- в сниппетах всплывают не те страницы архива, которые вы хотели бы видеть;
- на сайте есть фильтры, сортировки или UTM-параметры, которые создают ещё больше дублей.
Что нужно закрывать, а что нет
Не стоит бездумно закрывать всё подряд в robots.txt. Если поисковик не может обойти страницу, он не увидит canonical, noindex и внутренние ссылки на ней. Для пагинации чаще нужен другой подход: оставить обход, но убрать страницу из индекса там, где она не несёт самостоятельной ценности.
| Подход | Когда уместен | Минус |
|---|---|---|
noindex,follow | для архивов, которые не должны ранжироваться отдельно | нужно убедиться, что мета-тег реально выводится |
canonical на первую страницу архива | когда страницы пагинации дублируют основной список | не всегда подходит для больших архивов с уникальным контентом |
запрет в robots.txt | для технических URL и мусорных параметров | можно скрыть проблему, но не решить её |
Диагностика: где именно у вас дубли
Сначала нужно понять, что именно индексируется. Не полагайтесь только на визуальный осмотр сайта: пагинация может выглядеть нормально в браузере, но отдавать поисковику лишние сигналы.
Проверьте:
- архивы рубрик и тегов;
- страницы блога с пагинацией;
- страницы автора, если они открыты;
- URL с параметрами сортировки, фильтрации и UTM;
- страницы поиска по сайту, если они доступны для индексации.
Быстрая проверка через консоль поможет увидеть, какие мета-теги реально отдаются сервером:
curl -I https://example.com/category/news/page/2/Если нужен именно HTML-ответ, а не только заголовки, смотрите исходник страницы и ищите meta name="robots" и link rel="canonical". Важно проверить не главную страницу архива, а несколько страниц пагинации подряд.
Пошаговое решение без лишнего риска
1. Настройте noindex для архивов, которые не должны ранжироваться
Если вы используете SEO-плагин, сначала проверьте его настройки. Во многих случаях достаточно отключить индексацию для тегов, авторов или дат. Но для пагинации этого мало: нужно убедиться, что на страницах архива выводится корректный noindex.
Если делаете это кодом, не трогайте robots.txt первым делом. Для архивов безопаснее добавить мета-робот через фильтр:
add_filter( 'wp_robots', function( array $robots ) {
if ( is_paged() && ( is_category() || is_tag() || is_author() || is_home() ) ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Этот вариант подходит, если вам нужно закрыть именно страницы пагинации архивов, но оставить их доступными для обхода. Не вставляйте такой код в тему, которую часто меняете; лучше вынести в мини-плагин или mu-plugin.
2. Проверьте canonical
Для некоторых архивов поисковику полезнее видеть каноническую ссылку на первую страницу архива. Но это не универсальное правило: если на второй странице есть уникальные записи, каноникал на первую страницу может быть спорным. Поэтому сначала смотрите на тип архива и структуру контента.
Если вы используете SEO-плагин, проверьте, не переписывает ли он canonical на странные URL с параметрами. Если canonical уже выводится корректно, не дублируйте его своим кодом.
Пример, когда canonical на первую страницу архива имеет смысл для тонкого блога:
add_filter( 'get_canonical_url', function( $canonical, $post ) {
if ( is_paged() && is_home() ) {
return get_permalink( get_option( 'page_for_posts' ) );
}
return $canonical;
}, 10, 2 );Этот фрагмент не стоит применять вслепую ко всем типам архивов. Для рубрик и тегов лучше сначала проверить, как именно формируется canonical в вашей теме и SEO-плагине.
3. Закройте мусорные параметры в robots.txt только там, где это оправдано
Если у вас есть технические параметры, которые не должны обходиться вообще, их можно ограничить в robots.txt. Но не путайте это с пагинацией архивов. Параметры сортировки и фильтров — одна история, страницы /page/2/ — другая.
User-agent: *
Disallow: /*?replytocom=
Disallow: /*?orderby=
Disallow: /*?filter=
Если параметры используются на важных страницах, сначала проверьте, не ломаете ли вы переходы из поиска и внутренние ссылки. Для WordPress это особенно критично на сайтах с кастомными фильтрами и AJAX-формами.
Проверка результата после внедрения
После правок не ограничивайтесь открытием страницы в браузере. Нужно проверить именно то, что видит поисковик.
- Откройте страницу архива и её пагинацию в режиме просмотра исходного кода.
- Убедитесь, что на нужных URL есть
meta name="robots" content="noindex,follow"или эквивалент. - Проверьте, что canonical не указывает на параметризованный URL.
- Посмотрите, не закрыли ли вы случайно CSS, JS или важные страницы в
robots.txt. - Сравните несколько архивов: рубрики, теги, главную страницу блога.
Для быстрой проверки можно использовать такой запрос:
curl -s https://example.com/category/news/page/2/ | grep -iE 'robots|canonical'Если сайт большой, дополнительно проверьте отчёты Search Console: исчезают ли лишние URL из индекса и не растёт ли число страниц со статусом «Просканировано, но не проиндексировано».
Частые ошибки и как их исправить
Закрыли пагинацию в robots.txt и потеряли контроль над индексацией
Это самая частая ошибка. Страница перестаёт обходиться, а значит, поисковик может не увидеть ни noindex, ни canonical. Если уже закрыли URL в robots.txt, сначала уберите запрет, дождитесь повторного обхода и только потом оценивайте эффект.
Поставили noindex на все архивы подряд
Иногда это делают из страха перед дублями, а потом получают просадку по внутренней перелинковке и трафику из рубрик. Если архивы реально приводят пользователей, не закрывайте их без анализа. Лучше точечно закрыть только тонкие или бесполезные типы архивов.
Сломали canonical в теме
Если тема уже выводит canonical через wp_head, а вы добавили свой код поверх, можно получить два канонических URL или конфликтующие значения. В исходнике страницы должен быть один canonical. Если их два — убирайте лишний источник.
Не учли страницы поиска и параметры
Пагинация — это только часть проблемы. На практике дубли часто создают ?s=, ?orderby=, ?replytocom= и другие параметры. Их нужно разбирать отдельно, иначе вы исправите только видимую часть мусора.
Что делать, если нужен готовый инструмент
Если не хочется собирать это вручную в коде, удобнее использовать SEO-плагин или инструмент для чистки дублей. Например, в Clearfy Pro есть функции, которые помогают убрать лишние элементы и настроить технические сигналы без правки шаблонов. Это не отменяет проверки исходного кода, но снижает шанс ошибиться в мелочах. Подробности можно посмотреть на странице Clearfy Pro.
Когда лучше ничего не закрывать
Если у вас новостной сайт, крупный каталог материалов или блог, где страницы пагинации действительно содержат уникальные записи и помогают пользователю добраться до старых публикаций, не спешите ставить массовый noindex. В таких проектах важнее аккуратная структура архивов, нормальная перелинковка и отсутствие мусорных параметров, чем агрессивное закрытие всего подряд.
Рабочий ориентир простой: если страница нужна человеку и содержит заметно отличающийся набор материалов, сначала проверьте её ценность для индекса, а уже потом режьте сигналы для поисковика.