Проблема с дублями от пагинации в WordPress обычно всплывает не на главной, а в архивах: рубрики, метки, авторы, страницы блога. Поисковик видит несколько URL с почти одинаковым содержимым, а владелец сайта получает лишние страницы в индексе, размытый вес и странные отчёты в Search Console.
Самая частая ошибка — пытаться решить всё одним способом: либо закрыть пагинацию в robots.txt, либо массово ставить noindex, либо править только canonical. На практике нужен не один рычаг, а понятная схема: что индексируем, что оставляем для обхода, а что убираем из выдачи.
Когда пагинация становится дублем и как это увидеть
Не каждая страница /page/2/ — проблема. Если у вас длинная рубрика с реальным списком материалов, вторая и последующие страницы нужны и пользователю, и поисковику. Дубль появляется, когда:
- страницы пагинации повторяют одинаковые заголовки и мета-теги;
- в архиве мало контента, а URL-адресов много;
- в теме или SEO-плагине canonical указывает не туда;
- в индексе оказываются и страницы архива, и их параметры сортировки, и служебные варианты.
Что проверить в первую очередь
Откройте несколько URL вручную и сравните исходный HTML. Смотрите на:
<title>и<meta name="description">;<link rel="canonical">;- наличие
noindexвmeta robotsили заголовке; - как ведут себя страницы
/page/2/,/page/3/и архивы с фильтрами, если они есть.
Если canonical на всех страницах ведёт на первую страницу архива, это не всегда ошибка. Но если при этом поисковик продолжает индексировать вторые и третьи страницы как отдельные документы, значит, схема настроена непоследовательно.
Что лучше: robots.txt, noindex или canonical
Для пагинации важно не смешивать задачи. robots.txt управляет обходом, noindex — индексацией, canonical — предпочтительным URL. Это разные уровни, и они не заменяют друг друга.
| Подход | Когда уместен | Минус |
|---|---|---|
canonical | Когда нужно показать поисковику основную страницу архива | Не убирает URL из обхода, если они уже известны |
noindex,follow | Когда страница нужна пользователю, но не должна ранжироваться | Нужно аккуратно внедрять, чтобы не сломать шаблон |
robots.txt | Для служебных разделов и явного мусора | Если закрыть слишком рано, поисковик не увидит canonical и мета-теги |
Для пагинации архива чаще всего разумнее оставить обход, но управлять индексацией через canonical и, при необходимости, noindex на страницах, которые не несут самостоятельной ценности. Закрывать всё в robots.txt — грубый приём, и он часто мешает диагностике.
Пошаговое решение в WordPress
1. Убедитесь, что canonical на пагинации не конфликтует с темой
Если у вас уже стоит SEO-плагин, сначала проверьте, не дублирует ли тема вывод canonical вручную. Два тега canonical в одной странице — частая причина странного поведения поисковиков.
Если нужно задать canonical программно для архивов пагинации, можно использовать фильтр wpseo_canonical в Yoast SEO или аналогичный механизм вашего SEO-плагина. Пример ниже показывает идею для архива рубрики: первая страница остаётся основной, а пагинация ссылается на неё.
<?php
add_filter( 'wpseo_canonical', function( $canonical ) {
if ( is_category() && is_paged() ) {
$term = get_queried_object();
if ( $term && ! is_wp_error( $term ) ) {
return get_term_link( $term );
}
}
return $canonical;
} );Если вы не используете Yoast SEO, не пытайтесь слепо переносить этот код. У других плагинов свои фильтры. Логика при этом остаётся той же: canonical на страницах пагинации должен быть предсказуемым и не конфликтовать с шаблоном.
2. Добавьте noindex только там, где это действительно нужно
Не стоит ставить noindex на все архивы подряд. Это убивает полезные страницы категорий и меток. Обычно noindex имеет смысл для:
- пустых или почти пустых архивов;
- архивов с параметрами сортировки;
- служебных страниц, которые создают дубли без пользы для пользователя;
- страниц пагинации в тех разделах, где контент на второй странице почти не отличается от первой.
Если вы хотите добавить noindex,follow для страниц пагинации в конкретном типе архива, можно использовать wp_robots:
<?php
add_filter( 'wp_robots', function( array $robots ) {
if ( is_category() && is_paged() ) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
} );Этот вариант работает на уровне WordPress и не зависит от конкретного SEO-плагина. Но перед внедрением проверьте, не добавляет ли ваш плагин собственные директивы robots. Иначе получится конфликт: один слой говорит index, другой — noindex.
3. Не закрывайте пагинацию в robots.txt без необходимости
Если вы запретите обход /page/ в robots.txt, поисковик может перестать видеть структуру архива. Для уже известных URL это особенно неудобно: вы не сможете нормально проверить, как они интерпретируются, и потеряете часть контроля над индексацией.
Вместо этого закрывайте только то, что точно не должно обходиться: внутренние поисковые результаты, служебные параметры, технические пути плагинов. Пагинация архива — не лучший кандидат для запрета в robots.
Диагностика после внедрения
После правок не ограничивайтесь просмотром исходника. Проверьте поведение страницы с точки зрения поисковика и браузера.
- Откройте первую страницу архива и страницу
/page/2/. - Проверьте, что canonical на второй странице указывает на ожидаемый URL.
- Убедитесь, что на нужных страницах есть или нет
noindexв зависимости от вашей схемы. - Посмотрите, не дублируются ли мета-теги из темы и SEO-плагина.
- Проверьте HTML-ответ через
curl -Iили просмотр исходника, если нужно увидеть заголовки и мета-теги.
Пример быстрой проверки заголовков ответа:
curl -I https://example.com/category/news/page/2/Если вы используете Search Console, смотрите не только статус индексации, но и то, как Google выбирает canonical. Если выбранный поисковиком canonical отличается от вашего, значит, сигнал на странице слабый или противоречивый.
Частые ошибки и как их исправить
Два canonical на одной странице
Обычно это происходит, когда canonical выводит SEO-плагин, а тема добавляет свой тег вручную. Решение простое: оставьте один источник правды. В теме canonical лучше не печатать вообще, если уже стоит SEO-плагин.
noindex на всех архивах без разбора
Так часто ломают видимость рубрик, которые реально приводят трафик. Если архив полезен, не закрывайте его только потому, что он «похож на дубль». Сначала проверьте, есть ли у него уникальный контент, нормальная перелинковка и спрос.
robots.txt закрывает всё подряд
Когда в robots добавляют слишком широкие запреты, поисковик перестаёт обходить не только мусор, но и нужные страницы. В результате диагностика усложняется, а canonical и meta robots могут не учитываться как надо.
Пагинация ломается после правки шаблона
Если после изменений в теме страницы /page/2/ начинают отдавать 404 или редиректить на первую страницу, проверьте:
- настройки постоянных ссылок;
- кастомные rewrite rules;
- конфликты с плагинами фильтрации и сортировки;
- не переопределён ли шаблон архива в дочерней теме.
Что делать, если дубли создаёт не архив, а фильтр или параметр
Иногда проблема не в пагинации, а в URL с параметрами: ?sort=, ?filter=, ?amp, UTM-метки, внутренний поиск. Здесь подход другой: canonical должен указывать на чистую версию страницы, а технические параметры не должны плодить отдельные документы.
Если у вас на сайте много таких дублей, имеет смысл сначала навести порядок в шаблонах и мета-тегах, а уже потом править robots. Для части задач удобнее использовать готовые инструменты очистки дублей и технических мета-тегов, например Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином всё равно нужно понимать, какие URL вы закрываете и зачем.
Как проверить, что решение сработало
Считайте задачу решённой только после трёх проверок:
- в HTML нужных страниц нет конфликтующих canonical и robots-меток;
- страницы пагинации доступны пользователю и не ломают навигацию;
- в Search Console постепенно уменьшается число дублей и странных вариантов URL.
Если после изменений поисковик продолжает индексировать лишние страницы, не спешите расширять запреты. Чаще всего проблема в том, что сигналы на странице противоречат друг другу: canonical ведёт в одно место, title — в другое, а robots говорит третье.
В таких случаях полезно пройтись по шаблону архива и убрать ручные правки, которые дублируют работу SEO-плагина. Для WordPress это обычно быстрее и надёжнее, чем пытаться «додавить» поисковик через robots.txt.