В WordPress со временем накапливается множество плагинов, которые могут перестать использоваться, но остаются активными или просто занимают место на сервере. Это не только увеличивает нагрузку на сайт, но и повышает риски безопасности. В этой статье мы подробно рассмотрим, как определить неиспользуемые плагины и как настроить автоматическое их удаление с помощью кода и плагинов.
Почему важно удалять неиспользуемые плагины из WordPress?
Плагины в WordPress расширяют функционал сайта, но каждый из них — это дополнительный код, который влияет на производительность, безопасность и размер базы данных. Неиспользуемые плагины:
- Могут содержать уязвимости и стать входными точками для атак;
- Увеличивают нагрузку на сервер, замедляя работу сайта;
- Загромождают панель администрирования и базу данных;
- Могут конфликтовать с другими плагинами или темами.
Регулярный аудит и удаление неиспользуемых плагинов — важный этап поддержания сайта в хорошем состоянии.
Как определить неиспользуемые плагины?
Для начала нужно понять, какие из установленных плагинов действительно не используются. Вот несколько способов:
1. Визуальный аудит в админке WordPress
Перейдите в раздел Плагины → Установленные плагины. Обратите внимание на плагины, которые деактивированы — они уже не работают, но занимают место. Важно также проверить активные плагины, которые вы не используете функционально.
2. Использование плагинов для аудита
Существуют инструменты, которые анализируют использование плагинов, например:
- Plugins Garbage Collector — сканирует плагины на предмет их активности;
- Clearfy Pro — плагин для оптимизации и очистки WordPress, в том числе управления плагинами.
3. Анализ логов и запросов
Если у вас есть доступ к серверным логам или инструментам мониторинга HTTP-запросов, можно посмотреть, вызываются ли файлы плагинов в работе сайта. Если плагин не загружается и не делает запросов — скорее всего, он не используется.
Автоматизация удаления неиспользуемых плагинов с помощью кода
WordPress не имеет встроенной функции автоматического удаления плагинов, но с помощью функции deactivate_plugins() и delete_plugins() можно создать скрипт, который будет деактивировать и удалять плагины по определенным критериям.
Пример кода для автоматического удаления деактивированных плагинов
function wpfront_delete_inactive_plugins() {
if ( ! current_user_can('activate_plugins') ) {
return;
}
// Получаем список всех плагинов
$all_plugins = get_plugins();
// Получаем список активных плагинов
$active_plugins = get_option('active_plugins', []);
foreach ( $all_plugins as $plugin_file => $plugin_data ) {
// Если плагин не активен
if ( ! in_array($plugin_file, $active_plugins) ) {
// Удаляем плагин
delete_plugins([$plugin_file]);
}
}
}
// Запускаем функцию при загрузке админки (можно настроить на крон или другой хук)
add_action('admin_init', 'wpfront_delete_inactive_plugins');
Этот код автоматически удалит все деактивированные плагины при заходе в админку. Внимание: использовать такой код нужно с осторожностью, лучше добавить проверку подтверждения.
Настройка автоматического удаления старых и неиспользуемых плагинов с помощью WP-Cron
Для безопасной автоматизации лучше использовать планировщик задач WordPress — WP-Cron. Так вы сможете запускать очистку регулярно без участия администратора.
Пример создания WP-Cron задачи для удаления деактивированных плагинов
function wpfront_schedule_plugin_cleanup() {
if ( ! wp_next_scheduled('wpfront_cleanup_inactive_plugins') ) {
wp_schedule_event(time(), 'daily', 'wpfront_cleanup_inactive_plugins');
}
}
add_action('wp', 'wpfront_schedule_plugin_cleanup');
function wpfront_cleanup_inactive_plugins_callback() {
if ( ! current_user_can('activate_plugins') ) {
return;
}
$all_plugins = get_plugins();
$active_plugins = get_option('active_plugins', []);
foreach ($all_plugins as $plugin_file => $plugin_data) {
if (!in_array($plugin_file, $active_plugins)) {
delete_plugins([$plugin_file]);
}
}
}
add_action('wpfront_cleanup_inactive_plugins', 'wpfront_cleanup_inactive_plugins_callback');
Этот код создаёт ежедневное задание, которое автоматически удалит все деактивированные плагины. Для безопасности можно добавить дополнительную проверку даты последней активации плагина.
Использование плагинов для управления и удаления неиспользуемых плагинов
Если вы не хотите писать код, есть готовые решения:
- Clearfy Pro — позволяет выявлять и отключать ненужные плагины, а также оптимизировать работу сайта;
- Plugins Garbage Collector — сканирует и показывает плагины, которые не используются, с возможностью их удаления;
- WP-Optimize — комплексный инструмент оптимизации, который помогает очищать базу от ненужных данных, включая остатки от плагинов.
Рекомендации по безопасному удалению плагинов
При удалении плагинов важно соблюдать осторожность:
- Перед удалением сделайте резервную копию сайта и базы данных;
- Убедитесь, что плагин действительно не используется — проверьте функционал сайта;
- Отключайте плагин и наблюдайте за сайтом некоторое время, чтобы избежать сбоев;
- Проверяйте наличие данных плагина в базе данных и медиафайлах — иногда нужно очищать вручную;
- Используйте проверенные плагины или собственные скрипты для автоматизации.
Заключение
Автоматическое удаление неиспользуемых плагинов — отличный способ поддерживать WordPress-сайт в оптимальном состоянии, повышать безопасность и производительность. Используйте описанные методы и инструменты, чтобы регулярно проводить аудит установленных расширений, а также автоматизировать процесс удаления ненужных плагинов.
Подробнее о плагинах для оптимизации и управления сайтом можно узнать на wpshop.ru.