Автоматические обновления в WordPress — это полезная функция, которая помогает поддерживать сайт в актуальном состоянии и защищать его от уязвимостей. Однако в ряде случаев владельцы и разработчики сайтов предпочитают отключить автоматическое обновление, чтобы иметь полный контроль над процессом обновления, особенно на крупных или кастомных проектах, где любое обновление требует тщательного тестирования.
Почему и когда стоит отключать автоматические обновления WordPress
Автоматические обновления включают обновления ядра, плагинов и тем. Они могут приводить к неожиданным сбоям или несовместимостям, если изменения не проверены заранее. Отключение обновлений оправдано, если:
- Вы используете кастомные темы или плагины, которые могут конфликтовать с новыми версиями.
- У вас есть собственные процессы тестирования и деплоя.
- Вы хотите избежать внезапных изменений на живом сайте.
Однако отключение автоматических обновлений требует регулярного контроля за безопасностью и своевременного ручного обновления.
Как отключить автоматические обновления ядра WordPress
Для базового отключения автоматических обновлений ядра WordPress достаточно добавить следующий код в wp-config.php:
define('AUTOMATIC_UPDATER_DISABLED', true);
Этот способ полностью отключит все автоматические обновления ядра, включая минорные и мажорные.
Если нужно более тонко управлять обновлениями, можно использовать фильтры в файле functions.php вашей темы или в отдельном плагине. Например, чтобы отключить только автоматические обновления мажорных версий, но оставить минорные (безопасность):
add_filter('allow_major_auto_core_updates', '__return_false');
add_filter('allow_minor_auto_core_updates', '__return_true');
Для полной отмены любых обновлений ядра:
add_filter('automatic_updater_disabled', '__return_true');
Отключение автоматических обновлений плагинов и тем
WordPress с версии 5.5 поддерживает автообновления плагинов и тем. Чтобы отключить их глобально, используйте фильтры:
// Отключить автообновления всех плагинов
add_filter('auto_update_plugin', '__return_false');
// Отключить автообновления всех тем
add_filter('auto_update_theme', '__return_false');
Если нужно отключить автообновление для отдельных плагинов или тем, можно сделать так:
add_filter('auto_update_plugin', function($update, $item) {
if ($item->slug === 'akismet') { // пример плагина
return false; // отключаем автообновление Akismet
}
return $update;
}, 10, 2);
Использование плагинов для управления автообновлениями
Если вы предпочитаете не править код, можно использовать плагины, которые предоставляют удобный интерфейс для управления автообновлениями:
- Easy Updates Manager — позволяет детально настраивать автообновления для ядра, плагинов, тем и переводов.
- Clearfy Pro — продвинутый инструмент для оптимизации и безопасности, включая управление автообновлениями.
Риски и рекомендации при отключении автообновлений
Отключая автоматические обновления, вы берёте ответственность за своевременное обновление системы безопасности сайта. Рекомендуется:
- Регулярно проверять доступные обновления в админке.
- Использовать staging-среду для тестирования обновлений перед их применением на живом сайте.
- Настроить уведомления о новых версиях плагинов, тем и ядра.
- Иметь резервные копии сайта перед обновлениями.
Пример простого плагина для отключения всех автообновлений (wp5_disable_auto_updates.php)
<?php
/**
* Plugin Name: WP5 Disable Auto Updates
* Description: Отключает все автоматические обновления в WordPress.
* Version: 1.0
* Author: wp5.ru
*/
// Отключить все автообновления ядра
add_filter('automatic_updater_disabled', '__return_true');
// Отключить автообновления плагинов
add_filter('auto_update_plugin', '__return_false');
// Отключить автообновления тем
add_filter('auto_update_theme', '__return_false');
Сохраните этот файл в папке wp-content/plugins/wp5_disable_auto_updates/ и активируйте через админку WordPress. Это простой и надежный способ отключить все автообновления без правки wp-config.php или functions.php.