В работе с WordPress часто накапливаются плагины, которые со временем перестают использоваться или становятся ненужными. Они могут создавать уязвимости, замедлять работу сайта и занимать место на сервере. В этой статье мы подробно рассмотрим, как автоматизировать процесс выявления и удаления таких плагинов, чтобы поддерживать WordPress в чистоте и безопасности.
Почему важно удалять неиспользуемые плагины
Даже неактивные плагины могут представлять угрозу безопасности, так как их код остаётся на сервере и может содержать уязвимости. Кроме того, избыточное количество плагинов негативно влияет на производительность сайта, увеличивает время резервного копирования и усложняет сопровождение.
Ручное удаление — затратный процесс, особенно для крупных проектов. Автоматизация позволяет систематически контролировать состояние плагинов и своевременно избавляться от неиспользуемых.
Рассмотрим несколько способов автоматизации, включая использование готовых решений и написание собственного кода.
Использование плагинов для управления неиспользуемыми плагинами
Плагин WP-Optimize
WP-Optimize — популярный инструмент для оптимизации базы данных и управления плагинами. Он позволяет видеть список неактивных плагинов и быстро их удалять.
Для автоматизации можно настроить регулярные уведомления с рекомендациями по очистке.
Плагин Plugin Organizer
Этот плагин помогает управлять активацией плагинов на разных страницах. Он помогает выявить, какие плагины не используются нигде на сайте.
Это косвенный способ обнаружения неиспользуемых плагинов — если плагин ни на одной странице не активен, вероятно, он не нужен.
Интеграция с WPScan
На wpscan.ru уже есть статья про WPScan — инструмент можно использовать и для аудита безопасности плагинов, в том числе для определения устаревших и неактивных.
WPScan можно запускать автоматически через cron и по результатам отправлять отчёт на email с рекомендациями.
Автоматизация удаления неиспользуемых плагинов с помощью кода
Напишем пример функции wpscan_remove_inactive_plugins(), которая будет искать все неактивные плагины и удалять их.
Для выполнения удаления потребуется вызов функций WordPress API, а для безопасного использования — запускать код с проверкой прав.
function wpscan_remove_inactive_plugins() {
if ( ! current_user_can('delete_plugins') ) {
return 'Нет прав для удаления плагинов';
}
require_once ABSPATH . 'wp-admin/includes/plugin.php';
$all_plugins = get_plugins();
$active_plugins = get_option('active_plugins', []);
$inactive_plugins = array_diff(array_keys($all_plugins), $active_plugins);
foreach ($inactive_plugins as $plugin) {
$result = delete_plugins(array($plugin));
if (is_wp_error($result)) {
error_log('Ошибка при удалении плагина: ' . $plugin);
}
}
return 'Удаление неактивных плагинов завершено';
}Этот код можно запускать через WP-CLI или привязать к крону с ограничениями по правам. Однако будьте осторожны и всегда делайте резервные копии перед массовыми удалениями.
Автоматический аудит плагинов и уведомления
Чтобы не удалять плагины сразу, лучше сначала получать уведомления о наличии неактивных плагинов. Для этого можно использовать следующий пример кода, который отправляет email админу, если найдены неактивные плагины:
function wpscan_notify_inactive_plugins() {
if ( ! current_user_can('activate_plugins') ) {
return;
}
require_once ABSPATH . 'wp-admin/includes/plugin.php';
$all_plugins = get_plugins();
$active_plugins = get_option('active_plugins', []);
$inactive_plugins = array_diff(array_keys($all_plugins), $active_plugins);
if (empty($inactive_plugins)) {
return;
}
$admin_email = get_option('admin_email');
$subject = 'Внимание: неактивные плагины на сайте';
$message = "Найдены неактивные плагины:\n" . implode("\n", $inactive_plugins) . "\nРекомендуется проверить и удалить их, если они не нужны.";
wp_mail($admin_email, $subject, $message);
}Запустите эту функцию по расписанию через wp_cron, например, раз в неделю.
Рекомендации по безопасности и уходу за плагинами
Всегда проверяйте плагины перед удалением, особенно если они были отключены недавно. Возможно, они временно не используются, но понадобятся в будущем.
Используйте на сайте плагин Clearfy Pro, который помогает оптимизировать работу WordPress и управлять плагинами без необходимости писать код.
Для комплексного контроля используйте решения с интеграцией WPScan, чтобы отслеживать уязвимости в используемых и неиспользуемых плагинах.
Также рекомендуется проводить аудит плагинов раз в месяц, чтобы своевременно выявлять устаревшие и неиспользуемые.
Выводы и практические советы
- Регулярно проверяйте список установленных плагинов и удаляйте неиспользуемые.
- Автоматизируйте процесс с помощью WP-CLI, wp_cron и кастомных функций.
- Используйте уведомления по email для контроля состояния плагинов.
- Перед удалением делайте резервную копию сайта.
- Используйте профессиональные плагины для управления и оптимизации, например, Clearfy Pro.
Поддержание чистоты плагинов — важная часть безопасности и производительности сайта на WordPress. Автоматизация этого процесса экономит время и уменьшает риски.
Подробнее о плагинах и инструментах для WordPress можно узнать на WPSHOP.ru.