wpspeed.ru wordpress wpspeed.ru

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

Пагинация в WordPress часто создает не одну проблему, а сразу три: дубли заголовков и мета-тегов, размывание веса между страницами архива и лишние URL в индексе. Обычно это всплывает после запуска SEO-плагина, смены темы или ручной правки robots.txt, когда страницы вида /category/page/2/ начинают конкурировать с первой страницей архива.

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

Когда пагинация становится проблемой

Проблема обычно заметна по одному из сценариев:

  • в индексе появляются десятки URL с одинаковыми title и description;
  • страницы /page/2/, /page/3/ ранжируются вместо первой страницы архива;
  • в Search Console растет число «Просканировано, но не проиндексировано» для пагинированных URL;
  • на сайте есть категории с 2–3 записями, но WordPress все равно генерирует пагинацию и лишние ссылки.

Что именно нужно проверить сначала

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

  • откройте несколько URL вида /category/name/page/2/;
  • сравните <title>, meta description и canonical;
  • проверьте, не закрыты ли эти страницы уже в SEO-плагине;
  • посмотрите, не дублируются ли хлебные крошки и заголовки H1.

Диагностика: где WordPress создает дубли

В типовой установке WordPress дубли пагинации появляются не из-за самого ядра, а из-за сочетания шаблона, SEO-плагина и настроек индексации. Частая ошибка — закрыть в robots.txt все URL с /page/. Это не решает проблему полностью: поисковик может продолжать видеть ссылки, а canonical и мета-теги останутся без логики.

Нормальная диагностика выглядит так:

  1. Проверить, есть ли у пагинированных страниц собственный canonical на самих себя или на первую страницу архива.
  2. Сравнить шаблон title для первой и второй страницы архива.
  3. Посмотреть, не генерирует ли тема одинаковый H1 на всех страницах пагинации.
  4. Проверить, не индексируются ли страницы с нулевой ценностью, например пустые теги или архивы автора без контента.

Если у вас уже стоит SEO-плагин, сначала ищите настройку индексации архивов и пагинации там. Если плагин не дает нужного поведения, тогда уже имеет смысл добавлять код в тему или mu-plugin.

Пошаговое решение для пагинации архивов

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

Шаг 1. Оставьте первую страницу архива основной

Для первой страницы категории, тега или рубрики должен быть нормальный title и description. На страницах /page/2/ и дальше не нужно пытаться делать их «уникальными» вручную, если они не несут самостоятельной ценности.

Шаг 2. Добавьте canonical для пагинации

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

<?php
add_filter( 'wpseo_canonical', function( $canonical ) {
    if ( is_paged() && ( is_category() || is_tag() || is_tax() || is_home() ) ) {
        return get_pagenum_link( get_query_var( 'paged' ) );
    }

    return $canonical;
} );

Если у вас не Yoast SEO, а другой плагин, логика остается той же: canonical должен быть последовательным и не конфликтовать с реальным URL страницы.

Шаг 3. Уберите лишние мета-теги на страницах пагинации

На второй и следующих страницах архива часто не нужен отдельный description, если он автоматически дублирует первую страницу. В таком случае лучше не генерировать его вовсе, чем плодить одинаковые сниппеты.

<?php
add_filter( 'document_title_parts', function( $parts ) {
    if ( is_paged() && ( is_category() || is_tag() || is_tax() || is_home() ) ) {
        $paged = max( 2, (int) get_query_var( 'paged' ) );
        $parts['title'] = sprintf( '%s — страница %d', $parts['title'], $paged );
    }

    return $parts;
} );

Этот вариант полезен, если ваш SEO-плагин не подставляет номер страницы в title автоматически. Для поисковика это лучше, чем полностью одинаковые заголовки на всех страницах архива.

Шаг 4. Не закрывайте пагинацию в robots.txt без необходимости

Закрытие через Disallow: /*/page/ выглядит просто, но часто мешает поисковику нормально обходить внутреннюю структуру сайта. Если задача именно в индексации, а не в обходе, лучше управлять canonical и мета-данными, а не рубить URL на уровне robots.

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

Сравнение подходов: плагин, код или robots.txt

ПодходКогда подходитПлюсМинус
SEO-плагинЕсли нужно быстро настроить архивы и canonicalМеньше ручного кодаНе всегда гибко для сложных шаблонов
Код в теме или mu-pluginЕсли нужна точечная логика для конкретных архивовПолный контрольНужно аккуратно тестировать после обновлений
robots.txtТолько для явных технических URLПросто внедритьНе решает дубли мета-данных и canonical

Как проверить, что решение сработало

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

  • Откройте /page/2/ и проверьте canonical в исходном коде.
  • Сравните title первой и второй страницы архива.
  • Убедитесь, что пагинированные URL не получают одинаковый description.
  • Посмотрите в Search Console, уменьшилось ли число дублей и странных URL в отчете по страницам.

Если используете командную строку на сервере, можно быстро проверить canonical так:

curl -s https://example.com/category/news/page/2/ | grep -i canonical

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

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

Одинаковый title на всех страницах

Это самая частая проблема. Обычно она возникает, когда тема жестко выводит название рубрики без номера страницы. Исправление простое: добавить номер страницы в title или отдать эту задачу SEO-плагину.

Закрытие пагинации через noindex без проверки

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

Блокировка в robots.txt вместо настройки canonical

Такой подход часто оставляет проблему наполовину решенной. Поисковик может перестать обходить URL, но дубли и внутренние ссылки никуда не денутся. В результате отчетность становится хуже, а не лучше.

Пагинация ломается после смены темы

Если после обновления темы страницы /page/2/ начали отдавать 404 или редиректить на главную, проверьте шаблоны archive.php, category.php и использование paginate_links(). Иногда проблема в том, что тема неправильно формирует запрос и не учитывает paged.

Практические советы по безопасности и производительности

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

Для сайтов с большим количеством архивов полезно держать под контролем еще и генерацию лишних страниц:

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

Если нужен более широкий аудит дублей и технической чистки, в экосистеме WPShop для этого есть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином важно понимать, какие URL вы закрываете и зачем — иначе можно случайно убрать из индекса полезные страницы архива.

Хорошая практика — после любых изменений сохранить список затронутых URL и через 1–2 обхода поискового робота перепроверить, не появились ли новые дубли в соседних разделах. Пагинация редко ломается одна: обычно вместе с ней всплывают архивы тегов, авторов и фильтры в навигации.

×

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

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

пишет статьи

готовит SEO

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

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