Если у вас нормально открывается первая страница рубрики, а /page/2/ или следующие страницы архива отдают 404, проблема почти всегда не в «битом WordPress», а в одном из трех мест: правилах пермалинков, конфликте с плагином кэша/SEO или в том, как тема выводит архивы. Это типичный технический сбой, который легко маскируется под «индексация сломалась», хотя на деле страдает обычная пагинация.
Ниже — практический разбор: как быстро диагностировать источник 404, что проверить в админке и на сервере, как исправить без лишних костылей и как убедиться, что все действительно заработало.
Когда проблема именно в пагинации, а не в индексации
Сначала важно отличить реальную ошибку маршрутизации от SEO-ограничений. Если страница существует, но закрыта от индексации через noindex или canonical, это одна история. Если же URL физически возвращает 404, это уже проблема запроса к WordPress или веб-серверу.
Типичные симптомы
- первая страница рубрики открывается, а вторая и дальше — 404;
- в админке в разделе «Записи» все нормально, но архивы категорий пустые на страницах 2+;
- после смены темы или плагина SEO пагинация ломается только в некоторых типах архивов;
- 404 появляется не везде, а только на URL вида
/category/news/page/2/или/tag/seo/page/3/; - в логах сервера нет ошибок PHP, но WordPress отдает не тот шаблон.
Что проверить в первую очередь
- открывается ли URL напрямую в браузере без редиректов;
- есть ли проблема только на архивных страницах или и на обычных страницах тоже;
- не менялись ли недавно структура постоянных ссылок, рубрики или префикс категорий;
- не включен ли плагин, который переписывает архивные URL;
- не стоит ли агрессивный кэш на уровне сервера или CDN.
Диагностика: где именно ломается маршрут
Для начала проверьте, не сломаны ли правила перезаписи. В WordPress пагинация архивов строится на rewrite rules, и если они не обновились после изменений, часть URL начинает вести в 404.
Шаг 1. Сбросьте правила пермалинков
Самый безопасный тест — просто пересохранить структуру постоянных ссылок в админке: Настройки → Постоянные ссылки, ничего не меняя, нажать «Сохранить изменения». Это заставляет WordPress пересобрать rewrite rules.
Если у вас есть доступ к WP-CLI, можно проверить и обновить правила так:
wp rewrite flush --hardИспользуйте это осознанно: команда переписывает правила и может быть лишней на высоконагруженном сайте, если запускать ее без причины. Для разовой диагностики это нормально.
Шаг 2. Посмотрите, не конфликтует ли плагин
Часто пагинацию ломают плагины, которые вмешиваются в архивы: SEO-плагины, фильтры контента, плагины кэша, мультиязычность, кастомные хлебные крошки. Самый быстрый способ — временно отключить все плагины, кроме необходимых для входа в админку, и проверить проблемный URL.
Если 404 исчезает, включайте плагины по одному. Обычно виновник находится быстро: либо плагин меняет query_vars, либо подменяет canonical/redirect, либо кеширует старую структуру.
Шаг 3. Проверьте шаблон архива в теме
Если тема пишет собственные запросы через WP_Query, она может неправильно передавать номер страницы. Это особенно заметно в кастомных архивах, блоках «похожие записи» и на главной, если она собрана вручную.
Частая ошибка — использовать paged не из глобального запроса или забыть его передать в параметры запроса. Для архивов это критично.
$paged = max( 1, get_query_var( 'paged' ) );
$query = new WP_Query( array(
'post_type' => 'post',
'posts_per_page' => 10,
'paged' => $paged,
) );Если paged не передан, WordPress будет считать, что это первая страница, и пагинация начнет вести себя странно: ссылки есть, а страницы 2+ не находятся.
Пошаговое решение без лишних рисков
Ниже порядок, который обычно дает результат без переустановки и «магических» плагинов.
1. Обновите правила перезаписи
После изменения структуры ссылок, рубрик, языковых префиксов или установки SEO-плагина сначала пересохраните постоянные ссылки. Это самый частый и самый недооцененный шаг.
2. Проверьте functions.php и кастомные запросы
Если на сайте есть собственные архивы, убедитесь, что в запросах корректно используется номер страницы. Для главной страницы и архивов WordPress иногда различает paged и page. В обычных архивах нужен paged.
$paged = max( 1, get_query_var( 'paged' ) );
$args = array(
'post_type' => 'post',
'posts_per_page' => 12,
'paged' => $paged,
);
$archive_query = new WP_Query( $args );Если вы выводите записи на статической странице-шаблоне, иногда нужен другой подход: get_query_var( 'page' ). Но это уже зависит от того, как именно устроен шаблон. Не смешивайте эти переменные наугад.
3. Уберите конфликтующие редиректы
Плагины безопасности и SEO иногда пытаются «исправить» URL и перенаправляют пагинацию на первую страницу архива. В результате пользователь видит не 404, а редирект, который потом снова ломается. Проверьте, нет ли правил, которые трогают страницы вида /page/2/.
Если используете собственный код редиректов, не делайте жесткий редирект для всех URL с /page/. Это слишком грубо и ломает нормальную пагинацию.
4. Очистите кэш
После исправления правил обязательно очистите:
- кэш плагина;
- серверный кэш, если он есть;
- CDN-кэш;
- браузерный кэш для теста в режиме инкогнито.
Иначе можно принять старую 404-страницу за незавершенное исправление.
Сравнение подходов: плагин, код или настройка сервера
| Подход | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Пересохранить постоянные ссылки | После миграции, смены темы, установки SEO-плагина | Быстро, безопасно | Не помогает, если ошибка в шаблоне или плагине |
| Исправить запрос в теме | Кастомные архивы, собственные шаблоны | Точное решение | Нужен доступ к коду |
| Отключить конфликтующий плагин | После обновления SEO, кэша, мультиязычности | Находит источник проблемы | Требует проверки по одному |
Как проверить, что исправление сработало
После изменений не ограничивайтесь открытием первой страницы архива. Проверьте именно те URL, которые раньше отдавали 404.
- Откройте
/category/slug/page/2/и/page/3/, если проблема была на главной или в архиве. - Посмотрите HTTP-статус через DevTools или
curl -I. - Проверьте, что на странице есть ожидаемые записи, а не пустой шаблон.
- Убедитесь, что canonical указывает на текущую страницу, а не на первую страницу архива.
Пример проверки через консоль:
curl -I https://example.com/category/news/page/2/В ответе должен быть не 404 Not Found, а нормальный 200 OK. Если у вас есть мониторинг логов, полезно посмотреть, не продолжают ли приходить 404 на старые адреса после очистки кэша.
Частые ошибки и как их исправить
Используют paged там, где нужен page
Это типичная ошибка в шаблонах статических страниц. В результате вторая страница не находится, хотя код выглядит «почти правильно». Если шаблон работает с WP_Query на странице, проверьте, какой тип запроса у вас реально используется.
Не сбрасывают правила после изменения структуры ссылок
После смены префикса рубрик или переноса сайта rewrite rules могут остаться старыми. WordPress продолжает искать старые маршруты и отдает 404. Пересохранение постоянных ссылок обычно решает это без ручного редактирования .htaccess.
Путают 404 и noindex
Если страница открывается, но не индексируется, это не ошибка пагинации. Не лечите noindex через rewrite rules. Сначала проверьте статус ответа, потом уже SEO-настройки.
Ставят жесткий редирект на первую страницу
Иногда в коде добавляют редирект для всех URL с /page/, чтобы «убрать дубли». В итоге ломается нормальная навигация по архивам. Если нужен контроль индексации, лучше работать с canonical и мета-тегами, а не с грубым редиректом.
Практические советы по безопасности и производительности
Если проблема была вызвана кастомным кодом, не оставляйте его в виде временного хака в functions.php без проверки. Лучше вынести логику в небольшой mu-plugin или хотя бы в отдельный файл, чтобы не потерять ее при смене темы.
Для сайтов с большим количеством архивов полезно:
- не запускать тяжелые
WP_Queryбез необходимости; - не делать лишние запросы в цикле пагинации;
- не генерировать ссылки вручную, если можно использовать
paginate_links(); - следить, чтобы кэш не хранил старые 404 после деплоя.
Если вам нужен более широкий контроль над SEO-настройками, чисткой дублей и техническими мелочами, иногда проще использовать инструментальный плагин вроде Clearfy Pro, но только как дополнение к диагностике, а не вместо нее: сначала выясните причину 404, потом уже автоматизируйте рутину.
В нормальной схеме после исправления пагинации у вас должны стабильно открываться все страницы архива, а в логах перестать появляться запросы к несуществующим страницам. Если этого не произошло, проблема, скорее всего, не в одном месте, а в связке из темы, плагина и кэша — и тогда проверять нужно каждый слой отдельно.