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

Отключить плагин в WordPress недостаточно, если нужно действительно почистить сайт. После деактивации он может оставить записи в базе данных, папки в wp-content, крон-задачи, роли, метабоксы и настройки, которые продолжают влиять на скорость, админку и совместимость с другими плагинами. Если задача именно в полной очистке после удаления, действовать нужно в два этапа: сначала безопасно убрать сам плагин, потом проверить, что он не оставил следов.

С чего начать, чтобы не удалить лишнее

Перед очисткой убедитесь, что плагин действительно не нужен. Это особенно важно для SEO, кэша, форм, резервного копирования, безопасности и интеграций с оплатой: у таких плагинов часто есть данные, которые потом сложно восстановить.

Сделайте резервную копию базы данных и файлов сайта. Если есть доступ к staging-копии, лучше сначала отработать процедуру там. Это не формальность: некоторые плагины хранят настройки не только в стандартных опциях WordPress, но и в собственных таблицах, а после удаления могут ломать связанные функции, если на них завязаны шорткоды, виджеты или записи в контенте.

Удаление плагина через админку WordPress

Базовый порядок такой: сначала деактивируйте плагин, затем удалите его. Не удаляйте папку вручную, если плагин ещё активен — это часто оставляет сайт в состоянии ошибки, а WordPress может начать ругаться на отсутствующие файлы.

  1. Откройте Плагины → Установленные плагины.
  2. Нажмите Деактивировать у нужного плагина.
  3. После деактивации нажмите Удалить.

Если плагин удаляется штатно, WordPress убирает его файлы из каталога плагинов. Но это не означает, что он очистил базу данных. Многие разработчики вообще не удаляют свои данные автоматически, чтобы не потерять настройки пользователя при повторной установке.

Какие следы обычно остаются после удаления

После плагина чаще всего остаются четыре типа мусора: таблицы в базе, записи в wp_options, файлы в wp-content/uploads или собственных папках, а также запланированные события и служебные данные в мета-полях.

Что остаётсяГде искатьЧто это даёт
Собственные таблицыБаза данныхМогут занимать место и замедлять бэкапы
Опции и настройкиwp_optionsЗасоряют автозагрузку и иногда конфликтуют с новыми плагинами
Файлы и папкиwp-contentОстаются медиа, кэши, логи, экспортированные данные
Cron-задачиWP-CronПродолжают запускать несуществующий код и создавать ошибки в логах

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

Как найти и удалить таблицы плагина в базе данных

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

Обычно таблицы имеют префикс, связанный с названием плагина или его брендом. Посмотреть список можно через phpMyAdmin, Adminer или другой инструмент хостинга. Если у вас есть доступ к WP-CLI, удобно сначала посмотреть список таблиц базы:

wp db tables

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

Удалять таблицы стоит только после проверки. Если таблица выглядит как часть ядра WordPress, темы или другого активного плагина, её трогать нельзя. Для удаления через SQL обычно используют команду DROP TABLE, но выполнять её нужно только на подтверждённых таблицах и только после бэкапа.

Очистка опций в wp_options

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

Сначала найдите опции по названию плагина. Если есть доступ к базе, ищите по префиксу или части имени. Например, для плагина с условным префиксом example_ можно искать записи так:

SELECT option_name FROM wp_options WHERE option_name LIKE 'example_%';

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

wp option get example_setting

Для удаления:

wp option delete example_setting

Если плагин создавал много записей, проверяйте не только основное имя, но и служебные ключи, transient-данные и настройки автозагрузки. При этом не стоит удалять всё подряд по общему префиксу, если плагин был частью экосистемы и его префикс совпадает с другими компонентами.

Что делать с файлами, папками и кэшем плагина

После удаления плагина в wp-content/uploads или в собственных служебных каталогах могут остаться файлы экспорта, логи, кэш, временные изображения, JSON-данные и вложения. Их можно удалять только если вы понимаете назначение папки и она действительно принадлежит удалённому плагину.

Типичный порядок такой:

  1. Проверьте папки в wp-content/uploads, wp-content/cache и иногда в wp-content рядом с плагинами.
  2. Сравните дату создания файлов с периодом работы плагина.
  3. Удалите только те каталоги, которые явно относятся к нему и не используются другими компонентами.

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

Проверка cron-задач и фоновых событий

Некоторые плагины добавляют собственные задания в WP-Cron. После удаления они уже не нужны, но WordPress может продолжать пытаться их запускать. Это не всегда заметно в админке, но в логах и на производительности следы остаются.

Если у вас есть WP-CLI, посмотрите список запланированных событий:

wp cron event list

Дальше ищите события с именем, связанным с удалённым плагином. Удалять их нужно точечно, а не массово. Для конкретного hook используется команда:

wp cron event delete hook_name

Если WP-CLI недоступен, проверка cron-задач зависит от хостинга и установленных инструментов. На обычном shared-хостинге часто проще проверить логи и убедиться, что ошибок, связанных с плагином, больше нет.

Когда лучше не чистить вручную

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

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

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

Как проверить, что сайт действительно очищен

После удаления плагина проверьте не только отсутствие его в списке установленных, но и побочные признаки. Откройте админку и фронтенд, пройдитесь по страницам, где раньше использовались его шорткоды, виджеты или блоки. Если там остались пустые контейнеры, ошибки или неработающие элементы, значит, плагин оставил зависимости в контенте или теме.

Дальше проверьте три вещи:

  • в базе нет таблиц и опций с именем удалённого плагина;
  • в wp-content не осталось его папок и файлов;
  • в логах нет повторяющихся ошибок, связанных с его хуками, классами или cron-задачами.

Если сайт стал быстрее открываться после очистки, это обычно заметно не по одному запросу, а по уменьшению объёма базы, сокращению автозагружаемых опций и исчезновению лишних фоновых процессов. Но не стоит ждать магического ускорения от удаления одного плагина: эффект зависит от того, сколько данных он оставил и насколько тяжёлым был изначально.

Как упростить регулярную чистку сайта

Если на сайте часто тестируют и удаляют плагины, имеет смысл заранее выстроить аккуратный процесс обслуживания. Сначала проверка на staging, потом удаление, потом аудит базы и файлов. Это дешевле, чем потом вручную разбирать мусор после десятка экспериментов.

Для регулярной чистки полезно использовать инструменты, которые помогают находить лишние опции, дубли и накопившийся мусор в WordPress. Например, Clearfy Pro от WPShop закрывает часть таких задач по оптимизации и чистке сайта: https://wpshop.ru/plugins/clearfy. Но даже с такими инструментами базовый принцип не меняется: сначала резервная копия, потом точечная проверка, и только затем удаление следов.

Если подойти к задаче аккуратно, удаление неиспользуемых плагинов не превращается в рискованную чистку базы. Вы просто убираете лишний код, лишние записи и лишние файлы, которые больше не приносят пользы сайту.

⭐⭐⭐⭐⭐