Как убрать дубли страниц с пагинацией в WordPress

Дубли страниц с пагинацией появляются чаще всего не из-за одной ошибки, а из-за сочетания настроек темы, SEO-плагина и способа вывода контента. Типичный пример: у рубрики есть страница /category/news/, а дальше идут /category/news/page/2/, /page/3/ и так далее. Если при этом в индексе оказываются варианты с параметрами, неправильными canonical или отдельные архивы тегов, поисковик начинает тратить краулинговый бюджет на мусорные URL.

Проблема не всегда видна глазами. Страница открывается, контент есть, но в Search Console растут «Дубли, Google выбрал другой канонический URL», а в логах сканирования появляются адреса с ?amp, ?replytocom, ?utm_ и страницами пагинации, которые не должны конкурировать друг с другом. Ниже — рабочая схема диагностики и исправления без выдуманных костылей.

Как понять, что проблема именно в пагинации

Сначала нужно отделить нормальную пагинацию от дублей. Страницы /page/2/ и /page/3/ сами по себе не ошибка: они нужны для навигации и индексации больших архивов. Ошибка начинается, когда одна и та же выдача доступна по нескольким адресам или когда пагинация строится поверх уже очищенного контента, но без корректных мета-тегов.

Признаки в Search Console и логах

  • в отчёте по страницам есть одинаковые title и description у архива и его страниц пагинации;
  • в индексе появляются URL с параметрами сортировки, фильтра, UTM и служебными хвостами;
  • Google выбирает канонический URL не тот, который вы ожидаете;
  • страницы пагинации получают внутренние ссылки из нескольких мест, а не только из архива;
  • в теме есть кастомные циклы, которые выводят один и тот же набор записей на разных шаблонах.

Что проверить в первую очередь

  1. Откройте исходный код архива и страницы /page/2/.
  2. Сравните <link rel="canonical"> на обеих страницах.
  3. Проверьте, не добавляет ли SEO-плагин canonical на первую страницу для всех страниц пагинации.
  4. Посмотрите, не дублируется ли вывод через блоки, виджеты или похожие записи в сайдбаре.
  5. Проверьте, не создаёт ли тема отдельные архивы для того же контента через кастомные таксономии.

Диагностика: где именно рождается дубль

В WordPress дубль обычно появляется в одном из трёх мест: в шаблоне темы, в SEO-логике плагина или в неправильной маршрутизации URL. Если не понять источник, можно бесконечно закрывать страницы от индексации и ломать нормальные архивы.

Проверка canonical и robots

Откройте исходник страницы и найдите canonical. Для пагинированного архива он должен указывать на саму страницу пагинации, а не на первую страницу раздела. Если canonical на /category/news/page/2/ ведёт на /category/news/, это не всегда катастрофа, но поисковик может считать вторую страницу менее самостоятельной и хуже учитывать её содержимое.

Также проверьте, не стоит ли на пагинации noindex без понимания последствий. Иногда это оправдано для тонких архивов, но если у вас большой каталог материалов, вы просто отключите полезную навигацию для робота.

Проверка на уровне шаблона

Если тема выводит архив через кастомный запрос, смотрите, не используется ли один и тот же WP_Query для первой страницы и для /page/2/. Частая ошибка — игнорировать параметр paged. Визуально это выглядит как «вторая страница открывается, но показывает те же записи».

<?php
$paged = max( 1, get_query_var( 'paged' ) );

$query = new WP_Query( array(
    'post_type'      => 'post',
    'posts_per_page' => 10,
    'paged'          => $paged,
) );

if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        the_title( '<h2>', '</h2>' );
    }
    wp_reset_postdata();
}
?>

Если paged не передан, WordPress вернёт первую порцию записей и на второй, и на третьей странице. Это уже не просто SEO-дубль, а сломанная навигация.

Пошаговое решение: что делать на практике

Ниже — последовательность, которая обычно даёт предсказуемый результат. Не надо применять всё сразу без проверки: сначала найдите источник, потом правьте.

1. Исправьте пагинацию в кастомных запросах

Если архив или блок «похожие материалы» строится вручную, обязательно учитывайте текущую страницу. Для главного запроса это делается через pre_get_posts, для отдельного цикла — через аргумент paged.

<?php
add_action( 'pre_get_posts', function( $query ) {
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    if ( $query->is_category() ) {
        $query->set( 'posts_per_page', 12 );
    }
} );
?>

Этот вариант безопаснее, чем переписывать шаблон архива целиком. Он сохраняет нативную пагинацию WordPress и не ломает ссылки.

2. Приведите canonical к реальному URL страницы

Если SEO-плагин или тема ставит неправильный canonical, исправляйте точечно. Для архивов и пагинации лучше не делать грубых глобальных замен без теста. В некоторых случаях canonical на первую страницу для второй страницы допустим, но если у вас есть уникальные заголовки, описание и значимый список материалов, это может мешать индексации.

Пример фильтра для корректировки canonical на страницах пагинации:

<?php
add_filter( 'get_canonical_url', function( $canonical, $post ) {
    if ( is_paged() ) {
        $paged = max( 1, get_query_var( 'paged' ) );
        $base  = get_pagenum_link( $paged );
        return $base;
    }

    return $canonical;
}, 10, 2 );
?>

Перед внедрением проверьте, не конфликтует ли это с вашим SEO-плагином. Если плагин уже умеет корректно работать с архивами, лучше не дублировать логику в теме.

3. Закройте мусорные параметры, но не трогайте нужную пагинацию

Параметры сортировки, трекинга и фильтров часто создают бесконечные комбинации URL. Их можно чистить на уровне сервера или WordPress, но аккуратно: нельзя одним правилом задеть /page/2/.

Если нужен простой контроль, можно убрать служебные query args из canonical и внутренних ссылок, но оставить саму пагинацию. Для этого обычно хватает настройки SEO-плагина и нормализации ссылок в шаблоне. Если используете Clearfy Pro, проверьте разделы, связанные с удалением дублей и служебных параметров: это как раз тот случай, когда удобнее включить готовую очистку, чем писать собственный фильтр на каждый параметр. Clearfy Pro здесь уместен именно как инструмент для технической чистки, а не как замена диагностики.

4. Проверьте robots meta на архивных страницах

Если архивы полезны для поиска, не ставьте noindex на всё подряд. Иногда правильнее оставить index,follow на первой странице и аккуратно ограничить вторые и третьи страницы только там, где архив действительно пустой или слабый. Но это уже решение под конкретный сайт, а не универсальная настройка.

Подход Когда подходит Риск
Исправить paged в запросе Кастомные архивы, темы, блоки с выводом записей Минимальный, если не трогать основной query без нужды
Править canonical Неправильный канонический URL на страницах пагинации Можно сломать индексацию, если переусердствовать
Закрыть параметры в robots Много мусорных URL с фильтрами и трекингом Легко задеть нужные страницы, если правило слишком широкое

Проверка результата после внедрения

После правок не ограничивайтесь открытием страницы в браузере. Нужно проверить именно то, что видит поисковик и что реально отдаёт сервер.

Что смотреть вручную

  • canonical на первой странице архива и на /page/2/;
  • наличие noindex только там, где это задумано;
  • корректность ссылок пагинации: rel="next" и rel="prev" могут не использоваться всеми темами, но сами ссылки должны вести куда нужно;
  • различие контента между страницами пагинации;
  • отсутствие дублей URL с параметрами в sitemap, если они туда попали по ошибке.

Что проверить через инструменты

В Search Console используйте проверку URL для нескольких страниц: первая, вторая, третья. Сравните выбранный canonical и статус индексации. Если используете серверные логи или аналитический краулер, убедитесь, что робот не ходит по бесконечным параметрам и не застревает на повторяющихся страницах.

<?php
// Быстрая проверка текущего URL и пагинации в шаблоне.
error_log( 'paged=' . get_query_var( 'paged' ) . ' url=' . home_url( add_query_arg( array(), $GLOBALS['wp']->request ) ) );
?>

Такой лог полезен на staging-сайте: он помогает понять, какой именно URL WordPress считает текущим, без догадок и ручного перебора.

Частые ошибки и как их исправить

Большинство проблем повторяются из проекта в проект. Ниже — не теоретические, а самые частые поломки, которые реально встречаются в теме, плагинах и кастомных шаблонах.

Все страницы пагинации ведут на первую

Причина обычно в том, что canonical или редирект настроены слишком агрессивно. Исправление: проверьте SEO-плагин, шаблон header.php и фильтры, которые вмешиваются в canonical. Если редирект нужен только для параметров, не трогайте чистые URL вида /page/2/.

Вторая страница показывает те же записи, что и первая

Это почти всегда ошибка в WP_Query или в использовании query_posts(). Последний вариант лучше не использовать вообще: он ломает глобальный запрос и создаёт побочные эффекты. Перепишите на отдельный WP_Query или корректно настройте основной запрос через pre_get_posts.

Пагинация есть, но в индексе только первая страница

Проверьте, не стоит ли noindex на всех страницах архива. Ещё одна причина — слишком слабая внутренняя перелинковка: робот просто не доходит до второй и третьей страницы. В этом случае помогает нормальная навигация, хлебные крошки и отсутствие лишних блоков, которые перетягивают вес на себя.

Параметры фильтра создают десятки дублей

Если у вас есть фильтр по тегам, авторам, датам или сортировке, сначала решите, какие URL вообще должны индексироваться. Остальные можно закрыть на уровне canonical или robots, но не через массовый 301 на главную — это плохая практика и для пользователей, и для поисковиков.

Безопасность и производительность: что не стоит делать

Когда начинают бороться с дублями, часто ломают больше, чем чинят. Не отключайте пагинацию целиком ради «чистоты URL». Не ставьте глобальный noindex на все архивы, если они реально помогают навигации. И не добавляйте десятки фильтров в functions.php без теста на staging.

  • Не используйте редирект на главную для всех страниц /page/*.
  • Не правьте canonical через строковые замены в HTML-выводе.
  • Не смешивайте логику темы и SEO-плагина в одном и том же фильтре.
  • Проверяйте изменения на кэше и без кэша: иногда проблема видна только после сброса.
  • Если сайт большой, следите за тем, чтобы sitemap не включал мусорные URL с параметрами.

Если нужен более широкий набор технических чисток — удаление дублей, служебных элементов и лишних скриптов — это уже задача не одной правки, а системной настройки сайта. Но в случае с пагинацией сначала чинится источник дубля, а уже потом наводится косметика.

Когда лучше не править кодом вручную

Если у вас типовая тема и проблема сводится к служебным параметрам, иногда быстрее и безопаснее использовать SEO-плагин или инструмент для технической очистки. Но если дубль создаёт кастомный шаблон, без кода не обойтись: плагин не угадает, как именно у вас построен цикл и какие страницы должны индексироваться.

Практический критерий простой: если дубль рождается в WP_Query или в шаблоне архива, правьте код. Если дубль создаётся из-за лишних параметров, мета-тегов и служебных ссылок, сначала проверьте настройки SEO-плагина и очистку URL. После этого снова прогоните URL через проверку в Search Console и убедитесь, что канонический адрес совпадает с тем, который вы ожидаете.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как убрать дубли страниц с пагинацией в WordPress
03.09.2026
Как закрыть от индексации архивы по датам и строкам поиска в WordPress
11.09.2026
Как закрыть от индексации страницы автора в WordPress
06.09.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше