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

Пагинация сама по себе не проблема. Проблема начинается, когда у сайта появляются дубли: одинаковые листинги доступны по нескольким URL, а поисковик тратит краулинговый бюджет на страницы, которые не должны конкурировать друг с другом. Чаще всего это происходит из-за архивов рубрик, тегов, авторов, страниц блога и их вариантов с параметрами, а также из-за неправильной настройки canonical и robots.

Если в Search Console всплывают URL вида /page/2/, /page/3/ и при этом в индексе есть копии с параметрами, сначала нужно понять, что именно вы хотите оставить: только первую страницу листинга, все страницы пагинации или часть архивов закрыть от индексации. От этого зависит решение.

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

Симптомы обычно довольно приземлённые: в индексе появляются страницы, которые не приносят трафик, в отчёте по страницам много URL одного и того же архива, а в выдаче ранжируется не первая страница категории, а какая-то вторая или третья. Иногда проблема видна и без инструментов: если открыть /category/news/page/2/, а затем посмотреть исходный код, можно заметить, что canonical указывает не туда или вообще не совпадает с реальным каноническим URL.

Быстрая диагностика

  • Проверьте несколько архивов: рубрика, тег, автор, дата.
  • Сравните URL первой страницы и страниц пагинации.
  • Посмотрите, есть ли в HTML тег rel="canonical".
  • Проверьте, не индексируются ли страницы с параметрами сортировки и фильтров вместе с пагинацией.
  • Откройте отчёт Search Console по страницам и найдите повторяющиеся шаблоны URL.

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

Что делать: три рабочих подхода

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

ПодходКогда подходитПлюсыМинусы
Оставить пагинацию в индексеЕсли вторая и последующие страницы реально полезныМинимум вмешательства, меньше риска сломать навигациюНе убирает дубли полностью
noindex,follow для страниц пагинацииЕсли нужны ссылки для обхода, но не нужен индексПросто контролировать, хорошо для архивовНужно аккуратно настроить canonical
Редирект или закрытие лишних вариантов URLЕсли есть явные копии и мусорные URLСильно чистит индексМожно сломать трафик и внутренние ссылки, если сделать грубо

Пошаговое решение через код темы или мини-плагин

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

Ниже пример, который добавляет noindex,follow на страницы пагинации архивов. Он не трогает обычные записи и страницы.

<?php
add_action( 'wp_head', function () {
    if ( is_paged() && ( is_home() || is_category() || is_tag() || is_author() || is_date() ) ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
}, 1 );

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

Если нужно ещё и поправить canonical, можно явно указать канонический URL на саму страницу пагинации, а не на первую страницу архива. Это полезно, когда плагин ошибается или тема подменяет ссылку.

<?php
add_filter( 'get_canonical_url', function( $canonical, $post ) {
    if ( is_paged() && ( is_home() || is_category() || is_tag() || is_author() || is_date() ) ) {
        global $wp;
        return home_url( trailingslashit( $wp->request ) );
    }

    return $canonical;
}, 10, 2 );

Здесь важно не переусердствовать. Если canonical уже корректный, не надо его переписывать ради самого факта правки. Ошибочный canonical хуже, чем его отсутствие.

Если дубли создаёт не пагинация, а параметры в URL

На практике часто проблема смешанная: страницы пагинации дублируются ещё и из-за параметров ?sort=, ?filter=, ?amp или UTM-меток. В этом случае закрывать только /page/2/ недостаточно. Нужно либо нормализовать URL на уровне шаблона, либо не давать поисковику индексировать параметрические варианты.

Для некоторых сценариев достаточно редиректа на чистый URL, если параметр не нужен для SEO и не влияет на контент страницы. Пример ниже убирает UTM-параметры и сохраняет путь страницы.

<?php
add_action( 'template_redirect', function () {
    if ( is_admin() ) {
        return;
    }

    $utm_keys = array( 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content' );
    $has_utm  = false;

    foreach ( $utm_keys as $key ) {
        if ( isset( $_GET[ $key ] ) ) {
            $has_utm = true;
            break;
        }
    }

    if ( ! $has_utm ) {
        return;
    }

    $url = remove_query_arg( $utm_keys );
    wp_safe_redirect( $url, 301 );
    exit;
} );

Это не решение для фильтров каталога или сортировки контента, но для маркетинговых меток — нормальная практика. Главное, чтобы редирект не ломал аналитику и не создавал цепочки.

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

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

  1. Откройте страницу пагинации и посмотрите исходный код.
  2. Убедитесь, что есть только один meta robots и один canonical.
  3. Проверьте HTTP-статус через curl -I или DevTools.
  4. Посмотрите, не появились ли лишние редиректы.
  5. В Search Console отправьте на повторную проверку несколько URL из проблемного шаблона.

Пример быстрой проверки через командную строку:

curl -I https://example.com/category/news/page/2/

В ответе вас интересуют статус, Location при редиректе и отсутствие неожиданных заголовков, которые могут конфликтовать с мета-тегами. Если страница должна индексироваться, а вы видите noindex, значит где-то осталась старая настройка плагина или тема выводит свой robots.

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

Закрыли от индексации все архивы подряд

Это типичная ошибка, когда в коде не проверяют условие пагинации и ставят noindex на весь архив. В итоге вы теряете страницы рубрик, которые могли приносить трафик. Исправление простое: ограничьте логику только страницами с номером больше первой.

Сломали canonical на первой странице

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

Оставили конфликт между плагином и кодом

Если SEO-плагин уже управляет robots и canonical, а вы добавили свой код поверх него, в исходнике могут появиться два набора мета-тегов. Поисковик обычно не любит такие конфликты. Перед внедрением проверьте, где именно сейчас генерируются мета-теги, и отключите дублирующую настройку в одном из мест.

Сделали 301 там, где нужен был noindex

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

Что проверить в безопасности и производительности

Любая правка SEO-логики через functions.php должна быть обратимой. Лучше вынести код в небольшой mu-plugin или отдельный мини-плагин, чтобы не потерять настройку при смене темы. Это особенно важно на сайтах, где тему обновляют часто или используют дочернюю тему только для части правок.

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

Но даже с плагином не стоит отключать всё подряд. Сначала зафиксируйте текущую схему URL, затем меняйте один параметр за раз и проверяйте результат в индексе и в исходном коде страницы.

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

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

Ручное вмешательство оправдано тогда, когда вы видите конкретную проблему: повторяющиеся URL в индексе, неверный canonical, лишние параметры, конфликт плагинов или просадку краулинга. В остальных случаях лучше сначала измерить эффект, а уже потом закрывать страницы от индексации.

Создание динамических popup в WordPress с помощью AJAX
13.11.2025
Как создать popup с загрузкой по требованию в WordPress
22.03.2026
Как удалить popup после успешного отправленного формы с помощью AJAX в WordPress
11.06.2026
Как отладить и решить проблемы с показом popup из AJAX в WooCommerce
27.06.2026
Как добавить подписку на рассылку в popup WordPress
23.12.2025