Почему появляется ошибка 404 у товаров WooCommerce
Наиболее распространенные причины:- не обновились правила постоянных ссылок;
- поврежден файл .htaccess;
- конфликт плагинов;
- конфликт активной темы;
- неправильные настройки структуры URL;
- ошибки после переноса сайта;
- неработающий модуль mod_rewrite;
- кэширование старых маршрутов.
Способ 1. Сохраните постоянные ссылки
Это первое действие, которое необходимо выполнить.
Перейдите:
Настройки → Постоянные ссылки
Ничего не меняя, нажмите кнопку:
Сохранить изменения
WordPress автоматически пересоздаст правила маршрутизации, и во многих случаях страницы товаров снова станут доступными.
Способ 2. Проверьте структуру ссылок WooCommerce
В этом же разделе проверьте настройки ссылок товаров. Рекомендуемые варианты:/product/sample-product/
или
/shop/sample-product/
Избегайте конфликтующих структур, которые совпадают со страницами или записями.
Способ 3. Проверьте файл .htaccess
Для Apache стандартный файл должен содержать следующие правила:# 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
Если файл отсутствует или содержит ошибки, маршрутизация WooCommerce может работать некорректно.
Способ 4. Принудительно обновите правила Rewrite
Добавьте следующий код во временный файл или в functions.php:add_action('init', function () { flush_rewrite_rules(); });
После открытия сайта удалите данный код.
Важно: выполнять flush_rewrite_rules() при каждом открытии страницы нельзя, так как это существенно снижает производительность сайта.
Способ 5. Проверьте регистрацию товаров
WooCommerce использует собственный тип записей:product
Проверьте:
Товары → Все товары
Если товары отображаются в панели управления, но открываются с ошибкой 404, проблема, скорее всего, связана с маршрутизацией.
Способ 6. Временно отключите плагины
Некоторые SEO-плагины, плагины безопасности и генераторы URL могут изменять правила обработки ссылок. Последовательно отключите сторонние расширения, кроме WooCommerce. Если ошибка исчезла, включайте плагины по одному до обнаружения конфликтующего.Способ 7. Проверьте тему оформления
Иногда проблема возникает после установки новой темы. Для проверки временно активируйте одну из стандартных тем WordPress. Например:- Twenty Twenty-Four;
- Twenty Twenty-Five;
- Storefront.
Способ 8. Очистите кеш
После изменения структуры ссылок обязательно очистите:- кеш WordPress;
- кеш браузера;
- кеш CDN;
- кеш сервера;
- кеш Redis или Memcached.
Способ 9. Проверьте наличие товара
Убедитесь, что товар опубликован.Статус: Опубликован
Если товар находится в корзине или является черновиком, WordPress может возвращать ошибку 404.
Способ 10. Найдите конфликт slug
Нельзя использовать одинаковые адреса. Например:/shop/ /shop/
Если существует страница и категория с одинаковым URL, WordPress может неправильно определять маршрут.
Проверка существования товара программно
<?php $product = wc_get_product(get_the_ID()); if ($product) { echo "Товар найден"; } else { echo "Товар отсутствует"; } ?>
Проверка типа записи
<?php if (get_post_type() === 'product') { echo 'Это страница товара'; } ?>
Проверка регистрации Rewrite
<?php global $wp_rewrite; echo '<pre>'; print_r($wp_rewrite->rules); echo '</pre>'; ?>
Если правила для товаров отсутствуют, необходимо обновить постоянные ссылки.
Проверка WooCommerce
<?php if (class_exists('WooCommerce')) { echo 'WooCommerce активен'; } ?>
Проверка сервера Nginx
При использовании Nginx должна присутствовать передача запросов в WordPress.location / { try_files $uri $uri/ /index.php?$args; }
Без этой директивы многие страницы WooCommerce будут возвращать ошибку 404.
Распространенные ошибки
- не сохранены постоянные ссылки после установки WooCommerce;
- удален файл .htaccess;
- неверная конфигурация Nginx;
- конфликт SEO-плагинов;
- дублирующиеся URL страниц;
- неопубликованные товары;
- ошибки после миграции сайта.
Рекомендации по предотвращению ошибки 404
- После переноса сайта всегда пересохраняйте постоянные ссылки.
- Не удаляйте системные правила WordPress из файла .htaccess.
- Используйте уникальные URL для товаров, страниц и категорий.
- Проверяйте работу сайта после установки новых плагинов.
- Очищайте кеш после изменения структуры ссылок.
- Регулярно обновляйте WordPress, WooCommerce и тему оформления.
Метки: WooCommerce, WordPress



