Пагинация сама по себе не проблема. Проблема начинается, когда поисковик видит десятки похожих URL: архивы рубрик, страницы блога, теги, результаты поиска и их страницы 2, 3, 4. В итоге в индексе оказываются не те страницы, которые вы хотели продвигать, а дубли с почти одинаковым содержимым и слабой ценностью.
Ниже разберём рабочую схему: как понять, что именно дублируется, что закрывать от индексации, а что оставить, и как это сделать без поломки навигации и внутренней перелинковки.
Когда это действительно проблема
Не каждая страница /page/2/ требует вмешательства. Если у вас большой каталог статей или новостей, пагинация нужна и для пользователей, и для обхода роботом. Но если в индексе уже есть:
- страницы пагинации рубрик с одинаковыми title и description;
- архивы тегов, которые дублируют рубрики;
- страницы поиска вида
?s=; - авторские архивы на небольшом сайте без редакционной ценности;
- параметризованные URL, которые создают почти те же списки записей;
тогда стоит навести порядок. Иначе поисковик тратит обход на мусорные страницы, а не на важные разделы.
Диагностика: что именно плодит дубли
Сначала не меняйте код. Посмотрите, какие URL уже попали в индекс и как они выглядят в выдаче. Это можно проверить несколькими способами.
Проверка через поиск и карту сайта
Откройте в поиске запросы вида site:example.com/page/2, site:example.com/?s=, site:example.com/tag/. Если видите много однотипных страниц, это первый сигнал. Затем проверьте XML-карту сайта: если туда попадают архивы, поиск или служебные страницы, их лучше исключить на уровне генерации карты.
Проверка шаблонов title и canonical
Частая ошибка — на всех страницах пагинации остаётся один и тот же title, а canonical указывает на первую страницу архива. Это не всегда катастрофа, но для длинных архивов и тегов создаёт путаницу. Посмотрите исходный код страницы и убедитесь, что canonical соответствует логике сайта.
Что смотреть в админке и в коде
Если у вас включены SEO-плагины, проверьте настройки для архивов, тегов и страниц поиска. Если плагина нет или он не решает задачу, смотрите тему: иногда она сама выводит мета-теги или canonical через wp_head.
Что закрывать, а что оставлять
Самая частая ошибка — закрыть всё подряд. Это ломает обход сайта и ухудшает навигацию. Удобнее ориентироваться так:
| Тип страницы | Оставить в индексе | Обычно закрывают | Комментарий |
|---|---|---|---|
| Страницы рубрик | Да | Только если рубрика пустая или техническая | Полезны для тематической структуры |
| Пагинация рубрик | Иногда | Если это слабые дубли без ценности | Зависит от объёма контента |
| Теги | Редко | Чаще всего | Особенно на сайтах с хаотичной разметкой |
| Поиск по сайту | Нет | Да | Это служебный URL |
| Авторские архивы | Иногда | Если автор один и архив пустой по смыслу | Для медиа и блогов может быть полезно |
Пошаговое решение без плагина
Если задача точечная, проще решить её кодом в теме или мини-плагине. Ниже пример: закрываем от индексации страницы поиска и добавляем noindex,follow для пагинации архивов, если это нужно именно вашему сайту.
<?php
add_action( 'wp_head', function () {
if ( is_search() ) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
return;
}
if ( is_paged() && ( is_category() || is_tag() || is_archive() ) ) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1 );Этот вариант не удаляет страницы и не ломает ссылки. Он только подсказывает поисковику, что такие URL не нужно индексировать, но переходить по ссылкам внутри них можно.
Если у вас SEO-плагин уже управляет robots meta, не дублируйте вывод. Иначе получите два тега meta name="robots", а это лишний шум и иногда непредсказуемое поведение.
Исключение служебных страниц из XML-карты сайта
Если карта сайта генерируется через wp_sitemaps, можно убрать из неё поиск и архивы, которые не должны индексироваться. Для этого удобнее использовать фильтры карты сайта, а не править ядро или шаблоны вручную.
<?php
add_filter( 'wp_sitemaps_post_types', function ( $post_types ) {
// Оставляем только нужные типы записей.
return $post_types;
} );
add_filter( 'wp_sitemaps_taxonomies', function ( $taxonomies ) {
if ( isset( $taxonomies['post_tag'] ) ) {
unset( $taxonomies['post_tag'] );
}
return $taxonomies;
} );Этот пример не универсален для всех сайтов: если теги у вас реально приводят трафик, убирать их из карты сайта не стоит. Но для проектов с большим количеством слабых тегов это рабочая мера.
Если нужен более управляемый вариант
Когда страниц много и правила отличаются для рубрик, тегов, поиска и архивов, удобнее использовать SEO-плагин с тонкой настройкой мета-тегов и карты сайта. Например, в Clearfy Pro можно закрывать служебные страницы и чистить лишние архивы без ручного кода, если это вписывается в вашу схему публикаций. Ссылка на продукт: Clearfy Pro.
Но плагин не отменяет диагностику. Сначала нужно понять, какие URL реально создают дубли, а уже потом выбирать: код, настройки SEO-плагина или комбинированный вариант.
Проверка результата после внедрения
После изменений не ориентируйтесь только на визуальный просмотр сайта. Проверьте три вещи:
- в исходном коде нужных страниц появился
noindex,followили исчезли лишние архивы из карты сайта; - в Search Console страницы поиска и служебные архивы постепенно выпадают из отчётов об индексировании;
- внутренние ссылки и пагинация продолжают работать, а пользователь может перейти на следующую страницу списка.
Для быстрой проверки откройте несколько URL вручную: главную рубрики, её вторую страницу, страницу поиска и тег. Сравните <title>, canonical и robots meta. Если на всех страницах один и тот же canonical на первую страницу, а вы рассчитывали на отдельную индексацию пагинации, значит правило задано слишком грубо.
Частые ошибки и как их исправить
Закрыли пагинацию, но оставили дубли в карте сайта
Так бывает, когда robots meta добавили в тему, а XML-карта сайта осталась прежней. Поисковик всё равно видит URL и продолжает их обходить. Решение: синхронизировать мета-теги, canonical и sitemap.
Поставили noindex на всё подряд
Если закрыть рубрики, архивы и теги без разбора, можно потерять полезные посадочные страницы. На небольшом сайте это особенно заметно: структура становится плоской, а внутренние переходы хуже помогают поисковому роботу.
Дублируете логику плагина кодом темы
Если SEO-плагин уже управляет robots meta, canonical и sitemap, не добавляйте поверх него второй слой логики. Сначала проверьте, можно ли решить задачу настройкой. Код нужен там, где настройки не покрывают конкретный сценарий.
Используете noindex вместо удаления причины
Если у вас десятки одинаковых тегов, лучше сначала сократить их количество, объединить слабые метки и убрать автоматическую генерацию мусорных архивов. Иначе вы просто прячете симптом, а не решаете проблему.
Чек-лист перед публикацией изменений
- Проверить, какие URL реально дублируются в индексе.
- Определить, какие архивы полезны для пользователей и SEO.
- Согласовать robots meta, canonical и XML-карту сайта.
- Не закрывать важные рубрики и посадочные страницы без причины.
- Проверить страницу поиска, теги и вторые страницы архивов вручную.
- Убедиться, что пагинация и навигация не сломались после правок.
Практические замечания по безопасности и производительности
Если вы вносите изменения через functions.php, делайте это в дочерней теме или в небольшом mu-plugin. Так вы не потеряете правки после обновления темы. Для крупных сайтов лучше вынести логику в отдельный мини-плагин: его проще отключить, протестировать и перенести между окружениями.
Не ставьте несколько SEO-плагинов одновременно в надежде, что один «добавит» то, чего не хватает другому. На практике это чаще создаёт конфликт canonical, robots meta и sitemap. Если нужен один инструмент для чистки дублей и технических настроек, сначала проверьте, хватает ли возможностей текущего стека, а уже потом добавляйте новый.
Если хотите, чтобы статья не превращалась в набор ручных правок, держите правило простым: сначала диагностика, потом точечное исключение, затем проверка в Search Console и только после этого массовая чистка архивов.
}