Автоматическое удаление неиспользуемых плагинов WordPress

В 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.

Как создать автоматический импорт постов из RSS в WordPress
30.03.2026
Как автоматически удалять старые медиафайлы в WordPress
16.04.2026
WooCommerce: автоматическое отключение вариантов доставки при отсутствии товаров на складе
11.05.2026
Как добавить динамические поля в WordPress без плагинов
14.11.2025
Как автоматически отключить Emoji в WordPress для ускорения сайта
21.02.2026