Не работает обновление WooCommerce после обновления WordPress: практическое решение

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

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

Основные симптомы:

  • Ошибка "Доступ запрещен" (403) или 500 внутренняя ошибка сервера при попытке обновить WooCommerce;
  • Обновление зависает на этапе "Проверка безопасности" или "Загрузка файлов";
  • Обновление WooCommerce не начинается или завершается с ошибкой без деталей;
  • В логах сервера появляются ошибки, связанные с REST API, nonce или правами доступа.

Основные причины сбоя обновления WooCommerce после апдейта WordPress

  • Изменения в системе безопасности WordPress: новые версии WP усиливают защиту nonce и REST API, что может блокировать запросы обновления;
  • Конфликты с плагинами безопасности, например, Wordfence, iThemes Security, которые могут блокировать AJAX или REST запросы;
  • Проблемы с правами пользователя: пользователь, запускающий обновление, не имеет достаточных прав (например, не администратор или не имеет capability update_plugins);
  • Особенности хостинга: ограничения на выполнение PHP-скриптов, таймауты или блокировки запросов;
  • Кэширование и прокси: блокировка AJAX или REST запросов к серверу при обновлении.

Пошаговое решение проблемы с обновлением WooCommerce

1. Проверка прав пользователя

Убедитесь, что вы вошли под пользователем с ролью administrator и capability update_plugins. Для проверки добавьте код в файл functions.php вашей темы или плагина и откройте любую страницу в админке:

if(current_user_can('update_plugins')) {
    error_log('Пользователь может обновлять плагины');
} else {
    error_log('Нет прав на обновление плагинов');
}

Проверьте логи сайта (обычно wp-content/debug.log) на наличие соответствующей записи.

2. Отключение плагинов безопасности и кэширования

Временно деактивируйте плагины типа Wordfence, iThemes Security, WP Rocket и аналогичные. Они часто блокируют обновления из-за защиты REST API или AJAX. После отключения попробуйте обновить WooCommerce.

3. Проверка REST API и AJAX

Обновление WooCommerce использует AJAX и REST API. Проверьте доступность REST API, открыв в браузере URL:

https://ваш_сайт.ru/wp-json/

Вы должны увидеть JSON-ответ с информацией о REST API. Если возникает 403 или 404 ошибка, причина в блокировках на сервере или плагинах.

Для проверки AJAX запросов в консоли браузера (F12) зайдите на страницу обновления плагинов и посмотрите вкладку "Network" на наличие ошибок.

4. Ручное обновление WooCommerce

Если автоматическое обновление не работает, можно обновить WooCommerce вручную:

  1. Скачайте последнюю версию плагина с официального репозитория https://wordpress.org/plugins/woocommerce/;
  2. Подключитесь к сайту по FTP или через файловый менеджер хостинга;
  3. Переименуйте папку wp-content/plugins/woocommerce в woocommerce_old для резервной копии;
  4. Загрузите новую папку woocommerce из скачанного архива;
  5. В админке WordPress активируйте плагин WooCommerce и выполните обновление базы данных, если потребуется.

5. Отключение автоматического обновления WordPress до следующего релиза

Иногда помогает временное отключение автоматических обновлений ядра WP, чтобы не создавать конфликтов:

add_filter( 'auto_update_core', '__return_false' );

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

  • Попробуйте обновить WooCommerce через админку — обновление должно пройти без ошибок;
  • Проверьте в консоли браузера отсутствие ошибок AJAX и успешное выполнение запросов;
  • Убедитесь, что REST API отвечает корректно по адресу /wp-json/;
  • В логах сервера и WordPress отсутствуют ошибки, связанные с обновлением.

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

  • Ошибка 403 при обновлении: проверьте правила .htaccess и настройки модулей безопасности на сервере (ModSecurity). Добавьте исключения для /wp-json/ и /wp-admin/admin-ajax.php;
  • Обновление зависает: увеличьте параметры PHP max_execution_time и memory_limit, отключите плагин кэширования на время обновления;
  • Права доступа недостаточны: убедитесь, что пользователь в админке имеет роль администратора и capability update_plugins;
  • Конфликт с другими плагинами: отключите все плагины кроме WooCommerce, попробуйте обновить, затем поочередно включайте плагины, чтобы выявить конфликт;
  • Проблемы с REST API: проверьте, не блокируются ли запросы на уровне сервера или плагинов безопасности.

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

  • Перед обновлением всегда делайте резервную копию базы данных и файлов сайта;
  • Обновляйте плагины и WordPress в тестовой среде, если есть возможность, чтобы избежать сбоев на рабочем сайте;
  • Отключайте кэширование и плагины безопасности на время обновления, чтобы избежать блокировки запросов;
  • Используйте WP_DEBUG и логи сервера для быстрого выявления ошибок;
  • Если используете WPShop Clearfy Pro, включите оптимизацию безопасности REST API и настройте исключения на время обновления WooCommerce (https://wpshop.ru/plugins/clearfy?utm_source=wpplugin.ru&utm_medium=article&utm_campaign=kak-ispravit-oshibku-ne-rabotaet-obnovlenie-woocommerce-posle-obnovleniya-wordpress).

Сравнение способов решения проблемы с обновлением WooCommerce

МетодПреимуществаНедостатки
Ручное обновление через FTPОбходит все блокировки, быстрое решениеТребует технических знаний, риск ошибок при замене файлов
Отключение плагинов безопасностиПозволяет безопасно обновить через админкуВременное снижение защиты сайта
Исправление прав пользователяДолговременное решение, повышает безопасностьМожет потребовать прав администратора хостинга
Настройка сервера (ModSecurity, .htaccess)Устраняет корень проблемы блокировкиНужны знания сервера, риск нарушить другие правила
Как создать собственный виджет WordPress: пошаговое руководство
09.11.2025
Создание собственного REST API эндпоинта в WordPress
27.11.2025
Автоматическое удаление товаров WooCommerce после отмены заказа
30.04.2026
Автоматическое удаление старых записей через AJAX в WordPress: пошаговое руководство
16.03.2026
Как добавить поддержку GraphQL в WordPress плагин
26.01.2026