Дубли страниц пагинации в WordPress появляются чаще, чем кажется: архивы категорий, теги, авторы, поиск, страницы блога и иногда кастомные таксономии начинают индексироваться в нескольких вариантах. В результате поисковик видит почти одинаковые URL, а в отчётах по индексации растёт мусор. На практике это обычно не «ошибка Google», а следствие того, как тема, плагин SEO и шаблоны архива отдают rel=canonical, noindex и ссылки на страницы 2, 3, 4.
Ниже — рабочий сценарий: как диагностировать проблему, какие URL считать дублями, что править в теме или через плагин, и как проверить, что после изменений индексация стала чище.
Когда пагинация начинает плодить дубли
Типичный симптом — в поиске появляются не только основные архивы, но и их вариации: /category/news/page/2/, /tag/seo/page/3/, /blog/page/2/. Иногда к этому добавляются URL с параметрами сортировки, фильтрации или внутреннего поиска. Если на страницах пагинации почти одинаковые заголовки, описания и блоки контента, поисковик легко воспринимает их как повторяющиеся.
Что именно проверять в первую очередь
- есть ли на странице корректный
canonicalна саму страницу пагинации или на первую страницу архива; - не закрыты ли страницы пагинации случайно через
noindexвместе с важными архивами; - не генерирует ли тема одинаковые
titleиmeta descriptionдля всех страниц архива; - не создаёт ли плагин фильтров отдельные URL без необходимости;
- не дублируются ли страницы из-за смешения
/page/2/и параметров вроде?paged=2.
Диагностика: где искать источник дублей
Начинать лучше не с правки кода, а с проверки того, что реально отдаёт сайт. Откройте несколько проблемных URL и посмотрите исходный код страницы. Важны три вещи: canonical, robots meta и структура ссылок на следующую/предыдущую страницу.
Если у вас установлен SEO-плагин, проверьте его настройки архивов. Но не ограничивайтесь интерфейсом: тема может переопределять вывод в header.php или в шаблонах архива.
<!-- Пример того, что стоит искать в исходнике -->
<link rel="canonical" href="https://example.com/category/news/page/2/" />
<meta name="robots" content="index,follow" />
<link rel="next" href="https://example.com/category/news/page/3/" />
Если canonical указывает на первую страницу архива, а сама страница 2 остаётся индексируемой, это не всегда ошибка. Но если у вас одновременно есть одинаковые title, одинаковый сниппет и десятки похожих страниц, поисковику сложнее выбрать нужную версию.
Что делать: выбрать одну логику индексации
Здесь нет универсального ответа. Для одних сайтов страницы пагинации должны индексироваться, потому что на них есть уникальные записи. Для других — это технический шум, который лучше закрыть от индексации. Решение зависит от того, насколько полезна каждая следующая страница архива.
| Подход | Когда подходит | Компромисс |
|---|---|---|
| Оставить индексируемыми | На страницах 2+ есть заметно новый контент и трафик | Нужно аккуратно настроить canonical и title |
| Закрыть noindex, follow | Пагинация техническая и почти не даёт ценности | Страницы могут выпадать из поиска, но ссылки будут обходиться |
| Сократить количество архивов | Много пустых или слабых таксономий | Нужно пересмотреть структуру рубрик и тегов |
Если нужен noindex для страниц пагинации
Самый безопасный путь — не ломать шаблон вручную, а использовать возможности SEO-плагина. Если же нужно сделать это кодом, можно добавить условие для архивов и страниц пагинации. Такой вариант стоит применять только если вы понимаете, как у вас формируются архивы.
<?php
add_action('wp_head', function () {
if (is_paged() && (is_category() || is_tag() || is_tax() || is_home())) {
echo '<meta name="robots" content="noindex,follow" />' . "\n";
}
}, 1);
Этот код добавляет noindex,follow только на страницы пагинации архивов и главной ленты. Он не удаляет страницы, а лишь снижает вероятность их индексации как дублей. Но если у вас уже есть SEO-плагин, сначала проверьте, не дублируете ли вы его вывод.
Если canonical должен указывать на саму страницу
Для некоторых архивов правильнее оставить canonical на текущую страницу пагинации, а не на первую. Это особенно полезно, когда страница 2 содержит уникальные записи, которых нет на странице 1. В этом случае не стоит насильно канонизировать всё в корень архива.
<?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. Если у вас другой SEO-плагин, логика та же, но хук будет другим. Не пытайтесь одновременно править canonical в теме и в плагине — в итоге в коде страницы может оказаться два разных canonical, а это уже реальная проблема.
Пошаговая настройка без лишнего риска
- Соберите список URL, которые дублируются: категории, теги, поиск, архивы автора, страницы блога.
- Проверьте исходный код проблемных страниц и сравните canonical, robots и title.
- Решите, какие страницы пагинации должны индексироваться, а какие нет.
- Настройте правило в SEO-плагине или через код, но не в обоих местах сразу.
- Очистите кэш страницы, объектный кэш и CDN, если он есть.
- Переобойдите несколько URL в Search Console и проверьте, как они видятся роботу.
Проверка результата после внедрения
После правок важно не просто открыть страницу в браузере, а проверить, что сайт отдаёт именно тот HTML, который вы ожидаете. Смотрите исходный код, а не визуальный рендер. Иногда кэш или JS-скрипты маскируют проблему.
- в исходнике есть только один
canonical; robotsсоответствует выбранной стратегии:index,followилиnoindex,follow;- страницы пагинации не дублируют одинаковый
titleбез номера страницы; - внутренние ссылки ведут на корректные URL без лишних параметров;
- в Search Console страницы начинают попадать в нужный статус, без роста дублей.
Для быстрой проверки можно открыть несколько URL вручную и сравнить заголовки ответа:
curl -I https://example.com/category/news/page/2/
Если у вас есть доступ к серверу, полезно посмотреть и HTML-ответ, а не только заголовки. Иногда проблема скрыта в шаблоне темы, который выводит canonical после плагина и тем самым перетирает его.
Частые ошибки и как их исправить
1. Закрыли пагинацию, но оставили дубли в sitemap
Если страницы уже помечены как noindex, но продолжают попадать в sitemap, поисковик получает противоречивые сигналы. Проверьте настройки SEO-плагина и исключите технические URL из карты сайта.
2. Canonical указывает на первую страницу, а контент на второй уникален
Такое решение может обесценить полезные страницы. Если на странице 2 есть записи, которых нет на первой, canonical должен быть выбран осознанно, а не по шаблону «всё на первую».
3. Тема и SEO-плагин выводят разные мета-теги
Это частая причина хаоса. Один слой кода добавляет canonical, другой — noindex, третий — дублирующий title. В итоге поисковик видит конфликтующие сигналы. Оставьте один источник правды.
4. Параметры фильтров создают бесконечные URL
Если у вас есть сортировка, фильтры или поиск по сайту, проверьте, не плодят ли они URL с параметрами. Такие страницы часто нужно закрывать от индексации отдельно, иначе дубли будут не только в пагинации.
Практические советы по производительности и безопасности
Когда вы меняете логику индексации, не забывайте про кэш. После обновления шаблонов и мета-тегов очистите page cache, object cache и кэш CDN, иначе вы будете проверять старую версию страницы. Если используете плагин вроде Clearfy Pro, удобно сначала собрать в нём базовую чистку дублей и технических архивов, а уже потом добивать точечные правила кодом: Clearfy Pro.
С точки зрения безопасности не стоит править ядро или плагины напрямую. Все изменения лучше держать в дочерней теме или в небольшом mu-plugin, чтобы обновление не стерло ваши настройки. Если правило касается только SEO-логики, код должен быть коротким и легко отключаемым.
Если нужно проверить, не ломает ли правка индексацию, сравните несколько страниц до и после: главную, первую страницу архива, вторую страницу архива и одну страницу с параметром фильтра. Это быстрее, чем ждать отчётов неделями.