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

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

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

Плагины – мощный инструмент расширения функционала WordPress, но их избыточное количество приводит к нескольким проблемам:

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

Ручное отключение и удаление – очевидное решение, но не всегда удобно. Особенно если речь о больших проектах с большим количеством плагинов и несколькими администраторами. Здесь помогает автоматизация процесса.

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

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

  • Давно не обновлялись и не используются в функционале текущего сайта.
  • Не загружают свои скрипты и стили на страницах сайта.
  • Не получают трафик через свои страницы настроек (если есть).

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

  • Clearfy Pro – помогает выявлять и отключать неиспользуемые плагины, а также оптимизирует сайт.
  • Plugin Usage Tracker – отслеживает использование плагинов по активности.

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

Ниже пример функции, которая проверяет дату последнего обновления плагина и автоматически деактивирует плагины, которые не обновлялись более 180 дней. Логика может быть расширена под другие критерии.

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

    $plugins = get_plugins();
    $active_plugins = get_option('active_plugins', array());
    $threshold = strtotime('-180 days');

    foreach ( $plugins as $plugin_file => $plugin_data ) {
        $plugin_path = WP_PLUGIN_DIR . '/' . $plugin_file;
        $last_modified = filemtime($plugin_path);

        if ( in_array($plugin_file, $active_plugins) && $last_modified < $threshold ) {
            deactivate_plugins( $plugin_file );
            error_log('wpsnippets: Деактивирован плагин ' . $plugin_file . ' из-за долгого отсутствия обновлений.');
        }
    }
}
add_action( 'admin_init', 'wpsnippets_deactivate_old_plugins' );

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

Настройка и доработка функции

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

Также полезно добавлять уведомления администраторам, чтобы они знали о произведённых изменениях. Например, отправлять email или создавать админ-уведомления.

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

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

  • Clearfy Pro – имеет функцию обнаружения и отключения неиспользуемых плагинов, оптимизацию и очистку.
  • Plugin Organizer – позволяет управлять порядком загрузки плагинов и отключать их на отдельных страницах.
  • Health Check & Troubleshooting – помогает выявлять проблемные плагины, которые можно потом отключить.

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

Как интегрировать автоматическое отключение плагинов с WP CLI

Для продвинутых пользователей удобен способ автоматизации через WP CLI. Ниже пример команды, которая отключает плагин по названию:

wp plugin deactivate plugin-slug --quiet

Можно написать кастомный скрипт, который будет запускаться по cron и отключать плагины по определённым критериям. Например, скрипт на PHP:

<?php
// wp-cli-script.php
require_once 'wp-load.php';
// Здесь реализуйте логику определения неиспользуемых плагинов
$plugins_to_deactivate = ['plugin-slug-1', 'plugin-slug-2'];
foreach ($plugins_to_deactivate as $plugin) {
    if (is_plugin_active($plugin)) {
        deactivate_plugins($plugin);
        echo "Деактивирован плагин: $plugin\n";
    }
}

Запускать так: wp eval-file wp-cli-script.php. Это позволит осуществлять автоматизацию без захода в админку.

Советы по безопасному управлению плагинами

При автоматическом отключении плагинов важно соблюдать осторожность:

  • Всегда делайте резервные копии сайта и базы данных перед массовыми изменениями.
  • Тестируйте логику отключения на тестовом сервере.
  • Информируйте команду или других администраторов о происходящих изменениях.
  • Регулярно обновляйте плагины и ядро WordPress.

Также рекомендуем использовать Clearfy Pro для комплексной оптимизации и управления плагинами.

WooCommerce: как отключить удаление заказа после изменения заказа программно
02.06.2026
Как удалить неактуальные метаданные в WordPress: оптимизация базы данных
04.01.2026
Как автоматизировать удаление старых записей в WordPress через PHP CLI
10.03.2026
Как добавить поддержку формата WebP в WordPress без плагинов
17.04.2026
WordPress: как изменить метод отправки формы AJAX на REST API
16.01.2026