Решение проблемы с отключением WooCommerce после обновления или миграции

Диагностика причины отключения WooCommerce

После обновления WordPress или миграции сайта многие сталкиваются с ситуацией, когда плагин WooCommerce перестает работать — магазин не отображается, страницы товаров и корзины возвращают 404 или пустые, а в админке плагин не активируется или выдает ошибки. Чтобы понять, в чем дело, выполните следующие шаги:

  • Проверьте статус плагина в разделе Плагины. Если WooCommerce отключен — попробуйте активировать и посмотрите на сообщения об ошибках.
  • Включите режим отладки в WordPress, добавив в wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

и проверьте файл wp-content/debug.log на наличие ошибок, связанных с WooCommerce.

  • Проверьте совместимость версии WooCommerce с текущей версией WordPress.
  • Проверьте, корректно ли работают постоянные ссылки — перейдите в Настройки > Постоянные ссылки и нажмите «Сохранить изменения», чтобы сбросить правила .htaccess.
  • Проверьте, не конфликтуют ли другие плагины или тема с WooCommerce, временно отключив все кроме WooCommerce и переключившись на стандартную тему (например, Twenty Twenty-One).

Пошаговое решение проблемы отключения WooCommerce

1. Сброс постоянных ссылок

Самая частая причина проблем с отображением страниц WooCommerce — нарушение правил перезаписи URL. Чтобы исправить:

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

2. Проверка и исправление таблиц базы данных WooCommerce

При миграции или обновлении могут повредиться таблицы базы данных, что мешает работе WooCommerce. Выполните SQL-запрос для проверки целостности (через phpMyAdmin или WP CLI):

CHECK TABLE wp_woocommerce_order_items;

Если есть ошибки, попробуйте выполнить:

REPAIR TABLE wp_woocommerce_order_items;

Для всех таблиц WooCommerce (начинаются с wp_woocommerce_).

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

Если плагин поврежден, переустановите его без потери настроек:

  1. Скачайте последнюю версию WooCommerce с официального репозитория или через админку.
  2. Удалите плагин через админку (сохранив базу и контент).
  3. Установите и активируйте заново.

4. Проверка зависимости PHP и настроек сервера

WooCommerce требует минимум PHP 7.4 и определённые расширения (curl, mbstring, zip). Проверьте версию PHP:

php -v

И убедитесь, что необходимые модули активны (можно через phpinfo или команду):

php -m | grep -E 'curl|mbstring|zip'

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

Убедитесь, что WooCommerce снова активен и работает:

  • В админке плагин отображается как активный без ошибок.
  • Страницы магазина, товаров, корзины и оформления заказа открываются без ошибок 404 и выводят контент.
  • Включите режим отладки и проверьте, что в debug.log отсутствуют ошибки WooCommerce.

Частые ошибки и как исправить

  • Ошибка 404 на страницах WooCommerce после миграции: Не сброшены постоянные ссылки. Решение — сохранить настройки ссылок заново.
  • Плагин WooCommerce не активируется: Конфликт с другими плагинами или версия PHP ниже требуемой. Отключите другие плагины, обновите PHP.
  • Ошибки базы данных: Повреждены таблицы WooCommerce. Проверьте и восстановите через SQL.
  • Проблемы с правами файлов: Убедитесь, что файлы WooCommerce имеют права доступа 644, папки — 755.

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

  • Используйте последние стабильные версии WooCommerce и WordPress для безопасности.
  • Регулярно делайте резервные копии базы данных и файлов, особенно перед обновлениями и миграциями.
  • Ограничьте количество активных плагинов, конфликтующих с WooCommerce.
  • Используйте Object Cache и Transient API для кеширования результатов запросов WooCommerce, чтобы снизить нагрузку.
  • Проверяйте серверные логи на предмет ошибок PHP и MySQL, влияющих на работу магазина.

Пример кода для сброса правил перезаписи через functions.php

Чтобы программно сбросить правила перезаписи после миграции или обновления WooCommerce, добавьте временно в functions.php вашей темы:

add_action('init', function() {
    if (isset($_GET['flush_rewrite'])) {
        flush_rewrite_rules();
        echo 'Rewrite rules flushed';
        exit;
    }
});

Затем перейдите по адресу https://ваш-сайт.ru/?flush_rewrite=1, чтобы сбросить правила. После выполнения удалите этот код.

Сравнительная таблица способов решения

МетодПреимуществаНедостаткиКогда применять
Сброс постоянных ссылокПростой, быстрый, не требует кодаНе решит проблемы с базой данных или конфликтамиПроблемы с 404 страницами WooCommerce
Проверка и ремонт базы данныхВосстанавливает целостность таблицТребует доступа к базе, осторожность с командами SQLОшибки базы после миграции или обновления
Переустановка плагинаОбновляет файлы, решает поврежденияПотенциальный риск потери настроек без бэкапаЕсли плагин не активируется или работает некорректно
Проверка PHP и расширенийУстраняет проблемы несовместимостиТребует доступа к серверу и знанийОшибки при активации, сбои в работе
Как создать собственный виджет WordPress
28.11.2025
Как отключить Gutenberg и вернуть классический редактор в WordPress
11.12.2025
Как добавить автоматическое удаление старых черновиков в WordPress
01.04.2026
WooCommerce: решение проблемы с отображением включённых вариантов товара
19.05.2026
WooCommerce: почему не отображаются страницы товаров и категорий и как исправить
14.05.2026