Управление плагинами — одна из важных частей поддержки WordPress-сайта. Со временем на сайте может накопиться множество плагинов, которые либо не используются, либо вызывают конфликты и замедляют работу. В этой статье мы рассмотрим, как автоматически отключать неиспользуемые плагины в WordPress, чтобы поддерживать сайт в оптимальном состоянии без лишней нагрузки.
Почему важно отключать неиспользуемые плагины
Многие администраторы сайтов устанавливают несколько плагинов для тестирования или на будущее, но не всегда потом отключают или удаляют их. Такие плагины:
- Могут создавать риски безопасности — устаревшие плагины часто становятся уязвимыми;
- Замедляют загрузку сайта из-за нагрузки на сервер и дополнительные запросы;
- Могут конфликтовать с активными плагинами и темами;
- Загрязняют базу данных лишними настройками и таблицами.
Ручное отключение большого количества плагинов — утомительная работа. Поэтому автоматизация процесса поможет избежать проблем и сэкономить время.
Как определить неиспользуемые плагины на сайте
Первый шаг — понять, какие плагины реально не используются. Для этого можно:
- Проверить дату последнего обновления и активации плагина через административную панель;
- Использовать плагины для аудита, например, Clearfy Pro, который помогает оптимизировать и выявлять устаревшие плагины;
- Проанализировать логи сервера и запросы, чтобы понять, вызываются ли функции плагина;
- Использовать WP CLI для получения списка активных и неактивных плагинов и их статуса.
Для автоматизации можно написать собственный скрипт на PHP, который будет проверять последние даты доступа к файлам плагинов или логи использования функций.
Пример: простая функция для автоматического отключения плагинов после периода бездействия
Ниже пример функции, которую можно включить в файл functions.php вашей темы или в отдельный плагин. Она отключит плагины, которые не были активны или не вызывались более 30 дней (логика требует доработки для реального использования):
function wpeditor_auto_deactivate_unused_plugins() {
$plugins = get_plugins();
$active_plugins = get_option('active_plugins');
$threshold = 30 * DAY_IN_SECONDS; // 30 дней
foreach ($active_plugins as $key => $plugin) {
$plugin_file = WP_PLUGIN_DIR . '/' . $plugin;
$last_access = file_exists($plugin_file) ? filemtime($plugin_file) : 0;
if (time() - $last_access > $threshold) {
deactivate_plugins($plugin);
}
}
}
add_action('admin_init', 'wpeditor_auto_deactivate_unused_plugins');
Этот пример основывается на времени последнего изменения файлов плагина, что не всегда точно отражает использование. Для более точного контроля стоит интегрировать мониторинг вызова функций плагина или использовать сторонние сервисы.
Использование плагинов для автоматизации отключения и удаления
Существуют плагины, которые помогут автоматизировать управление плагинами:
- Plugin Organizer — позволяет управлять активацией плагинов по страницам и условиям, что косвенно помогает отключать неиспользуемые плагины;
- WP Rocket — хотя это кеш-плагин, он помогает оптимизировать загрузку, отключая ненужные скрипты;
- Clearfy Pro — расширенный инструмент для оптимизации WordPress, включая управление плагинами;
- Plugin Detective — помогает выявить плагины, вызывающие конфликты, после чего можно отключить устаревшие.
Для интеграции с WPShop продуктами Clearfy Pro подходит идеально, так как он позволяет проводить аудит и оптимизацию, а также автоматически отключать функции, которые не используются.
Как безопасно автоматизировать отключение плагинов
Автоматизация должна быть осторожной, чтобы не отключить важные плагины, от которых зависит работоспособность сайта. Рекомендуемые практики:
- Перед отключением создавайте резервные копии сайта и базы данных;
- Добавляйте исключения для критичных плагинов в коде;
- Логируйте действия автоматического отключения для последующего анализа;
- Проводите тестирование на тестовом сайте перед применением на боевом;
- Используйте уведомления для администратора о произведённых изменениях.
Расширение: автоматическое удаление отключенных плагинов с помощью кода
После отключения можно настроить автоматическое удаление плагинов, чтобы не захламлять сервер. Пример функции удаления отключенного плагина:
function wpeditor_auto_delete_inactive_plugins() {
$inactive_plugins = array_diff(get_plugins(), get_option('active_plugins'));
foreach ($inactive_plugins as $plugin_file => $plugin_data) {
delete_plugins(array($plugin_file));
}
}
// Вызывать с осторожностью, лучше через крон или вручную
// add_action('admin_init', 'wpeditor_auto_delete_inactive_plugins');
Вызывать такую функцию стоит только после тщательной проверки, лучше вручную или по расписанию с подтверждением.
Итоговые рекомендации по управлению плагинами
Для автоматического отключения неиспользуемых плагинов подойдёт комплексный подход:
- Регулярно проверяйте активность и необходимость каждого плагина;
- Используйте инструменты аудита — Clearfy Pro из WPShop отлично справится с этой задачей;
- Настройте автоматическое отключение с логированием и уведомлениями;
- Удаляйте отключенные плагины вручную или по расписанию, чтобы не засорять систему;
- Тестируйте изменения на тестовом сайте перед применением на рабочем.
Такой подход позволит поддерживать WordPress-сайт быстрым, безопасным и чистым от лишних плагинов без постоянной ручной работы.