В процессе работы с WordPress часто накапливается множество плагинов, которые перестают использоваться, но остаются установлены. Это не только занимает место, но и может замедлять сайт, создавать угрозы безопасности и вызывать конфликты. В этой статье мы подробно разберём, как правильно удалить неиспользуемые плагины без остатка, включая очистку базы данных и файловой системы.
Почему важно удалять неиспользуемые плагины
Удаление плагинов — это не просто отключение. Многие плагины после деактивации оставляют свои таблицы и записи в базе данных, временные файлы и даже крон-задачи. Это нагружает систему, замедляет бэкапы и увеличивает риск возникновения ошибок.
Кроме того, старые плагины могут иметь уязвимости, которые не исправляются, если плагин не обновляется или не используется, но остаётся на сервере.
Поэтому регулярная ревизия и полное удаление неиспользуемых плагинов — важная часть поддержания здоровья сайта.
Как безопасно удалить плагин через админ-панель WordPress
Самый простой способ — использовать встроенный механизм WordPress:
- Перейдите в меню Плагины > Установленные плагины.
- Деактивируйте плагин, который хотите удалить.
- После деактивации появится ссылка Удалить. Нажмите её.
- Подтвердите удаление.
Этот способ удаляет файлы плагина, но не всегда очищает базу данных и не удаляет созданные плагином таблицы или опции.
Как вручную очистить базу данных после удаления плагина
Многие плагины создают собственные таблицы и записи в таблицах wp_options или wp_usermeta. Чтобы проверить и удалить их, можно использовать плагин WP-Optimize или подключиться к базе данных напрямую через phpMyAdmin.
Рассмотрим пример удаления данных плагина Contact Form 7. После удаления плагина могут остаться опции с префиксом wpcf7_:
DELETE FROM wp_options WHERE option_name LIKE 'wpcf7_%';Также можно проверить наличие таблиц, связанных с плагином, например, таблиц с именами, начинающимися на cf7_ или подобными, и удалить их:
DROP TABLE IF EXISTS cf7_custom_table;Важно перед выполнением таких операций делать резервные копии базы данных.
Автоматизация очистки базы данных с помощью кода
Для более удобного и безопасного удаления данных плагина можно написать собственную функцию, которая будет удалять опции и таблицы при деактивации плагина. Например, для нашего сайта wpapp создадим функцию wpapp_delete_plugin_data():
function wpapp_delete_plugin_data() {
global $wpdb;
// Удаляем опции с префиксом
$wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'wpcf7_%'");
// Удаляем таблицу, если есть
$wpdb->query("DROP TABLE IF EXISTS cf7_custom_table");
}
register_deactivation_hook(__FILE__, 'wpapp_delete_plugin_data');Этот код можно добавить в основной файл плагина или в файл темы, если вы создаёте кастомные решения. Он выполнится при деактивации и удалит лишние данные.
Использование плагинов для комплексного удаления
Если вы не хотите лезть в базу данных вручную, можно использовать специализированные плагины, которые чистят остатки после деактивации:
- Advanced Database Cleaner — ищет и удаляет неиспользуемые опции, таблицы и ревизии.
- Plugins Garbage Collector — сканирует базу на предмет остатков от удалённых плагинов.
- WP-Sweep — очищает базу, удаляет мусор и оптимизирует таблицы.
Эти инструменты удобны, но всегда стоит создавать полную резервную копию сайта перед их использованием.
Пример использования WP-Sweep для очистки
После установки и активации WP-Sweep перейдите в Инструменты > Sweep, выберите категории для очистки (опции, метаданные и т.д.) и нажмите кнопку очистки. Это позволит удалить временные и устаревшие данные, в том числе от удалённых плагинов.
Как проверить, что плагин удалён полностью
После удаления плагина и очистки базы данных стоит проверить, остались ли его следы:
- Проверьте базу данных на наличие опций или таблиц с названием плагина.
- Проверьте файловую систему — в папке
wp-content/pluginsне должно быть папок плагина. - Проверьте крон-задачи, выполнив в консоли WordPress:
wp cron event listЕсли вы видите задачи с префиксом плагина, их стоит удалить.
Удаление плагинов через WP-CLI с полной очисткой
Если у вас есть доступ к командной строке сервера с WP-CLI, удалять плагины можно быстро и безопасно:
wp plugin deactivate plugin-slug
wp plugin delete plugin-slugПосле удаления вы можете запустить SQL команды для очистки данных, как показано выше, или использовать WP-CLI для выполнения SQL запросов:
wp db query "DELETE FROM wp_options WHERE option_name LIKE 'pluginprefix_%';"Выводы и рекомендации
Удаление неиспользуемых плагинов — обязательная практика для поддержания производительности и безопасности WordPress-сайта. Всегда деактивируйте плагин перед удалением, очищайте базу данных и проверяйте наличие связанных таблиц и опций.
Используйте автоматические инструменты с осторожностью и всегда делайте бэкапы. Для продвинутых пользователей рекомендуется писать собственные функции очистки с учётом особенностей каждого плагина.