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

В процессе эксплуатации WordPress-сайта со временем накапливается множество плагинов. Некоторые из них перестают использоваться, но остаются активными, что увеличивает нагрузку на сервер и может привести к конфликтам и уязвимостям. В этой статье разберём, как автоматически отключать неиспользуемые активные плагины, чтобы поддерживать сайт в оптимальном состоянии.

Почему важно отключать неиспользуемые плагины

Часто администраторы сайта активируют плагины для тестирования или временного использования, а затем забывают их отключить. Это приводит к нескольким проблемам:

  • Повышенная нагрузка на сервер — каждый активный плагин добавляет свои скрипты, запросы к базе данных и обработчики.
  • Безопасность — устаревшие плагины могут содержать уязвимости, которые взломщики используют для атак.
  • Конфликты и ошибки — плагины, которые не используются, могут вносить нежелательные изменения в функциональность сайта.

Автоматизация отключения таких плагинов поможет избежать этих проблем и облегчит сопровождение проекта.

Как определить неиспользуемые плагины

Не существует универсального способа точно определить, что плагин не используется, но можно ориентироваться на несколько критериев:

  • Отсутствие активности — плагин не был вызван в течение определённого времени.
  • Отсутствие пользовательских действий — например, плагины для форм не обрабатывают отправки.
  • Нет активности в админ-панели — плагин не изменял настройки и не создавал новые записи.

Реализовать отслеживание можно с помощью кода, который фиксирует дату последнего использования плагина.

Пример кода для автоматического отключения неиспользуемых плагинов

Ниже приведён пример функции для wpsystem.ru, которая отслеживает дату последнего использования активных плагинов и автоматически деактивирует те, которые не использовались более 30 дней.

function wpsystem_check_and_deactivate_unused_plugins() {
    if ( ! current_user_can('activate_plugins') ) {
        return;
    }

    $active_plugins = get_option('active_plugins', []);
    $threshold = 30 * DAY_IN_SECONDS; // 30 дней
    $now = time();

    foreach ( $active_plugins as $plugin ) {
        $last_used = get_option('wpsystem_last_used_' . $plugin, 0);

        // Если плагин не использовался более 30 дней
        if ( $last_used && ( $now - $last_used ) > $threshold ) {
            deactivate_plugins( $plugin );
            error_log("[wpsystem] Плагин {$plugin} автоматически деактивирован как неиспользуемый.");
        }
    }
}
add_action('admin_init', 'wpsystem_check_and_deactivate_unused_plugins');

Чтобы этот код работал, нужно дополнительно фиксировать дату использования плагинов. Например, для популярных плагинов можно добавить хуки, которые обновляют эту дату при их вызове.

Фиксация использования плагина Contact Form 7

Для плагина Contact Form 7 можно обновлять дату последнего использования при отправке формы:

function wpsystem_update_last_used_cf7() {
    update_option('wpsystem_last_used_wpcf7/wp-contact-form-7.php', time());
}
add_action('wpcf7_mail_sent', 'wpsystem_update_last_used_cf7');

Фиксация использования плагина WooCommerce

Для WooCommerce можно обновлять дату при добавлении товара в корзину:

function wpsystem_update_last_used_woocommerce() {
    update_option('wpsystem_last_used_woocommerce/woocommerce.php', time());
}
add_action('woocommerce_add_to_cart', 'wpsystem_update_last_used_woocommerce');

Автоматизация через плагины для управления активацией

Если не хочется писать весь код самостоятельно, можно использовать готовые решения, например, плагин Clearfy Pro. В его функционале есть инструменты для управления плагинами, отключения неиспользуемых модулей и оптимизации загрузки сайта.

Также полезен плагин WPRemark для создания заметок и напоминаний по плагинам, что помогает контролировать их использование.

Преимущества автоматического отключения

Использование автоматического отключения неиспользуемых плагинов позволяет:

  • Поддерживать сайт в актуальном и безопасном состоянии.
  • Уменьшить нагрузку на сервер и ускорить загрузку страниц.
  • Снизить риск конфликтов между плагинами.
  • Облегчить работу администраторов и разработчиков.

Важно регулярно мониторить состояние плагинов и настраивать автоматизацию под особенности вашего сайта.

Выводы и рекомендации

Автоматизация отключения неиспользуемых плагинов — это эффективный способ поддерживать WordPress-сайт в порядке. Для реализации можно использовать собственный код с фиксацией активности, интегрировать готовые решения из WPShop или комбинировать подходы.

Рекомендуется внедрять такую систему на сайтах с большим количеством плагинов и высокой нагрузкой, чтобы избежать проблем с производительностью и безопасностью.

Как создать автоматический отзыв с подтверждением в WordPress
19.03.2026
Автоматическое удаление старого контента в WordPress
07.04.2026
Автоматическое отключение неиспользуемых активных плагинов WordPress: практическое решение
11.03.2026
Как добавить автоматический режим работы для плагина WordPress
25.01.2026
Как использовать хуки WooCommerce для модификации корзины
22.12.2025