wpapp.ru wordpress wpapp.ru

Как закрыть от индексации страницы пагинации в WordPress без вреда для SEO

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

Ниже — практический сценарий: когда пагинацию действительно стоит закрывать, как это сделать через noindex и каноникал, где не ошибиться и как проверить, что решение сработало.

Когда пагинацию имеет смысл закрывать

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

Типичные признаки, что пагинация мешает

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

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

Что делать: сравнение подходов

ПодходЧто делаетПлюсыМинусы
robots.txtЗапрещает сканирование URLПросто настроитьНе решает проблему уже проиндексированных страниц, может мешать переобходу
noindex, followУбирает страницу из индекса, оставляя обход ссылокПодходит для пагинации архивовНужно корректно внедрить в шаблон
Каноникал на первую страницуПодсказывает основную версиюПомогает объединять сигналыНе всегда достаточно без noindex

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

Диагностика: где именно у вас индексируется пагинация

Сначала проверьте, какие страницы реально попали в индекс. Не ориентируйтесь только на ощущение «их много». Откройте Search Console и посмотрите отчёт по страницам, а затем вручную проверьте несколько URL.

  • поиск по сайту: site:example.com/page/2;
  • проверка исходного кода страницы архива;
  • наличие тега meta robots;
  • значение rel=canonical;
  • нет ли конфликтов с SEO-плагином.

Если у вас уже стоит SEO-плагин, сначала проверьте его настройки. Часто проблема не в WordPress, а в том, что шаблон темы и плагин отдают разные сигналы. Например, один ставит noindex, а другой перезаписывает canonical.

Пошаговое решение через код

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

<?php
add_filter('wp_robots', function(array $robots) {
    if (is_paged() && (is_home() || is_archive() || is_search())) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
});

Этот способ опирается на встроенный фильтр wp_robots, который есть в современных версиях WordPress. Он безопаснее, чем вручную печатать мета-тег в header.php, потому что не ломает совместимость с другими компонентами, которые тоже добавляют robots-правила.

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

<?php
add_filter('get_canonical_url', function($canonical, $post) {
    if (is_paged() && (is_home() || is_archive())) {
        return get_pagenum_link(1);
    }

    return $canonical;
}, 10, 2);

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

Если используете SEO-плагин

Когда на сайте уже работает Yoast SEO, Rank Math или похожий плагин, сначала проверьте настройки архивов и шаблоны robots. В ряде случаев достаточно отключить индексацию пагинации в настройках плагина, а код оставить только как страховку для нестандартных архивов.

Если вы ведёте сайт на чистой теме и не хотите тащить лишнюю логику в шаблон, можно использовать и плагин для технической чистки, например Clearfy Pro, если он уже есть в стеке. Но даже в этом случае важно понимать, какой именно сигнал он отдаёт: noindex, canonical или запрет сканирования. Для пагинации обычно нужен именно noindex, follow, а не блокировка в robots.txt.

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

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

  1. Откройте страницу архива с пагинацией, например /category/news/page/2/.
  2. Посмотрите исходный код и найдите meta name="robots".
  3. Убедитесь, что там есть noindex и follow.
  4. Проверьте canonical: он должен вести на основную страницу архива, если это предусмотрено вашей схемой.
  5. В Search Console отправьте URL на повторную проверку.

Если у вас есть доступ к командной строке, можно быстро проверить заголовки и HTML через curl:

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

Для страниц пагинации важно не только наличие тега, но и отсутствие конфликтующих директив. Например, если в коде одновременно присутствуют noindex и запрет в robots.txt, поисковик может дольше переобходить старые URL и медленнее обновлять состояние.

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

Закрывают пагинацию через robots.txt

Это самая частая ошибка. Запрет сканирования не равен удалению из индекса. Если URL уже известен поисковику, он может остаться в выдаче как «URL без описания». Для пагинации лучше использовать noindex, а не блокировку.

Ставят noindex на все архивы подряд

Иногда разработчик копирует условие без проверки is_paged() и закрывает весь архив категории, включая первую страницу. Это уже ломает индексацию полезных разделов. Проверяйте условие именно на пагинацию.

Конфликтуют тема и SEO-плагин

Один компонент добавляет canonical на первую страницу, другой — на текущую, третий — вообще убирает robots-тег. В итоге поисковик получает противоречивые сигналы. Решение простое: оставьте один источник правды. Либо плагин, либо код в теме, но не оба сразу без необходимости.

Путают пагинацию архива и постраничность записи

Страницы с <!--nextpage--> — это не то же самое, что архивная пагинация. Если закрыть их одинаково, можно испортить индексацию длинных материалов. Для таких случаев нужна отдельная логика.

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

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

  • перед правкой сделайте бэкап файлов и базы;
  • проверяйте изменения на staging-окружении;
  • не добавляйте лишние запросы к базе ради robots-логики;
  • не отключайте сканирование массово без анализа логов;
  • после внедрения проверьте sitemap: в него не должны попадать закрытые служебные URL.

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

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее