Обновление CMS и плагинов сайта
Обновление WordPress, тем и плагинов — регулярная задача, которую нельзя откладывать. Большинство взломов WordPress происходит именно через уязвимости в устаревших плагинах, а не через core. При этом бездумное обновление в продакшене без тестирования ломает сайты не реже, чем сами уязвимости.
Порядок обновления
Безопасный порядок: база данных → WordPress Core → плагины → темы. Никогда не обновлять всё разом кнопкой «Update All».
Перед обновлением — бэкап. Бэкап должен быть свежим (не старше 24 часов) и проверенным (можно развернуть).
Проверка совместимости
Перед обновлением мажорных версий плагинов:
- Проверить changelog плагина — есть ли breaking changes
- Проверить совместимость с текущей версией WordPress (поле «Tested up to» в репозитории)
- Проверить совместимость с PHP-версией сервера
- Проверить совместимость с другими ключевыми плагинами (WooCommerce требует конкретных версий своих аддонов)
WooCommerce особенно чувствителен: при обновлении core WooCommerce нужно одновременно обновлять WC Stripe, WC Shipping и другие официальные аддоны — они версионируются синхронно.
Тестирование перед обновлением
Правильная схема: staging → production.
Staging создаётся либо через хостинг-панель (Kinsta, WP Engine, Cloudways имеют встроенный staging), либо вручную:
# Клонировать сайт на staging-домен
wp --allow-root search-replace 'https://example.com' 'https://staging.example.com' \
--skip-columns=guid \
--precise \
--all-tables
На staging: обновить плагины → прогнать ключевые сценарии вручную → проверить логи PHP на ошибки.
Обновление через WP-CLI
# Список плагинов с доступными обновлениями
wp plugin list --update=available --format=table
# Обновить конкретный плагин
wp plugin update woocommerce --dry-run # сначала dry-run
wp plugin update woocommerce
# Обновить все плагины (с осторожностью)
wp plugin update --all
# Обновить WordPress Core
wp core update
wp core update-db # обновить схему базы данных после обновления core
# Обновить темы
wp theme update --all
Обновление базы данных WooCommerce
После обновления WooCommerce может появиться уведомление о необходимости обновить базу данных:
wp wc update
# или через PHP
WC()->install();
Это не опциональный шаг — без обновления схемы БД некоторые функции WooCommerce работают некорректно.
Автоматические обновления
WordPress поддерживает автоматическое обновление Core (minor-версии включены по умолчанию). Управление через wp-config.php:
// Включить автообновление major-версий Core
define( 'WP_AUTO_UPDATE_CORE', true );
// Или только minor (безопасные патчи)
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
Для плагинов автообновление включается через фильтр:
// Автообновлять только плагины безопасности
add_filter( 'auto_update_plugin', function( $update, $item ) {
$auto_update_slugs = [ 'wordfence', 'sucuri-scanner', 'updraftplus' ];
return in_array( $item->slug, $auto_update_slugs );
}, 10, 2 );
Откат при проблемах
Если обновление сломало сайт:
# Откатить плагин к предыдущей версии через WP Rollback (плагин)
# или вручную через WP-CLI
wp plugin install woocommerce --version=8.0.0 --force
Или восстановить из бэкапа только файлы плагина:
# Восстановить wp-content/plugins/woocommerce/ из бэкапа
# затем отключить автообновления для этого плагина через фильтр
Мониторинг после обновлений
После обновления в продакшене — проверить:
- PHP error log (
/var/log/php/error.logилиWP_DEBUG_LOG) - Ключевые страницы: главная, каталог, карточка товара, чекаут, личный кабинет
- Форм обратной связи (отправить тестовую заявку)
- Производительность (время ответа сервера)
Сроки
Плановое обновление 20–30 плагинов с тестированием на staging — 2–4 часа.







