Автообновления плагинов в WordPress — это удобный способ поддерживать сайт в актуальном и безопасном состоянии без лишних ручных действий. Однако автоматическое обновление всех плагинов без разбора может привести к конфликтам, ошибкам и даже сбоям сайта. В этой статье разберём, как грамотно настроить автообновления подключённых плагинов WordPress, контролировать процесс и обезопасить сайт.
Почему важно контролировать автообновления плагинов WordPress
Автоматические обновления помогают закрывать уязвимости и получать новые функции без задержек. Но обновление без контроля несёт риски:
- Появление несовместимости с темой или другими плагинами.
- Непредсказуемое поведение сайта после обновления.
- Потеря настроек плагина при некорректном обновлении.
- Отсутствие уведомлений о сбоях в процессе обновления.
Поэтому задача — настроить автообновления выборочно и с возможностью мониторинга.
Как включить автообновления только для конкретных плагинов
WordPress из коробки позволяет задать автообновления для каждого плагина через админку, но удобнее сделать это программно, чтобы не потерять настройки при переносе сайта или обновлении.
Используем фильтр auto_update_plugin с контролем плагинов
Добавьте в файл functions.php вашей темы или в отдельный плагин следующий код:
function wpconfig_auto_update_selected_plugins( $update, $item ) {
// Список плагинов для автообновления
$allowed_plugins = [
'contact-form-7/wp-contact-form-7.php',
'wordpress-seo/wp-seo.php'
];
if ( in_array( $item->plugin, $allowed_plugins ) ) {
return true; // включаем автообновление
}
return false; // иначе выключаем
}
add_filter( 'auto_update_plugin', 'wpconfig_auto_update_selected_plugins', 10, 2 );
Здесь $item->plugin — это путь к плагину относительно папки wp-content/plugins. Вы можете указать любые плагины, которые хотите обновлять автоматически.
Отслеживание ошибок и уведомления об автообновлениях
Для контроля важно знать, когда обновление прошло успешно, а когда нет. По умолчанию WordPress не уведомляет об ошибках автообновления.
Добавляем уведомления об ошибках обновлений
Используем хук auto_update_plugin в связке с логированием:
function wpconfig_log_plugin_auto_update( $update, $item ) {
if ( ! $update ) {
error_log( 'Обновление плагина ' . $item->plugin . ' не выполнено.' );
}
return $update;
}
add_filter( 'auto_update_plugin', 'wpconfig_log_plugin_auto_update', 99, 2 );
Логи можно просматривать в wp-content/debug.log при включённом режиме отладки (WP_DEBUG и WP_DEBUG_LOG).
Для более удобного мониторинга можно использовать плагин Easy Update Manager, который позволяет гибко управлять обновлениями и получать уведомления.
Как отключить автообновления для отдельных плагинов
Если вы хотите отключить автообновления для конкретных плагинов, например, критически важных или с частыми кастомизациями, сделайте так:
function wpconfig_disable_auto_update_for_plugins( $update, $item ) {
$disabled_plugins = [
'woocommerce/woocommerce.php',
'advanced-custom-fields/acf.php'
];
if ( in_array( $item->plugin, $disabled_plugins ) ) {
return false; // запрещаем автообновление
}
return $update;
}
add_filter( 'auto_update_plugin', 'wpconfig_disable_auto_update_for_plugins', 10, 2 );
Таким образом, вы точно контролируете, какие плагины будут обновляться автоматически, а какие — нет.
Использование плагина Clearfy Pro для управления автообновлениями
Плагин Clearfy Pro предоставляет удобный интерфейс для настройки автообновлений и оптимизации WordPress. Среди возможностей:
- Включение/отключение обновлений для ядра, плагинов и тем.
- Настройка уведомлений об обновлениях.
- Автоматическое создание резервных копий перед обновлениями (если интегрирован с другими плагинами).
Это отличный инструмент для тех, кто хочет минимизировать рутинную работу и снизить риски.
Резервное копирование перед автообновлениями — обязательный этап
Перед любыми обновлениями рекомендуется делать резервную копию сайта. Если вы используете автообновления, настройте автоматическое создание бэкапов с помощью плагинов, например:
- Backup Master
- UpdraftPlus
- BackWPup
Пример вызова резервного копирования перед автообновлением можно реализовать через хук upgrader_pre_install:
function wpconfig_backup_before_update( $true, $args ) {
if ( $args['type'] === 'plugin' ) {
// Здесь вызываем функцию резервного копирования
// wpconfig_create_backup(); // пример вашей функции
error_log( 'Создан бэкап перед обновлением плагина: ' . $args['plugin'] );
}
return $true;
}
add_filter( 'upgrader_pre_install', 'wpconfig_backup_before_update', 10, 2 );
Реализуйте функцию резервного копирования по своим требованиям, интегрируясь с выбранным плагином для бэкапов.
Итоги и рекомендации по безопасным автообновлениям WordPress
Для успешного и безопасного использования автообновлений плагинов:
- Выберите только проверенные и критичные для обновления плагины.
- Настройте уведомления и ведите логи ошибок обновлений.
- Обязательно делайте резервные копии перед обновлениями.
- Используйте специализированные плагины, такие как Clearfy Pro или Easy Update Manager.
Следуя этим советам, вы сможете автоматизировать обновления плагинов WordPress без риска потерять контроль над сайтом и избежать типичных проблем.