Если WordPress начал заметно тормозить, а резервные копии базы раздулись до неудобного размера, обычно проблема не в одном «тяжёлом» запросе, а в накопившемся мусоре: ревизиях записей, спам-комментариях, временных данных, старых сессиях и служебных записях плагинов. Часть этого можно удалить безопасно, но не всё подряд — в базе есть данные, которые нужны теме, плагинам и самому сайту.
Ниже — практический порядок действий: что именно чистить, чем это делать и как не сломать сайт в процессе.
Что обычно раздувает базу WordPress
В WordPress мусор накапливается постепенно, и его не всегда видно в админке. Чаще всего место занимают:
- ревизии записей — сохранённые версии постов и страниц;
- автосохранения — временные копии черновиков;
- спам-комментарии и комментарии в корзине;
- транзиенты — временные данные, которые используют темы и плагины;
- устаревшие метаданные записей, комментариев и пользователей;
- таблицы плагинов, которые остались после удаления расширения;
- лог-записи и служебные кэши некоторых плагинов.
Не весь этот объём одинаково опасен. Ревизии и спам-комментарии можно чистить почти всегда. А вот удаление таблиц и метаданных плагинов требует понимания, что именно вы убираете и используется ли это сейчас на сайте.
С чего начать, чтобы не потерять данные
Перед любой чисткой сделайте полную резервную копию базы данных. Если хостинг позволяет, сохраните ещё и файлы сайта, но для самой задачи достаточно бэкапа БД. Это не формальность: при ошибке можно удалить не только мусор, но и нужные записи, а откат без копии будет сложным.
Если сайт работает на боевом трафике, лучше проводить чистку в период минимальной нагрузки. На больших базах некоторые операции могут временно нагружать MySQL/MariaDB и замедлять сайт на время выполнения.
Если вы не уверены, есть ли у хостинга удобный откат базы, не начинайте с ручного SQL-удаления. Сначала сделайте экспорт через phpMyAdmin, Adminer или штатный инструмент панели управления.
Что можно удалять без риска в обычной ситуации
Для большинства сайтов безопасный минимум выглядит так:
- ревизии записей и страниц;
- автосохранения старых черновиков;
- спам-комментарии;
- комментарии в корзине;
- транзиенты, если они просрочены;
- неиспользуемые временные данные плагинов, если вы понимаете источник.
С осторожностью относитесь к следующим вещам:
- postmeta и usermeta — там часто лежат рабочие данные плагинов;
- таблицы плагинов — удаляйте только если плагин точно больше не нужен;
- опции в таблице wp_options — среди них есть как мусор, так и критичные настройки темы и плагинов.
Если коротко: чистить можно то, что явно относится к мусору и уже не нужно для работы сайта. Всё, что похоже на настройки, связи или данные плагина, лучше сначала проверить.
Как очистить базу через админку WordPress
Самый безопасный путь для владельца сайта — сначала убрать очевидный мусор штатными средствами.
Удалите ревизии и автосохранения
В самой админке WordPress нет отдельной кнопки для массового удаления ревизий. Если ревизий немного, их можно удалять вручную из редактора записи, но на старом сайте это неудобно. Практичнее использовать плагин для обслуживания базы или выполнить очистку через SQL после бэкапа.
Если вы хотите ограничить рост мусора на будущее, можно уменьшить число ревизий через wp-config.php. Например, так WordPress будет хранить не больше трёх ревизий для каждой записи:
define( 'WP_POST_REVISIONS', 3 );Это не чистка уже накопившейся базы, а способ не раздувать её дальше. Полное отключение ревизий тоже возможно, но обычно я не советую делать это на рабочих сайтах: ревизии полезны, когда нужно откатить неудачное редактирование.
Очистите спам и корзину комментариев
Откройте раздел комментариев и удалите спам, затем очистите корзину. Это простой шаг, но на сайтах с активными формами комментариев он даёт заметный эффект: уменьшается число строк в таблицах комментариев и связанных метаданных.
Если спама много, имеет смысл включить антиспам-защиту, иначе база снова начнёт расти. Но это уже отдельная задача, не часть самой чистки.
Когда удобнее использовать плагин для очистки базы
Если мусора много, а вручную разбирать таблицы не хочется, удобнее использовать плагин обслуживания базы. Такой инструмент обычно умеет удалять ревизии, автосохранения, спам, временные данные и старые служебные записи без ручного SQL.
Для этой задачи подходит Clearfy Pro: он помогает убирать лишние данные и наводить порядок в WordPress без необходимости лезть в базу вручную. Это не отменяет бэкап, но снижает риск ошибки для тех, кто не работает с SQL каждый день.
Плюс плагина в том, что он закрывает типовые сценарии: ревизии, временные данные, мусорные записи и часть служебного хлама. Минус в том, что перед запуском всё равно нужно понимать, что именно будет удалено, и не включать очистку наугад.
Ручная очистка через SQL: когда она уместна
SQL-запросы нужны, если вы хотите быстро убрать конкретный тип мусора и понимаете структуру базы. Это нормальный рабочий вариант для разработчика или опытного администратора, но не лучший выбор, если вы не уверены в составе таблиц.
Перед выполнением запросов ещё раз проверьте префикс таблиц. В примерах ниже используется стандартный wp_, но у вас он может быть другим.
Чтобы удалить ревизии записей и страниц, можно использовать такой запрос:
DELETE FROM wp_posts WHERE post_type = 'revision';Чтобы удалить спам-комментарии:
DELETE FROM wp_comments WHERE comment_approved = 'spam';Чтобы удалить комментарии из корзины:
DELETE FROM wp_comments WHERE comment_approved = 'trash';Для временных данных WordPress часто используют транзиенты. Их можно очистить через SQL, но здесь важно не путать обычные опции с транзиентами. Удалять нужно только записи, относящиеся к временным данным. На практике безопаснее использовать готовый инструмент или плагин, который понимает структуру этих записей.
Если вы работаете через консоль и у вас есть доступ к WP-CLI, для ревизий и транзиентов часто удобнее использовать именно его, но только если он уже установлен на сервере. Не стоит ставить и настраивать его только ради разовой чистки, если вы не уверены в окружении.
Что не стоит удалять без проверки
Самая частая ошибка — чистить базу «по размеру», не разбираясь, какие таблицы и записи за что отвечают. Так можно сломать сайт быстрее, чем он начнёт работать быстрее.
Не удаляйте без проверки:
- записи из
wp_options, если не знаете назначение опции; - метаданные записей и пользователей, если ими пользуются плагины;
- таблицы, которые создал активный плагин;
- данные форм, заказов, подписок, если сайт их использует;
- таблицы кэша, если не уверены, что это именно кэш, а не рабочие данные.
Если плагин удалён, но его таблицы остались, сначала проверьте, не нужны ли они для миграции, отчётов или истории. Только потом удаляйте остатки. В противном случае можно потерять данные, которые ещё пригодятся.
Как проверить, что чистка прошла нормально
После очистки не ограничивайтесь тем, что админка открывается. Проверьте несколько вещей:
- открываются ли главная, записи, страницы и архивы;
- сохраняются ли новые записи и страницы;
- работают ли комментарии, если они включены;
- не появились ли ошибки в журнале сервера или в
debug.log, если он включён; - уменьшился ли размер базы или хотя бы количество строк в проблемных таблицах.
Если вы чистили через phpMyAdmin или SQL, полезно сравнить размер дампа до и после. Но ориентироваться только на размер не стоит: иногда база уменьшается незначительно, а реальный эффект виден в скорости админки и в том, как быстро выполняются запросы.
Если после чистки сайт начал вести себя странно, первым делом восстановите базу из резервной копии и уже потом ищите, какая именно операция была лишней. Это быстрее и безопаснее, чем пытаться вручную откатывать отдельные таблицы.
Как не допустить повторного захламления базы
Один раз очистить базу недостаточно, если сайт продолжает накапливать мусор с той же скоростью. Здесь помогают не «ускорители», а несколько простых настроек:
- ограничить число ревизий в
wp-config.php; - регулярно чистить спам и корзину комментариев;
- не держать лишние плагины, которые создают собственные таблицы и логи;
- периодически проверять, не разрастаются ли транзиенты и служебные записи;
- удалять неиспользуемые плагины только после проверки, что они не оставили нужные данные.
Если сайт активно редактируется несколькими авторами, ревизии будут появляться постоянно. В этом случае лучше не отключать их полностью, а ограничить количество и следить за общим состоянием базы раз в несколько месяцев.
Чистка базы WordPress — это не разовая «магическая оптимизация», а нормальное обслуживание. Если удалять только то, что действительно является мусором, и делать это после бэкапа, сайт обычно становится легче без лишнего риска для контента и настроек.