Как исправить ошибку 404 при переходе по страницам пагинации WooCommerce

Диагностика проблемы ошибки 404 в пагинации WooCommerce

Ошибка 404 при переходе по страницам пагинации в WooCommerce — частая проблема, которая возникает из-за неправильной работы ЧПУ (человеко-понятных URL) или конфликтов с правилами перезаписи (rewrite rules). Обычно это проявляется, когда первая страница категории или архива товара работает корректно, а при клике на ссылки пагинации открывается страница с ошибкой 404.

Для диагностики выполните следующие шаги:

  • Проверьте, используются ли ЧПУ для товаров и категорий в настройках Настройки > Постоянные ссылки.
  • Очистите кэш сайта и браузера, чтобы исключить кеширование старых URL.
  • Попробуйте переключить тему на стандартную (например, Storefront) и отключить все плагины, кроме WooCommerce, чтобы выявить конфликт.
  • Проверьте настройки пагинации в шаблоне: корректно ли передаётся параметр paged в запросы WP_Query.
  • Просмотрите файл .htaccess и убедитесь, что там присутствуют стандартные правила перезаписи WordPress.

Пошаговое решение ошибки 404 при пагинации WooCommerce

1. Сбросьте постоянные ссылки

В админке WordPress перейдите в Настройки > Постоянные ссылки и просто нажмите кнопку «Сохранить изменения» без изменения настроек. Это сбросит правила перезаписи.

2. Проверьте и исправьте параметры WP_Query для пагинации

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

 $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1; 
$args = [
    'post_type' => 'product',
    'posts_per_page' => 12,
    'paged' => $paged
];
$query = new WP_Query($args);

Без параметра paged пагинация работать не будет.

3. Убедитесь в правильности шаблонов WooCommerce

Если вы переопределяете шаблоны WooCommerce в теме, проверьте, что в файлах archive-product.php и content-product.php вызовы пагинации реализованы через стандартные функции WooCommerce:

 woocommerce_product_loop_start();
if ( wc_get_loop_prop( 'total' ) ) {
    woocommerce_pagination();
}
woocommerce_product_loop_end();

4. Проверьте файл .htaccess

Стандартный файл для WordPress должен содержать примерно такой блок:

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Если файл отсутствует или повреждён, создайте или восстановите его.

5. Отключите плагины, влияющие на ЧПУ и кеширование

Плагины для SEO, кеширования или оптимизации URL (например, Clearfy, WP Rocket, Autoptimize) иногда могут ломать пагинацию. Отключите их временно и проверьте работу пагинации.

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

После выполнения шагов:

  • Перейдите в категорию товаров на вашем сайте.
  • Кликните на номера страниц пагинации (2, 3 и т.д.).
  • Убедитесь, что открываются соответствующие страницы с товарами, без ошибки 404.
  • Проверьте, что URL содержит правильный параметр /page/2/ и что товары корректно загружаются.
  • Если есть кеширование, очистите кэш и повторите проверку.

Частые ошибки и их исправление

  • Отсутствие параметра paged в WP_Query. Решение: всегда указывайте 'paged' => get_query_var('paged', 1) при кастомных запросах товаров.
  • Неправильные правила перезаписи в .htaccess. Решение: сбросьте постоянные ссылки и восстановите стандартный .htaccess.
  • Конфликт с плагинами кеширования. Решение: отключите кеширование для страниц пагинации WooCommerce или настройте исключения.
  • Кастомные шаблоны WooCommerce без вызова стандартной пагинации. Решение: используйте функцию woocommerce_pagination() для вывода навигации.
  • Использование параметра page вместо paged. Решение: в WP_Query всегда должен быть параметр paged для пагинации.

Практические советы по безопасности и производительности

  • Избегайте дублирования запросов: используйте стандартные хуки WooCommerce для пагинации, чтобы избежать избыточных запросов к базе.
  • Отключите кеширование для страниц пагинации WooCommerce, чтобы пользователи всегда видели актуальные товары и наличие.
  • Не меняйте вручную правила перезаписи, если не уверены — используйте встроенный сброс постоянных ссылок.
  • Регулярно обновляйте WooCommerce и тему, чтобы избежать несовместимостей, влияющих на пагинацию.

Сравнение вариантов решения ошибки 404 пагинации WooCommerce

СпособОписаниеПлюсыМинусы
Сброс постоянных ссылокПерегенерация правил перезаписи WordPressПростое и быстрое решениеНе всегда помогает при кастомном коде
Правильное использование параметра pagedКорректировка WP_QueryГарантирует работу пагинации при кастомных запросахТребует правок в коде
Использование стандартных WooCommerce шаблоновДобавление функции woocommerce_pagination()Интегрировано с WooCommerceНужна корректировка темы
Отключение конфликтующих плагиновВыявление и устранение конфликтовОбеспечивает стабильностьМожет снизить функциональность сайта

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как исправить неработающую пагинацию при пользовательских запросах WP_Query в WordPress
28.04.2026
Как исправить ошибку 404 при переходе по страницам пагинации в WordPress
18.04.2026
Как добавить пагинацию в WP Admin для кастомных типов записей
28.03.2026
Как добавить пагинацию в WordPress для комплексных запросов с таксономиями и meta-данными
11.04.2026
Как сделать пагинацию для WordPress на основе пользовательского запроса WP_Query
14.04.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше