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

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

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

Даже если плагин неактивен, он может занимать место в базе данных или загружать свои файлы, если неправильно установлен. Активные, но неиспользуемые плагины — более серьёзная проблема:

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

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

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

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

  • Ручной аудит: просмотрите список активных плагинов и отключите те, в работе которых вы не уверены, временно проверяя работу сайта.
  • Анализ вызовов функций: с помощью плагинов профилирования, например Query Monitor, можно увидеть, какие плагины реально грузятся и используют ресурсы.
  • Логи активности: если установлен плагин аудита (например, WP Activity Log), можно проанализировать, когда последний раз плагин вызывался.

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

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

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

Пример функции для wptricks, которая проверяет дату последнего использования плагина и отключает его при необходимости:

function wptricks_deactivate_unused_plugins() {
    $threshold_days = 30; // Период неактивности в днях
    $plugins = get_option('active_plugins', []);
    $current_time = time();

    foreach ($plugins as $plugin) {
        $last_used = get_option('wptricks_last_used_' . $plugin, 0);

        if ($last_used && ($current_time - $last_used) > ($threshold_days * DAY_IN_SECONDS)) {
            deactivate_plugins($plugin);
            error_log("[WPTRICKS] Плагин {$plugin} автоматически отключён из-за неиспользования.");
        }
    }
}
add_action('wp_loaded', 'wptricks_deactivate_unused_plugins');

Для работы этого кода необходимо дополнительно встраивать в каждый плагин механизм обновления опции wptricks_last_used_имя_плагина при его использовании. Чтобы облегчить эту задачу, можно использовать хук plugins_loaded и фильтры, чтобы фиксировать факт загрузки плагина.

Фиксация последнего времени использования плагина

Добавьте в основной файл плагина следующий код, чтобы обновлять время последнего использования:

function wptricks_update_plugin_usage() {
    $plugin = plugin_basename(__FILE__);
    update_option('wptricks_last_used_' . $plugin, time());
}
add_action('plugins_loaded', 'wptricks_update_plugin_usage');

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

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

  • Clearfy Pro — плагин, который оптимизирует работу WordPress, включая автоматическое отключение неиспользуемых функций и скриптов. Его можно настроить для отключения плагинов, которые не задействованы.
  • Plugin Organizer — позволяет управлять порядком загрузки плагинов и отключать их на отдельных страницах, что косвенно помогает выявить и отключать неиспользуемые.
  • WP-Optimize — включает инструменты для очистки базы данных и может помочь с удалением устаревших плагинов.

Для интеграции Clearfy Pro можно использовать ссылку https://wpshop.ru/clearfy-pro/.

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

Автоматическое отключение всегда связано с риском. Вот несколько советов, чтобы минимизировать проблемы:

  • Резервное копирование: всегда делайте бэкапы сайта перед запуском автоматических процедур.
  • Логирование действий: записывайте в лог все отключения плагинов, чтобы можно было отследить, что и когда произошло.
  • Тестирование: запускать скрипт лучше в нерабочее время и сначала на тестовой среде.
  • Исключения: добавьте список плагинов, которые нельзя отключать автоматически (например, безопасность, SEO, резервное копирование).

Пример кода для добавления исключений:

function wptricks_deactivate_unused_plugins() {
    $threshold_days = 30;
    $exclude_plugins = [
        'akismet/akismet.php',
        'wordpress-seo/wp-seo.php',
        'clearfy-pro/clearfy-pro.php'
    ];
    $plugins = get_option('active_plugins', []);
    $current_time = time();

    foreach ($plugins as $plugin) {
        if (in_array($plugin, $exclude_plugins)) {
            continue; // Не отключать
        }

        $last_used = get_option('wptricks_last_used_' . $plugin, 0);

        if ($last_used && ($current_time - $last_used) > ($threshold_days * DAY_IN_SECONDS)) {
            deactivate_plugins($plugin);
            error_log("[WPTRICKS] Плагин {$plugin} автоматически отключён из-за неиспользования.");
        }
    }
}
add_action('wp_loaded', 'wptricks_deactivate_unused_plugins');

Итоги и советы по внедрению

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

Для расширения возможностей можно интегрировать этот механизм с системами мониторинга, например, с WPRemark для уведомлений или с журналами активности в Expert Review.

Как создать собственный вид построения страниц в WordPress
03.12.2025
Как автоматически отключить редактор Gutenberg в WordPress для определённых типов записей
11.01.2026
WooCommerce: автоматическое создание заказов и управление статусами через код
20.05.2026
WooCommerce: автоматическое отключение неиспользуемых плагинов для оптимизации производительности
07.06.2026
Как использовать WPRemark для автоматического отзыва на комментарии в WordPress
25.02.2026