Пагинация в WordPress часто создаёт не одну, а несколько SEO-проблем сразу: одинаковые title и description на страницах /page/2/, дубли в sitemap, лишние URL в индексе и размывание веса между архивом и его страницами. При этом полностью закрывать пагинацию от индексации не всегда правильно: поисковику нужно понимать структуру архива, а пользователю — быстро находить нужные материалы.
Ниже разберём рабочий сценарий: как найти именно дубли страниц пагинации, что можно исправить настройками, а где уже нужен код. Без выдуманных хуков и без опасных советов вроде массового удаления архивов из индекса «на всякий случай».
Когда проблема действительно в пагинации
Сначала стоит убедиться, что речь не о другом типе дублей. На практике путают три разных случая: одинаковые архивы категорий, дубли из-за параметров URL и повторяющиеся страницы пагинации. Для этой статьи важен именно третий вариант.
Типичные признаки
- в Google Search Console есть URL вида
/category/news/page/2/,/page/3/и похожие; - в выдаче встречаются страницы пагинации с тем же title, что и у первой страницы архива;
- в sitemap попадают URL, которые не несут самостоятельной ценности;
- на страницах архива одинаковый мета-тег description, хотя контент уже другой.
Если у вас только одна страница архива и нет пагинации, этот материал не поможет. Если же архивы большие и страницы листаются, проблема почти всегда упирается в то, как тема и SEO-плагин обрабатывают /page/N/.
Диагностика: что проверить до изменений
Перед правками проверьте три точки: шаблон архива, SEO-мета и sitemap. Это занимает меньше времени, чем потом искать, почему исчезли нужные страницы.
1. Посмотреть, как формируется title
Откройте страницу архива и её пагинацию вручную. Если на второй и третьей страницах title совпадает с первой, поисковик может считать их почти одинаковыми документами. В некоторых темах это происходит из-за кастомного вывода <title> без учёта номера страницы.
2. Проверить canonical
На страницах пагинации canonical должен указывать на саму страницу пагинации, а не всегда на первую страницу архива. Если canonical принудительно ведёт на первую страницу, поисковик может игнорировать остальные страницы, даже если они нужны для обхода контента.
3. Сравнить sitemap и robots
Если пагинированные URL попали в sitemap, а вы одновременно закрываете их от индексации, получается противоречие. Поисковый робот видит страницу в карте сайта, но получает сигнал не индексировать её. Это не всегда критично, но лишний шум создаёт.
Что делать: рабочая схема без лишнего риска
Здесь лучше идти по шагам. Сначала исправить шаблон и мета-теги, потом решить, нужно ли закрывать пагинацию от индексации, и только после этого трогать sitemap.
Шаг 1. Сделать title страниц пагинации уникальным
Если тема не добавляет номер страницы автоматически, можно поправить это через фильтр document_title_parts. Он работает в современных темах WordPress и не требует переписывать шаблон целиком.
<?php
add_filter('document_title_parts', function ($parts) {
if (is_paged()) {
$paged = max(2, (int) get_query_var('paged'));
$parts['title'] = $parts['title'] . ' — страница ' . $paged;
}
return $parts;
});Этот вариант полезен, если у вас архивы категорий, меток или записей выглядят одинаково на всех страницах. Но не стоит добавлять «страница 2» в title для всего сайта подряд — только там, где есть реальная пагинация.
Шаг 2. Настроить canonical для пагинированных архивов
Если SEO-плагин или тема ставит canonical на первую страницу архива, это нужно исправлять аккуратно. В WordPress есть фильтр wpseo_canonical для Yoast SEO и аналогичные механизмы у других плагинов, но универсальный подход — не ломать canonical вручную без необходимости. Если canonical уже корректный, лучше ничего не трогать.
Для проверки откройте исходный код страницы /page/2/ и убедитесь, что canonical указывает именно на этот URL, а не на первую страницу архива. Если canonical неправильный, сначала ищите, кто его подменяет: тема, SEO-плагин или кастомный код.
Шаг 3. Закрыть от индексации только технически бесполезные страницы
Не все пагинированные страницы нужно закрывать. Но если у вас очень мелкие архивы, где вторая и третья страницы почти не дают ценности, можно добавить noindex,follow только для пагинации архивов. Это компромисс: робот не индексирует страницу, но может пройти по ссылкам дальше.
<?php
add_filter('wp_robots', function (array $robots) {
if (is_paged() && (is_category() || is_tag() || is_tax() || is_archive())) {
$robots['noindex'] = true;
$robots['follow'] = true;
}
return $robots;
});Важно: не применяйте это ко всем страницам сайта. Для записей, страниц и важных разделов noindex может навредить. Логика должна быть узкой и понятной.
Шаг 4. Убрать пагинацию из XML sitemap, если она там не нужна
Если ваш SEO-плагин добавляет в sitemap страницы пагинации архивов, проверьте его настройки. В большинстве случаев это можно отключить без кода. Если же такой опции нет, проще исключить пагинированные URL на уровне генерации sitemap, чем потом бороться с дублями в индексе.
Для самописных решений логика обычно строится на фильтре генератора sitemap, но конкретный хук зависит от плагина. Если у вас нет уверенности, лучше не писать «универсальный» код вслепую. В WordPress это как раз тот случай, когда безопаснее настроить плагин, чем вмешиваться в генерацию карты сайта вручную.
Сравнение подходов
| Подход | Когда подходит | Минус |
|---|---|---|
| Настроить title и canonical | Если дубли только в мета-данных | Не решает проблему, если пагинация уже в sitemap |
noindex,follow для пагинации | Если страницы листинга малоценны для поиска | Нужно аккуратно ограничить условия |
| Исключить пагинацию из sitemap | Если карта сайта раздута техническими URL | Зависит от SEO-плагина или кастомной реализации |
Проверка результата после внедрения
После правок не ограничивайтесь просмотром страницы в браузере. Нужна проверка именно тех сигналов, которые видит поисковик.
- Откройте
/page/2/и проверьте title, canonical и robots meta. - Сравните первую и вторую страницу архива: title должен отличаться, если вы это настраивали.
- Проверьте sitemap: пагинированные URL не должны попадать туда без причины.
- В Search Console отправьте страницу на повторную проверку, если она уже была проиндексирована.
Если после изменений страница всё ещё индексируется, это не всегда ошибка. Поисковику нужно время, чтобы переобойти URL и обновить сигналы. Но если canonical, robots и sitemap противоречат друг другу, процесс затянется.
Частые ошибки и как их исправить
Одинаковый title на всех страницах архива
Часто это не проблема SEO-плагина, а шаблона темы. Проверьте, не переопределён ли вывод заголовка через wp_title в старом коде или через кастомный <title> в header.php. В современных темах лучше опираться на add_theme_support('title-tag') и фильтры WordPress.
Canonical ведёт на первую страницу
Такое поведение иногда кажется логичным, но для пагинации оно спорное. Если страница реально нужна для навигации, canonical должен отражать текущий URL. Иначе поисковик может выкинуть из индекса полезные страницы листинга.
Закрыли от индексации всё подряд
Самая частая ошибка — поставить noindex на все архивы, а потом удивляться падению видимости. Ограничивайте правило только пагинированными страницами и только там, где это оправдано.
Пагинация осталась в sitemap
Если карту сайта генерирует SEO-плагин, ищите настройку исключения архивов или типов страниц. Если карта генерируется кодом, проверьте, не добавляете ли вы туда URL через общий список без фильтра по is_paged().
Практические советы по производительности и безопасности
Когда вы правите пагинацию, не забывайте о побочных эффектах. Лишние запросы к базе, тяжёлые фильтры и неаккуратные условия могут замедлить архивы сильнее, чем сами дубли.
- не делайте отдельный
WP_Queryвнутри цикла архива без необходимости; - не добавляйте сложные проверки в каждый запрос, если можно ограничиться архивами и пагинацией;
- если используете SEO-плагин, сначала проверьте его настройки, а уже потом пишите код;
- после изменений очистите кэш страницы и объектный кэш, если он есть;
- не закрывайте от индексации URL, которые уже получают трафик и имеют внешние ссылки, без анализа в Search Console.
Если нужен более широкий технический аудит дублей, кэширования и индексации, удобно сначала привести в порядок базовые SEO-настройки и только потом идти в код. В некоторых проектах это проще сделать через набор инструментов вроде Clearfy Pro, но даже тогда логику пагинации лучше проверять вручную, а не полагаться на общую галочку.
Когда лучше не трогать пагинацию кодом
Если сайт маленький, архивов немного и поисковый трафик не зависит от листингов, иногда достаточно просто оставить пагинацию как есть. Код нужен тогда, когда есть конкретная проблема: дубли title, неправильный canonical, лишние URL в sitemap или мусорные страницы в индексе. Без этого вмешательство может создать больше шума, чем пользы.
Хорошее правило простое: сначала измеряем, потом меняем. Для пагинации это особенно важно, потому что одна и та же правка может быть полезной на новостном сайте и лишней на блоге с десятью записями в категории.