Как очистить базу данных WordPress от мусора
Если WordPress стал заметно медленнее, а админка открывается с задержкой, часто проблема не в теме и не в хостинге, а в разросшейся базе данных. Со временем в ней накапливаются ревизии записей, спам-комментарии, временные данные плагинов, устаревшие транзиенты и служебный мусор. Всё это не всегда критично по отдельности, но в сумме может замедлять запросы и усложнять работу сайта.
Очистить базу можно безопасно, если понимать, что именно удалять, а что лучше не трогать. Самая частая ошибка — запускать «чистку» без резервной копии и удалять не только мусор, но и данные, которые нужны сайту для работы.
Что обычно можно удалить без риска
В WordPress есть несколько типов данных, которые чаще всего разрастаются без пользы для посетителей. Их можно чистить, если вы понимаете источник и не удаляете всё подряд.
Ревизии записей и страниц
Ревизии — это сохранённые версии записей, страниц и иногда других типов контента. Они полезны, если нужно откатиться к прошлому тексту, но на старом сайте их может быть слишком много. Особенно это заметно, если редакторы часто сохраняют черновики.
Удалять ревизии можно, если:
- на сайте уже есть актуальные публикации и откаты к старым версиям не нужны;
- вы заранее проверили, что нужные правки не остались только в старых версиях;
- у вас есть резервная копия базы.
Спам-комментарии и комментарии в корзине
Спам и удалённые комментарии тоже хранятся в базе, пока их не очистят окончательно. Если сайт получает много спама, таблица комментариев быстро растёт, а вместе с ней — объём базы и время обслуживания.
Перед удалением полезно убедиться, что среди комментариев нет случайно помеченных как спам обычных сообщений. После окончательной очистки восстановить их из базы уже не получится.
Транзиенты и временные данные
Транзиенты — это временные значения, которые WordPress и плагины используют для кэширования. Часть из них должна исчезать сама, но на практике просроченные записи иногда остаются в базе дольше, чем нужно. Это не «мусор» в прямом смысле, но старые транзиенты можно удалить, если сайт работает штатно и вы не завязаны на редкие нестандартные механизмы кэширования.
Тут важно не путать транзиенты с полноценным кэшем сайта. Если у вас есть серверный или плагинный кэш, его чистят отдельно.
Что трогать нельзя без понимания последствий
В базе WordPress есть таблицы и записи, которые выглядят как лишние, но на деле нужны для работы сайта. Если удалить их без разбора, можно сломать авторизацию, настройки темы, работу плагинов или сам контент.
Не удаляйте вручную:
- таблицы ядра WordPress, если не понимаете их назначение;
- записи в таблицах
wp_options,wp_posts,wp_postmeta,wp_users,wp_usermetaбез точного понимания, что именно удаляется; - данные плагинов, если не знаете, хранит ли плагин в базе настройки, лицензии, очереди задач или пользовательские данные;
- служебные записи, которые отвечают за работу темы, меню, виджетов и форм.
Особенно осторожно нужно быть с таблицей wp_options. В ней лежат не только настройки, но и автозагружаемые опции. Неправильная чистка здесь может привести к тому, что сайт начнёт тормозить сильнее или перестанет загружаться корректно.
Самый безопасный порядок очистки
Если задача — убрать мусор и не рисковать данными, действуйте по порядку. Так проще понять, что именно дало эффект, и не смешивать полезную чистку с опасными экспериментами.
1. Сделайте резервную копию базы
Перед любыми действиями сохраните полную копию базы данных. Это не формальность: если после очистки что-то пойдёт не так, откатить сайт будет намного проще, чем вручную восстанавливать удалённые записи.
Если у хостинга есть встроенное резервное копирование, это уже лучше, чем ничего. Но надёжнее иметь отдельную копию, которую вы контролируете сами — через панель хостинга, phpMyAdmin или инструмент резервного копирования, которым вы реально умеете пользоваться.
2. Удалите спам и корзину комментариев
Сначала убирают то, что точно не нужно и не влияет на структуру сайта. Очистка спама и корзины комментариев обычно безопасна и сразу уменьшает объём «мусорных» данных.
3. Очистите ревизии
После комментариев можно переходить к ревизиям. На контентных сайтах это часто даёт заметный эффект, особенно если публикации редактировались много раз.
4. Удалите просроченные транзиенты
Это следующий безопасный шаг. Он не должен ломать сайт, но может убрать устаревшие временные записи, которые уже не нужны.
5. Проверьте таблицы и данные плагинов
Только после базовой чистки имеет смысл смотреть, не оставили ли удалённые плагины свои таблицы или записи. Здесь уже нужен разбор по конкретному плагину: если расширение давно удалено, но его таблицы остались, их можно удалить только после проверки, что они действительно не используются.
Как очистить базу WordPress на практике
Есть три рабочих пути: через плагин, через phpMyAdmin и через WP-CLI. Выбор зависит от того, насколько уверенно вы работаете с сайтом и есть ли доступ к серверу.
Через плагин
Для большинства владельцев сайтов это самый простой вариант. Плагин помогает удалить ревизии, спам, корзину и транзиенты без ручного SQL. Но важно выбирать инструмент, который не делает скрытых опасных действий и позволяет увидеть, что именно будет удалено.
Если вы используете плагин для оптимизации базы, сначала проверьте, есть ли у него отдельные пункты для ревизий, спама и транзиентов. Не запускайте «полную оптимизацию» вслепую, если не понимаете, что входит в набор операций.
На практике удобнее всего сначала выполнить очистку по категориям, а не одним общим запуском. Так проще отследить результат и при необходимости остановиться.
Через phpMyAdmin
Этот способ подходит, если нужно точечно удалить конкретный тип мусора и вы понимаете структуру базы. Но он требует аккуратности: одна неверная команда может затронуть не те записи.
Например, ревизии хранятся в таблице записей как отдельный тип постов. Если вы работаете вручную, сначала убедитесь, что удаляете именно ревизии, а не обычные записи или страницы. То же касается комментариев и транзиентов: перед удалением лучше проверить выборку, а не запускать запрос наугад.
Если вы не уверены в SQL-запросе, безопаснее использовать плагин или обратиться к разработчику. Ручная чистка базы — не тот случай, где стоит экспериментировать.
Через WP-CLI
Если у вас есть SSH-доступ и вы уверенно работаете с командной строкой, WP-CLI позволяет быстро выполнить обслуживание базы. Это удобно на больших сайтах, где графический интерфейс уже тормозит.
Для удаления ревизий можно использовать команду:
wp post delete $(wp post list --post_type='revision' --format=ids) --forceКоманда сначала получает список ID ревизий, а затем удаляет их без корзины. Перед запуском убедитесь, что у вас есть резервная копия, потому что восстановить удалённые ревизии из базы после такой команды уже не получится.
Для очистки транзиентов в WP-CLI обычно используют встроенную команду очистки кэша транзиентов:
wp transient delete --allЭта команда удаляет все транзиенты, поэтому её стоит применять только если вы понимаете, что кэш временных значений будет пересоздан автоматически. На обычном сайте это штатное поведение, но после команды часть временных данных может пересобраться не сразу.
Как понять, что чистка помогла
После очистки не нужно сразу ожидать чудес. Сначала проверьте, стало ли меньше мусора и не появились ли ошибки.
Практически полезно сделать три проверки:
- открыть админку и сравнить скорость загрузки до и после;
- посмотреть размер базы в панели хостинга или phpMyAdmin;
- проверить, не сломались ли комментарии, формы, редактор записей и вход в админку.
Если сайт стал работать быстрее, но незначительно, это тоже нормально. База данных — не единственный источник тормозов. Иногда основная проблема в тяжёлой теме, медленных запросах плагинов или слабом хостинге. Но если в базе было много ревизий и спама, эффект от очистки обычно заметен хотя бы в админке.
Когда лучше не чистить вручную
Ручная чистка базы не лучший вариант, если сайт рабочий, а вы не можете быстро восстановить резервную копию. Также не стоит лезть в базу, если на сайте стоят сложные плагины с собственными таблицами и вы не знаете, как они хранят данные.
Отдельный случай — сайты с большим количеством контента и несколькими редакторами. Там ревизии и служебные записи могут быть частью нормального рабочего процесса. В такой ситуации лучше не просто удалить мусор, а сначала ограничить накопление лишних данных: уменьшить число ревизий, настроить политику хранения и следить за ростом базы регулярно.
Если нужна не разовая чистка, а постоянное уменьшение дублей и служебного мусора, для WordPress можно посмотреть в сторону Clearfy Pro. Но даже с такими инструментами принцип остаётся тем же: сначала резервная копия, потом точечная очистка, а не удаление всего подряд.
В итоге безопасная чистка базы WordPress сводится к простому правилу: удаляйте только то, что точно является мусором и не участвует в работе сайта. Спам, корзина, ревизии и просроченные транзиенты обычно подходят для такой очистки. Настройки, пользовательские данные и таблицы плагинов без проверки трогать не стоит.