Если WordPress начал заметно тормозить, а база данных разрослась до десятков или сотен мегабайт, первым делом стоит проверить не хостинг, а накопившийся мусор: ревизии записей, автосохранения, спам-комментарии, временные данные плагинов и старые служебные записи. В большинстве случаев именно они раздувают таблицы и замедляют админку, резервное копирование и запросы к сайту.
Сократить размер базы можно без потери контента, если действовать по порядку: сначала сделать резервную копию, потом убрать безопасный мусор, затем оптимизировать таблицы и только после этого трогать более чувствительные данные. Такой подход подходит для обычного сайта на WordPress с MySQL или MariaDB и не требует глубокого администрирования.
С чего начать: что именно раздувает базу WordPress
В WordPress база обычно растёт не из-за самих записей и страниц, а из-за служебных данных. Чаще всего лишний объём дают:
- ревизии записей и страниц;
- автосохранения редактора;
- спам и корзина комментариев;
- временные записи в таблице
wp_options; - устаревшие данные плагинов и тем;
- накопившиеся метаданные записей, пользователей и терминов.
Если сайт давно работает и контент регулярно редактируется, ревизии обычно становятся главным источником роста. Если на сайте много плагинов, часто раздувается wp_options — там хранятся настройки, кэш и временные значения. На крупных сайтах заметный вклад дают и таблицы метаданных, особенно если плагины создают много служебных полей.
Перед очисткой обязательно сделайте резервную копию
Любая операция с базой данных должна начинаться с бэкапа. Даже если вы удаляете только ревизии и транзиенты, ошибка в запросе или неудачный плагин могут затронуть нужные данные. Для небольшого сайта достаточно экспортировать базу через панель хостинга или phpMyAdmin. Если у вас есть доступ к командной строке и вы понимаете, что делаете, можно использовать mysqldump, но для большинства владельцев сайта удобнее и безопаснее штатный экспорт у хостера.
После копии проверьте, что архив действительно скачался и открывается. Это банальная, но важная проверка: резервная копия, которая не восстановится, не защищает от ошибок.
Безопасная очистка: что можно удалять в первую очередь
Начинать лучше с того, что не влияет на содержимое сайта.
Ревизии записей и страниц
Ревизии — это сохранённые версии постов и страниц. Они полезны, если нужно откатить правки, но на старом сайте их может быть слишком много. Удалять их можно, если вы уверены, что не нуждаетесь в глубокой истории правок.
Самый безопасный вариант — ограничить количество будущих ревизий, а не просто удалить всё подряд. Для этого в wp-config.php можно задать лимит:
define( 'WP_POST_REVISIONS', 5 );Это оставит только пять последних ревизий для каждой записи. Если поставить false, ревизии будут отключены полностью, но для рабочих сайтов это обычно слишком жёстко: вы теряете удобный откат изменений.
Чтобы удалить уже накопившиеся ревизии, используйте плагин для очистки базы или SQL-запрос, если умеете работать с phpMyAdmin. Сам запрос выглядит так:
DELETE FROM wp_posts WHERE post_type = 'revision';Здесь важно понимать: префикс таблиц может быть не wp_. Если у вас другой префикс, подставьте его в запросе. После удаления ревизий полезно выполнить оптимизацию таблицы wp_posts, чтобы освободившееся место реально вернулось на диск.
Автосохранения
Автосохранения создаются редактором WordPress во время работы над записью. Их обычно немного, и они не являются основной причиной раздувания базы. Отдельно чистить их имеет смысл только если на сайте очень много редакторской активности или вы давно не обслуживали базу. В этом случае автосохранения можно удалить вместе с ревизиями, но не стоит строить на них основную стратегию очистки.
Спам и корзина комментариев
Если на сайте включены комментарии, спам и удалённые комментарии тоже занимают место. Очистите корзину комментариев в админке WordPress и удалите спам. Это безопасная операция, если вы не храните комментарии вручную для модерации.
На сайтах с большим потоком спама полезно проверить, не копятся ли записи в таблице комментариев из-за того, что корзина не очищается автоматически. В этом случае ручная очистка даст заметный эффект.
Как убрать временные данные и служебный мусор
Следующий источник лишнего объёма — временные записи, которые WordPress и плагины используют для кэша и служебных задач. Речь в первую очередь о транзиентах. Это временные значения, которые хранятся в базе, если не используется внешний объектный кэш.
Удалять просроченные транзиенты безопасно. Они не содержат контент сайта и при необходимости будут созданы заново. В админке это удобнее всего делать через плагин очистки базы или инструмент, который умеет удалять именно expired transients, а не все подряд.
Если вы работаете через SQL, нужно быть аккуратным: транзиенты хранятся в wp_options в виде пары записей. Ошибка в запросе может задеть рабочие настройки плагинов. Поэтому для большинства пользователей лучше использовать проверенный инструмент очистки, а не писать запросы вручную.
Отдельно стоит посмотреть на wp_options с autoload = 'yes'. Это записи, которые WordPress загружает на каждом запросе. Если их слишком много или среди них есть тяжёлые данные, сайт начинает тормозить даже без большой базы. Но чистить эту таблицу вручную нужно осторожно: сначала выясните, какие записи принадлежат плагинам, которые вы уже удалили, а какие действительно нужны сайту.
Оптимизация таблиц: когда удаление уже сделано
После удаления ревизий, спама и временных данных база не всегда сразу уменьшается на диске. MySQL и MariaDB часто оставляют свободное место внутри таблиц. Чтобы вернуть его, нужна оптимизация таблиц.
Для небольших сайтов это можно сделать через phpMyAdmin: выберите таблицы базы и выполните операцию оптимизации. Если у вас есть доступ к командной строке, можно использовать OPTIMIZE TABLE, но на живом сайте с большой базой это лучше делать в период низкой нагрузки, потому что операция может временно блокировать таблицу. На некоторых конфигурациях MySQL она также занимает заметное время.
Оптимизация особенно полезна после массового удаления ревизий и комментариев. Без неё размер файлов базы на диске может почти не измениться, хотя внутри таблиц появится свободное место.
Что не стоит удалять вручную без понимания
Есть данные, которые выглядят как мусор, но могут быть нужны сайту. Не удаляйте их наугад:
- записи в
wp_options, если не знаете, какому плагину они принадлежат; - метаданные записей и товаров, если сайт использует сложные поля или кастомные типы контента;
- данные кэширующих плагинов, если вы не понимаете их структуру;
- служебные таблицы плагинов, которые ещё используются на сайте.
Особенно опасно чистить базу по принципу «всё, что похоже на лишнее». В WordPress многие плагины хранят настройки и рабочие данные именно в базе, и после удаления сайт может потерять часть функциональности или настройки внешнего вида.
Как поддерживать базу в нормальном размере
Разовая очистка помогает, но если сайт продолжает раздуваться, проблема вернётся. Чтобы база не росла бесконтрольно, достаточно нескольких практических мер:
- ограничить число ревизий в
wp-config.php; - регулярно очищать спам и корзину комментариев;
- проверять, не создают ли плагины лишние записи в
wp_options; - раз в несколько месяцев удалять просроченные транзиенты;
- после крупных чисток выполнять оптимизацию таблиц.
Если сайт активно редактируется несколькими авторами, ревизии лучше не отключать полностью. Практичнее оставить небольшой лимит: этого обычно достаточно для отката ошибок и при этом база не раздувается бесконечно.
Как проверить, что очистка сработала
После всех действий сравните размер базы до и после очистки в панели хостинга или phpMyAdmin. Смотрите не только на общий объём, но и на самые тяжёлые таблицы: wp_posts, wp_options, wp_comments и таблицы плагинов. Если после удаления данных и оптимизации размер почти не изменился, значит основная проблема не в мусоре, а в рабочих данных плагина или в том, что таблицы ещё не были оптимизированы.
Дополнительно проверьте сайт в админке: открываются ли записи, сохраняются ли изменения, работают ли комментарии и не появились ли ошибки после очистки. Это особенно важно, если вы использовали SQL-запросы или удаляли данные через сторонний плагин.
Если нужен более простой путь без ручной работы с базой, можно использовать плагин для удаления дублей, ревизий и служебных записей. В экосистеме WPShop для этой задачи подходит Clearfy Pro: он помогает убрать часть мусора и поддерживать сайт в более чистом состоянии без ручного вмешательства в SQL. Но даже с таким инструментом резервная копия перед очисткой остаётся обязательной.
В итоге схема простая: сначала бэкап, потом удаление ревизий, спама и временных данных, затем оптимизация таблиц. Если не трогать незнакомые записи и не чистить базу вслепую, размер базы WordPress можно заметно уменьшить без риска потерять контент или настройки сайта.