Пагинация архивов в WordPress часто создает не один, а сразу несколько типов дублей: страницы категорий с параметрами, архивы с /page/2/, сортировки, а иногда еще и версии с тегами, которые повторяют один и тот же набор записей. Если это не контролировать, поисковик начинает тратить обход на мусорные URL, а в индексе появляются страницы, которые не должны ранжироваться отдельно.
Ниже разберем рабочую схему: что именно закрывать, что оставлять открытым, как настроить robots.txt и canonical, и как проверить, что после правок сайт не потерял нужные страницы из индекса.
Когда проблема действительно в дублях пагинации
Не каждая просадка по индексации связана с пагинацией. Сначала стоит убедиться, что у вас именно технический дубль, а не слабый контент или плохая структура сайта.
Типичные признаки
- в Google Search Console много URL вида
/category/page/2/,/tag/page/3/,?orderby=или других параметров; - в выдаче всплывают нецелевые страницы архивов вместо карточек записей;
- одна и та же статья доступна через несколько путей, например через рубрику, тег и архив автора;
- в логах обхода заметно, что бот часто ходит по страницам пагинации, но почти не доходит до новых материалов;
- на страницах пагинации canonical указывает на саму страницу, хотя вы хотите, чтобы они не конкурировали с основным архивом.
Если у вас небольшой сайт и несколько десятков записей, пагинация обычно не проблема. Она становится заметной, когда архивы разрастаются, а фильтры и таксономии начинают плодить однотипные страницы.
Что закрывать, а что не трогать
Главная ошибка — пытаться закрыть все подряд. Это ломает навигацию и может ухудшить обход сайта. В WordPress лучше разделять задачи: что-то закрываем от индексации, что-то оставляем доступным для пользователей, но не даем поисковику считать это отдельной посадочной страницей.
| Подход | Когда подходит | Минус |
|---|---|---|
noindex,follow | Для страниц пагинации архивов, которые нужны пользователю, но не должны ранжироваться отдельно | Страница остается в обходе, но не должна попадать в индекс |
| Canonical на первую страницу архива | Когда страницы 2, 3, 4 повторяют список записей и не несут самостоятельной ценности | Нужно аккуратно проверить, чтобы не сломать пагинацию для пользователей |
Закрытие в robots.txt | Для явного мусора с параметрами, если он не нужен ни пользователю, ни поисковику | Если закрыть слишком широко, можно случайно спрятать полезные URL |
Для обычных архивов рубрик и тегов чаще всего достаточно noindex,follow на страницах пагинации и корректного canonical. А вот параметры сортировки, внутреннего поиска и служебные URL лучше ограничивать отдельно.
Пошаговое решение
1. Проверьте, как сейчас формируются canonical и meta robots
Если у вас стоит SEO-плагин, сначала посмотрите его настройки. Многие проблемы возникают не в WordPress, а в конфликте между темой, плагином SEO и кастомным кодом.
Для проверки откройте исходный код страницы пагинации и найдите:
<link rel="canonical" ...>;<meta name="robots" content="...">;- нет ли дублирующихся тегов, которые выводят и тема, и плагин.
Если canonical уже указывает на первую страницу архива, это нормально для многих сценариев. Если он указывает на саму пагинацию, а вы хотите убрать ее из индекса, настройку нужно менять.
2. Добавьте noindex для страниц пагинации архивов
Ниже пример для темы или небольшого 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;
});Этот вариант опирается на стандартный фильтр WordPress wp_robots. Он безопаснее, чем ручная печать meta-тега в шаблоне, потому что не создает второй источник правды.
3. Настройте canonical для пагинации
Если вы хотите, чтобы страницы /page/2/ не конкурировали с первой страницей архива, canonical можно направить на базовый URL архива. Но делать это стоит только для архивов, а не для записей и страниц.
<?php
add_filter('get_canonical_url', function ($canonical, $post) {
if (is_paged() && (is_home() || is_category() || is_tag() || is_tax() || is_author())) {
$base = get_pagenum_link(1, false);
return user_trailingslashit($base);
}
return $canonical;
}, 10, 2);Если у вас уже есть SEO-плагин, сначала проверьте его настройки. Не стоит одновременно править canonical в коде и в плагине без понимания, кто именно выводит итоговый тег.
4. Закройте мусорные параметры в robots.txt
Если на сайте есть URL с параметрами поиска, сортировки или фильтрации, их можно ограничить в robots.txt. Но это не замена noindex и canonical — это отдельный слой для явного мусора.
User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /*?orderby=
Disallow: /*?filter=
Disallow: /*?replytocom=Здесь важно не переусердствовать. Например, если у вас на сайте есть важные страницы с параметрами, не закрывайте все URL с вопросительным знаком без разбора.
5. Уберите дубли на уровне шаблонов архива
Иногда дубли появляются из-за темы: на страницах пагинации выводится одинаковый заголовок, одинаковый текст и одинаковые блоки, а сама страница ничем не отличается от первой. В таком случае лучше не маскировать проблему только мета-тегами, а сократить повторяющийся контент в шаблоне.
Например, на первой странице архива можно показывать описание рубрики, а на последующих — скрывать его:
<?php if (is_category() && !is_paged()) : ?>
<div class="archive-description">
<?php echo category_description(); ?>
</div>
<?php endif; ?>Это не решает индексацию само по себе, но уменьшает количество повторов и делает архивы менее шумными для поисковика.
Как проверить, что решение сработало
После внедрения не ограничивайтесь просмотром исходника на одной странице. Проверьте несколько уровней.
- Откройте первую страницу архива и страницу
/page/2/: canonical должен вести туда, куда вы задумали, а meta robots — соответствовать настройке. - Проверьте, что на страницах пагинации нет второго
meta name="robots"из темы или плагина. - В Search Console отправьте на проверку несколько URL пагинации и посмотрите, как они интерпретируются после переобхода.
- Убедитесь, что важные записи по-прежнему доступны по нормальным URL и не получили случайный
noindex. - Проверьте sitemap: в него не должны попадать служебные URL с параметрами и мусорные архивы.
Если используете серверный кэш или CDN, очистите кэш после правок. Иначе вы можете смотреть старую версию страницы и думать, что код не сработал.
Частые ошибки и как их исправить
Ставят noindex на все архивы подряд
Это ломает рубрики, теги и авторские архивы даже там, где они полезны. Ограничивайте правило только страницами пагинации или только конкретными типами архивов.
Закрывают пагинацию в robots.txt и ждут, что она выпадет из индекса
Если URL уже известен поисковику, одного Disallow часто недостаточно. Для удаления из индекса нужен noindex или корректная переобходная схема.
Получают два canonical на странице
Обычно это конфликт темы и SEO-плагина. Нужно оставить один источник canonical: либо плагин, либо код в теме, но не оба сразу.
Ставят canonical на первую страницу, но оставляют дублированный контент в шаблоне
Canonical помогает, но не лечит плохую структуру архива. Если на странице пагинации повторяется большой текстовый блок, поисковик все равно видит слабую страницу.
Закрывают параметры, которые реально нужны пользователям
Например, фильтры в каталоге или сортировку в разделе материалов. Перед правкой проверьте, какие URL реально используются в навигации и не завязаны ли на них внутренние ссылки.
Что делать, если нужен более простой способ без кода
Если вы не хотите держать кастомный код в теме, часть задач можно закрыть через SEO-плагин. Но смотрите не на количество галочек, а на то, умеет ли плагин отдельно управлять canonical, meta robots и архивами пагинации. В некоторых проектах удобнее использовать один инструмент для чистки дублей и технических мета-настроек, например Clearfy Pro: https://wpshop.ru/plugins/clearfy.
Но даже если вы используете плагин, проверка остается той же: исходный код страницы, Search Console, sitemap и отсутствие конфликтующих тегов.
Мини-чек-лист перед публикацией правок
- canonical на страницах пагинации соответствует выбранной стратегии;
noindex,followстоит только там, где это действительно нужно;- в
robots.txtнет слишком широких запретов; - в теме и плагинах нет двух одинаковых meta robots;
- после очистки кэша страница показывает актуальный HTML;
- в sitemap не попали служебные URL и параметры.
Если после правок страницы пагинации все еще лезут в индекс, обычно проблема не в одном теге, а в смеси факторов: внутренние ссылки, sitemap, дубли шаблонов и конфликт плагинов. В таких случаях проще идти от исходника страницы и смотреть, какой именно слой снова возвращает дубль.