wpsell.ru wordpress wpsell.ru

Как закрыть дубли страниц от пагинации в robots.txt и canonical

Проблема с дублями от пагинации в 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 вы закрываете и зачем.

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

Считайте задачу решённой только после трёх проверок:

  1. в HTML нужных страниц нет конфликтующих canonical и robots-меток;
  2. страницы пагинации доступны пользователю и не ломают навигацию;
  3. в Search Console постепенно уменьшается число дублей и странных вариантов URL.

Если после изменений поисковик продолжает индексировать лишние страницы, не спешите расширять запреты. Чаще всего проблема в том, что сигналы на странице противоречат друг другу: canonical ведёт в одно место, title — в другое, а robots говорит третье.

В таких случаях полезно пройтись по шаблону архива и убрать ручные правки, которые дублируют работу SEO-плагина. Для WordPress это обычно быстрее и надёжнее, чем пытаться «додавить» поисковик через robots.txt.

×

Увеличьте продажи!

Скидка на
My Popup!

-15%
плагин для WordPress

Успей купить ⋙