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

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

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

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

Кроме того, старые плагины могут иметь уязвимости, которые не исправляются, если плагин не обновляется или не используется, но остаётся на сервере.

Поэтому регулярная ревизия и полное удаление неиспользуемых плагинов — важная часть поддержания здоровья сайта.

Как безопасно удалить плагин через админ-панель WordPress

Самый простой способ — использовать встроенный механизм WordPress:

  1. Перейдите в меню Плагины > Установленные плагины.
  2. Деактивируйте плагин, который хотите удалить.
  3. После деактивации появится ссылка Удалить. Нажмите её.
  4. Подтвердите удаление.

Этот способ удаляет файлы плагина, но не всегда очищает базу данных и не удаляет созданные плагином таблицы или опции.

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

Многие плагины создают собственные таблицы и записи в таблицах 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-сайта. Всегда деактивируйте плагин перед удалением, очищайте базу данных и проверяйте наличие связанных таблиц и опций.

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

Наш каталог плагинов WordPress