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

|

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

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

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

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

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

Первый шаг — понять, какие плагины можно считать неиспользуемыми. Обычно это плагины, которые:

Определить такие плагины можно с помощью логирования активности или плагинов мониторинга.

Плагины для мониторинга активности

Рассмотрим несколько инструментов, которые помогут выявить неиспользуемые плагины:

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

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

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

Ниже пример функции, которая отключает плагин, если он не был активен определённое время (например, 30 дней). Для этого нужно логировать дату последней активности плагина и проверять её регулярно.

function wpzoom_update_plugin_last_used($plugin) {
    $last_used = get_option('wpzoom_plugins_last_used', array());
    $last_used[$plugin] = current_time('timestamp');
    update_option('wpzoom_plugins_last_used', $last_used);
}

function wpzoom_check_and_deactivate_plugins() {
    $last_used = get_option('wpzoom_plugins_last_used', array());
    $active_plugins = get_option('active_plugins', array());
    $threshold = 30 * DAY_IN_SECONDS; // 30 дней

    foreach ($active_plugins as $plugin) {
        if (isset($last_used[$plugin])) {
            $inactive_time = current_time('timestamp') - $last_used[$plugin];
            if ($inactive_time > $threshold) {
                deactivate_plugins($plugin);
                error_log("[WPZoom] Деактивирован плагин {$plugin} из-за неиспользования.");
            }
        } else {
            // Если нет данных, считаем сейчас активным
            wpzoom_update_plugin_last_used($plugin);
        }
    }
}

// Пример вызова по крону
add_action('wp_scheduled_plugin_check', 'wpzoom_check_and_deactivate_plugins');

// Создание задачи при инициализации
if (!wp_next_scheduled('wp_scheduled_plugin_check')) {
    wp_schedule_event(time(), 'daily', 'wp_scheduled_plugin_check');
}

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

Как отслеживать активность плагина

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

Если у вас нет контроля над всеми плагинами, можно отслеживать их загрузку через хук plugin_loaded или фильтр plugins_loaded, однако это не всегда отражает реальную активность пользователя.

Использование готовых решений для управления плагинами

Если самостоятельно писать код кажется сложным, можно воспользоваться готовыми плагинами и сервисами:

Рекомендации по безопасному отключению плагинов

Автоматическое отключение — мощный инструмент, но требует осторожности. Советы для безопасного использования:

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

function wpzoom_check_and_deactivate_plugins() {
    $last_used = get_option('wpzoom_plugins_last_used', array());
    $active_plugins = get_option('active_plugins', array());
    $threshold = 30 * DAY_IN_SECONDS; // 30 дней
    $exclude_plugins = array('akismet/akismet.php', 'wordfence/wordfence.php'); // Исключения

    foreach ($active_plugins as $plugin) {
        if (in_array($plugin, $exclude_plugins)) {
            continue;
        }
        if (isset($last_used[$plugin])) {
            $inactive_time = current_time('timestamp') - $last_used[$plugin];
            if ($inactive_time > $threshold) {
                deactivate_plugins($plugin);
                error_log("[WPZoom] Деактивирован плагин {$plugin} из-за неиспользования.");
            }
        } else {
            wpzoom_update_plugin_last_used($plugin);
        }
    }
}

Выводы и практические советы

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

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

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

Как автоматически отключать неиспользуемые плагины в WordPress
11.03.2026
Как добавить настройки в админ-панель WordPress: пошаговое руководство с примерами кода
27.11.2025
Как создать автоматические решения для очистки базы данных WordPress
10.01.2026
Создать и использовать шорткод для вывода продуктов WPShop в WordPress
28.03.2026
Как создать автоматическое отключение подписок в WordPress по условиям
28.01.2026
×
WPShop
партнерка без «но»!

До 3225₽ за каждую продажу

Подключиться к игре