Как исправить 404 на страницах пагинации в WordPress

Сценарий знакомый: главная рубрика открывается нормально, а /page/2/, /page/3/ или страницы архива автора отдают 404. Иногда это всплывает после смены темы, установки SEO-плагина, правки .htaccess или переноса сайта на новый сервер. Проблема не только в том, что пользователь не может дойти до старых записей. Для поисковика это еще и сигнал, что структура архива сломана.

Ниже — практический разбор: как понять, где именно ломается пагинация, что проверить в WordPress и как исправить это без лишних костылей.

Когда 404 на пагинации — это именно проблема WordPress

Сначала стоит отделить поломку маршрутизации от обычной ситуации, когда на странице реально нет контента. Если у рубрики всего 8 записей, то /page/2/ может быть недоступна просто потому, что второй страницы не существует. Но если записей много, а вторая страница архива внезапно стала 404, почти всегда дело в одном из трех мест:

  • сбились правила пермалинков;
  • тема или плагин неправильно формируют ссылки пагинации;
  • серверный редирект, кэш или кастомный rewrite перехватывает запрос раньше WordPress.

Что проверить в первую очередь

Откройте проблемный архив и сравните поведение на первой и второй странице. Если первая страница работает, а вторая нет, это уже хороший признак того, что проблема не в самом архиве, а в правилах маршрутизации или генерации ссылок.

Полезно проверить:

  • работают ли /page/2/ у рубрик, тегов и автора одинаково;
  • не сломались ли ссылки после смены структуры постоянных ссылок;
  • не стоит ли на сайте плагин, который меняет архивы, пагинацию или канонические URL;
  • не отдает ли сервер 301/302 на другой URL до того, как WordPress успевает обработать запрос.

Диагностика: где именно ломается маршрут

Самый быстрый способ понять источник ошибки — посмотреть, что реально возвращает сервер. Если у вас есть доступ к консоли, проверьте заголовки ответа и итоговый код.

curl -I https://example.com/category/news/page/2/

Если вместо 200/301 вы видите 404, а в браузере страница тоже не открывается, значит запрос не доходит до корректного шаблона архива. Если же сервер отдает 200, но контент не тот, проблема уже в теме или плагине, который подменяет запрос.

В админке WordPress полезно временно открыть Настройки → Постоянные ссылки и просто нажать «Сохранить изменения». Это не магия, а принудительная пересборка rewrite-правил. Если после этого пагинация ожила, значит проблема была в устаревших правилах.

Пошаговое решение без лишних правок

1. Сбросьте правила пермалинков

Это безопасный первый шаг. Он не меняет структуру URL, а только обновляет правила маршрутизации. После сохранения пермалинков проверьте проблемный архив еще раз.

Если доступен WP-CLI, можно сделать это и из консоли:

wp rewrite flush --hard

Команда полезна после миграции, смены темы или массовых правок rewrite-правил. Но не стоит запускать ее на каждом запросе или в cron: это лишняя нагрузка и плохая практика.

2. Проверьте, как тема выводит пагинацию

Во многих темах ошибка появляется не в WordPress как таковом, а в шаблоне архива. Частая проблема — ручная сборка пагинации через paginate_links() с неверным base или format. Если URL строится неправильно, вторая страница может вести в никуда.

Рабочий пример для архивов:

<?php
$big = 999999999;

echo paginate_links( array(
    'base'      => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format'    => '',
    'current'   => max( 1, get_query_var( 'paged' ) ),
    'total'     => $wp_query->max_num_pages,
    'mid_size'  => 2,
    'prev_text' => '← Назад',
    'next_text' => 'Вперед →',
) );
?>

Если у вас кастомный WP_Query, не забудьте передать правильный параметр paged. Иначе первая страница будет работать, а переходы дальше — нет.

<?php
$paged = max( 1, get_query_var( 'paged' ) );

$query = new WP_Query( array(
    'post_type'      => 'post',
    'posts_per_page' => 10,
    'paged'          => $paged,
) );
?>

3. Убедитесь, что rewrite не перехватывает пагинацию

Если в теме или плагине есть собственные правила add_rewrite_rule(), они могут конфликтовать с архивной пагинацией. Это особенно заметно, когда добавляют красивые URL для разделов, фильтров или страниц каталога.

Пример корректного добавления правила, которое не ломает стандартную пагинацию, — когда вы явно задаете отдельный шаблон и не перекрываете общий архивный путь:

<?php
add_action( 'init', function() {
    add_rewrite_rule(
        '^catalog/([^/]+)/?$',
        'index.php?post_type=product&name=$matches[1]',
        'top'
    );
} );

После изменения rewrite-правил обязательно пересохраните постоянные ссылки. Без этого новое правило может не попасть в таблицу маршрутизации.

Сравнение подходов: плагин, код или правка темы

ПодходКогда уместенПлюсыМинусы
Сброс пермалинковПосле миграции, смены темы, обновления rewriteБыстро, безопасноНе лечит ошибку в шаблоне
Правка шаблона архиваЕсли сломана генерация ссылок пагинацииТочный контрольНужен доступ к теме и понимание WP_Query
Плагин для SEO/чисткиЕсли проблема связана с дублями, canonical, лишними архивамиМеньше ручного кодаЛегко скрыть первопричину, если не проверить шаблоны

Если на сайте много технического мусора — дубли архивов, лишние мета-теги, конфликтующие canonical и похожие вещи — иногда удобнее сначала навести порядок в настройках SEO-плагина. Например, в Clearfy Pro есть инструменты для чистки WordPress и удаления части дублей, но использовать такие плагины стоит как дополнение к диагностике, а не как замену проверке шаблонов.

Проверка результата после внедрения

После исправления не ограничивайтесь ручным открытием одной страницы. Проверьте несколько сценариев:

  • /page/2/ у рубрики с большим числом записей;
  • страницу автора, если она используется в индексации;
  • архив тегов, если он открыт для поиска;
  • страницу с кастомным типом записи, если у него включена архивная пагинация.

Дальше смотрите не только код ответа, но и сам HTML. На второй странице должны быть корректные ссылки rel=

Как запретить индексацию отдельных страниц в WordPress через robots.txt, noindex и каноникал
12.09.2026
Как исправить 404 на страницах пагинации в WordPress
15.09.2026