wp-kurs.ru wordpress WP-Kurs

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

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

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

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

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

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

Определение неиспользуемых плагинов: критерии и подходы

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

  • Плагины, которые не активированы (отключены вручную);
  • Плагины, которые активны, но не вызываются в коде сайта (например, не используются в текущих шаблонах);
  • Плагины, которые не обновлялись и не использовались длительное время.

Автоматизировать проверку можно несколькими способами.

Использование аналитики активности плагинов

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

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

Проверка даты последнего обновления и активации

В админке WordPress можно посмотреть дату последнего обновления плагина. Если плагин не обновлялся и неактивен долгое время, его можно считать кандидатом на отключение.

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

Рассмотрим пример кода, который автоматически отключает плагины, если они неактивны более 30 дней.

function wp_kurs_deactivate_unused_plugins() {
    $inactive_plugins = get_option('recently_activated_plugins', []);
    $threshold = 30 * DAY_IN_SECONDS;
    $now = time();

    foreach ($inactive_plugins as $plugin => $last_active_time) {
        if (($now - $last_active_time) > $threshold) {
            deactivate_plugins($plugin);
        }
    }
}
add_action('admin_init', 'wp_kurs_deactivate_unused_plugins');

// При активации плагина сохраняем время
function wp_kurs_track_plugin_activation($plugin) {
    $recent = get_option('recently_activated_plugins', []);
    $recent[$plugin] = time();
    update_option('recently_activated_plugins', $recent);
}
add_action('activated_plugin', 'wp_kurs_track_plugin_activation');

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

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

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

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

  • Clearfy — плагин для оптимизации WordPress, который умеет отключать неиспользуемые функции и плагины, повышая производительность;
  • WPRemark — полезен для управления контентом, может помочь с анализом использования плагинов;
  • Expert Review — для аудита сайта и выявления проблемных плагинов.

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

Как избежать проблем при автоматическом отключении плагинов

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

  • Всегда делайте резервные копии сайта перед внедрением автоматических изменений;
  • Обязательно тестируйте скрипты на тестовом сайте;
  • Добавляйте уведомления администратору о планируемых действиях;
  • Исключайте из автоматического отключения плагины, критичные для работы сайта;
  • Периодически проверяйте логи и исправляйте ошибки.

Это поможет избежать сбоев и потери функционала.

Пример расширенного кода с уведомлением администратора

function wp_kurs_deactivate_unused_plugins_with_notice() {
    $inactive_plugins = get_option('recently_activated_plugins', []);
    $threshold = 30 * DAY_IN_SECONDS;
    $now = time();
    $deactivated = [];

    foreach ($inactive_plugins as $plugin => $last_active_time) {
        if (($now - $last_active_time) > $threshold && is_plugin_active($plugin)) {
            deactivate_plugins($plugin);
            $deactivated[] = $plugin;
        }
    }

    if (!empty($deactivated)) {
        $admin_email = get_option('admin_email');
        wp_mail($admin_email, 'Отключены неиспользуемые плагины', 'Были автоматически отключены следующие плагины: ' . implode(', ', $deactivated));
    }
}
add_action('admin_init', 'wp_kurs_deactivate_unused_plugins_with_notice');

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее