Если WordPress начал заметно тормозить, а резервные копии раздулись до неудобного размера, почти всегда есть смысл сначала посмотреть на базу данных. В ней со временем накапливаются ревизии записей, спам-комментарии, временные данные, удалённые записи и служебный мусор. Это не «поломка», а обычный эффект от долгой работы сайта. Хорошая новость в том, что уменьшить базу можно без потери контента, если чистить только то, что действительно не нужно.
Ниже — рабочий порядок действий. Он подходит для обычных сайтов на WordPress, но перед любыми массовыми удалениями всё равно сделайте свежую резервную копию базы. Если что-то пойдёт не так, откат будет проще, чем ручное восстановление отдельных таблиц.
С чего обычно раздувается база WordPress
Размер базы растёт не только из-за публикаций и страниц. Чаще всего лишний объём дают:
- ревизии записей и страниц;
- автосохранения редактора;
- спам и удалённые комментарии;
- временные записи
transientи их устаревшие остатки; - черновики, корзина и старые служебные данные плагинов;
- накопившиеся метаданные записей, комментариев и пользователей.
Сам по себе большой объём таблиц не всегда означает проблему, но если сайт стал медленнее открываться в админке, а бэкапы занимают в разы больше места, чистка базы обычно даёт заметный практический эффект.
Сначала уберите то, что точно не нужно
Самый безопасный порядок — идти от очевидного к более тонкой чистке. Так вы не заденете контент, который ещё может пригодиться.
Удалите спам и корзину
В админке WordPress откройте раздел комментариев и очистите спам, а затем корзину. Это самый простой и безопасный шаг: комментарии из спама и корзины не несут ценности для сайта, но занимают место в таблице wp_comments и связанных метаданных.
Если на сайте комментарии не используются, имеет смысл отключить их на уровне настроек для новых записей. Но это уже отдельная настройка, а не чистка базы.
Очистите черновики и старые ревизии
Ревизии — одна из самых частых причин разрастания базы. WordPress сохраняет несколько версий одной и той же записи, чтобы можно было откатиться к прежнему тексту. Это полезно, но на сайтах с активной редактурой ревизий может накопиться очень много.
Удалять все ревизии подряд не стоит, если вы часто редактируете важные страницы. Лучше сначала понять, сколько их накопилось, и убрать только лишнее. Для этого удобно использовать плагин очистки базы или выполнить точечный SQL-запрос через phpMyAdmin, Adminer или другой доступный инструмент.
Если вы хотите удалить только ревизии, а не весь контент, используйте запрос к базе данных:
DELETE FROM wp_posts WHERE post_type = 'revision';Здесь важно одно: префикс таблицы wp_ может быть другим. Перед запуском проверьте реальное имя таблицы в вашей базе. После удаления ревизий сами записи и страницы останутся, исчезнут только сохранённые версии.
Если вы не уверены, что делаете, безопаснее сначала ограничить число ревизий на будущее, а не удалять всё вручную. Это можно сделать в wp-config.php, но такой шаг уже влияет на поведение редактора, поэтому его стоит применять осознанно.
Почистите transient-данные и временный мусор
transient-данные — это временные записи, которые WordPress и плагины используют для кэша и служебных задач. Они должны удаляться сами, но на практике часть из них остаётся в базе дольше, чем нужно. Особенно это заметно на сайтах с большим количеством плагинов.
Удалять transient-данные вручную можно, но здесь лучше не трогать всё подряд. Безопаснее использовать штатные инструменты или плагин, который умеет чистить только устаревшие временные записи. Если вы работаете через SQL, обычно удаляют записи из таблиц wp_options с именами, начинающимися на _transient_ и _site_transient_, но делать это нужно аккуратно: не все transient одинаково бесполезны, а некоторые плагины рассчитывают на их наличие.
Практический подход такой: сначала очистить устаревшие transient через инструмент, который понимает структуру WordPress, и только потом смотреть, насколько уменьшился объём базы. Если сайт использует объектный кэш или полноценный кэш на уровне сервера, transient-данных обычно меньше, но полностью они всё равно не исчезают.
Проверьте таблицы плагинов, которые давно не используются
Иногда база раздута не WordPress как таковым, а плагинами, которые когда-то были установлены и удалены не до конца. После деинсталляции часть таблиц и записей может остаться в базе. Это уже не контент сайта, а хвосты от старых расширений.
Здесь важно не удалять таблицы наугад. Сначала посмотрите, какие плагины сейчас активны, а какие уже давно сняты с сайта. Если таблица явно относится к удалённому плагину и вы уверены, что он больше не нужен, её можно удалить вручную после резервной копии. Если есть сомнения, лучше оставить таблицу как есть: лишние несколько мегабайт безопаснее, чем потерянные настройки рабочего плагина.
Особенно осторожно относитесь к таблицам, которые содержат метаданные, статистику, логи или историю действий. Они часто занимают много места, но не всегда очевидно, можно ли их удалить без последствий.
Когда стоит использовать плагин для очистки базы
Если вы не хотите работать напрямую с SQL, проще использовать плагин, который умеет чистить ревизии, спам, временные данные и мусорные записи из интерфейса WordPress. Это удобнее для владельца сайта, потому что не требует доступа к базе через phpMyAdmin и снижает риск ошибочного запроса.
Плагин полезен, когда нужно:
- быстро увидеть, что именно занимает место;
- удалить ревизии и автосохранения;
- очистить transient-данные;
- убрать старые черновики и записи в корзине;
- запустить чистку без ручной работы с таблицами.
Если у вас уже установлен инструмент для оптимизации и удаления дублей, например Clearfy Pro, его можно использовать как один из вариантов для чистки типового мусора в WordPress. Но даже в этом случае не запускайте всё подряд без просмотра списка операций. Хороший инструмент помогает, но не отменяет необходимость понимать, что именно будет удалено.
Что не стоит удалять ради уменьшения базы
Самая частая ошибка — пытаться «обнулить» базу по принципу «всё, что старое, лишнее». Так можно потерять не мусор, а рабочие данные. Не удаляйте без проверки:
- посты и страницы, даже если они давно не менялись;
- метаданные, если не знаете, к чему они относятся;
- таблицы плагинов, которые ещё используются;
- комментарии, если они нужны для обратной связи или SEO;
- пользовательские записи и профили.
Если задача именно в уменьшении размера базы без потери контента, ориентируйтесь на данные, которые WordPress может пересоздать или которые уже не нужны для работы сайта. Всё остальное сначала проверяйте, а потом удаляйте.
Как проверить, что база действительно стала меньше
После чистки не полагайтесь только на ощущение «админка стала шустрее». Проверьте результат по факту.
Самый простой способ — сравнить размер базы до и после в панели хостинга или в phpMyAdmin. Там обычно видно общий объём базы и размер отдельных таблиц. Если вы чистили ревизии и transient-данные, уменьшение должно быть заметно именно в таблицах wp_posts и wp_options, а также в таблицах комментариев, если вы удаляли спам.
Дополнительно проверьте:
- открывается ли админка без ошибок;
- сохраняются ли записи и страницы как обычно;
- не пропали ли комментарии, которые должны остаться;
- не сломались ли настройки плагинов после удаления старых данных.
Если после чистки сайт работает нормально, а размер базы уменьшился, значит вы убрали именно лишнее, а не полезный контент.
Как не допустить быстрого повторного разрастания
Полностью остановить рост базы нельзя, но можно сделать его медленнее. Для этого обычно хватает нескольких практических мер:
- ограничить число ревизий для новых записей;
- регулярно чистить спам и корзину;
- не держать на сайте лишние плагины, которые пишут много служебных данных;
- периодически удалять устаревшие transient-данные;
- проверять таблицы после удаления плагинов.
Если сайт активно редактируется, разумно включить регулярную профилактику раз в несколько месяцев. На небольшом сайте это можно делать вручную. На крупном проекте удобнее выстроить понятный регламент: резервная копия, чистка, проверка, только потом обновления и дальнейшая работа.
В итоге уменьшение базы WordPress без потери контента сводится не к «магической оптимизации», а к аккуратной уборке того, что WordPress и плагины накопили в процессе работы. Если не трогать публикации, страницы и нужные настройки, а чистить только ревизии, спам, transient-данные и остатки старых расширений, база становится компактнее, а сайт — проще в обслуживании.