Как очистить базу данных WordPress от мусора и старых ревизий

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

Чистить базу можно безопасно, если понимать, что именно удаляется и где есть риск потерять нужные данные. Самый практичный подход — сначала сделать резервную копию, потом убрать очевидный мусор, а уже затем при необходимости заняться более глубокой оптимизацией таблиц.

Что именно обычно засоряет базу WordPress

В WordPress мусор накапливается в нескольких местах, и не все они одинаково полезны для очистки. Чаще всего речь идет о таких данных:

  • ревизии записей и страниц — WordPress сохраняет промежуточные версии контента;
  • автосохранения — временные копии, которые помогают не потерять текст при сбое;
  • спам-комментарии и комментарии в корзине;
  • транзиенты — временные значения, которые используют темы и плагины;
  • устаревшие служебные данные плагинов, если расширение удалили неаккуратно или оно оставило таблицы и записи;
  • мусор в таблицах после долгой работы сайта: пересохраненные метаданные, лишние записи в очередях задач, старые кэши.

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

С чего начать, чтобы не потерять данные

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

Минимальный безопасный порядок такой:

  1. сделать полную резервную копию базы данных;
  2. при возможности сохранить и файлы сайта, если планируется чистка через плагин или ручные запросы;
  3. проверить, какие плагины создают много данных и нужны ли они сейчас;
  4. очищать сначала очевидный мусор, а не все подряд.

Если у вас обычный shared-хостинг, резервную копию часто проще сделать через панель хостинга или через плагин бэкапов. Если есть доступ к phpMyAdmin, можно экспортировать базу оттуда. Для крупных сайтов лучше иметь копию, которую можно быстро восстановить, а не только архив «на всякий случай».

Как убрать ревизии и автосохранения

Ревизии — главный источник разрастания таблицы wp_posts. Каждая сохраненная версия записи хранится как отдельная строка. На сайте с активной редакцией контента их может быть очень много.

Есть два рабочих способа: удалить старые ревизии разово или ограничить их количество на будущее.

Удаление старых ревизий вручную

Если у вас есть доступ к базе через phpMyAdmin, можно удалить ревизии SQL-запросом. Перед выполнением убедитесь, что префикс таблиц у вас действительно wp_; у многих сайтов он другой.

DELETE FROM wp_posts WHERE post_type = 'revision';

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

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

Ограничение числа ревизий на будущее

Чтобы база не росла снова, можно ограничить количество ревизий в wp-config.php. Это особенно полезно на сайтах, где статьи часто редактируют несколько авторов.

Добавьте строку до комментария /* That's all, stop editing! Happy publishing. */:

define('WP_POST_REVISIONS', 5);

Число 5 — пример. Можно поставить другое значение, если вам нужно больше истории правок. Если указать false, ревизии будут отключены полностью, но для живого сайта это обычно плохая идея: при ошибке в тексте или конфликте правок откатиться будет сложнее.

После изменения настройки новые записи будут создавать меньше ревизий, но уже накопленные старые версии она не удалит. Их нужно чистить отдельно.

Как безопасно очистить спам-комментарии и корзину

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

Что стоит сделать:

  • удалить спам-комментарии из раздела комментариев;
  • очистить корзину комментариев;
  • если обсуждения на сайте не нужны, отключить комментарии для новых записей;
  • проверить, не копятся ли комментарии из-за слабой защиты от спама.

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

Что делать с транзиентами и временными данными

Транзиенты — это временные значения, которые WordPress и плагины используют для кэша, промежуточных результатов и служебных задач. Обычно они сами истекают, но на некоторых сайтах старые записи накапливаются дольше, чем нужно, особенно если кэширование настроено неидеально или плагины работают нестабильно.

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

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

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

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

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

СпособКогда подходитПлюсыМинусы
Встроенные инструменты WordPressСпам, корзина, отдельные комментарииБезопасно и простоНе решает проблему ревизий и транзиентов полностью
Плагин обслуживания базыНужно быстро убрать ревизии, автосохранения, временные данныеМеньше ручной работы, понятный интерфейсНужно доверять плагину и проверять, что именно он удаляет
SQL через phpMyAdminНужна точечная очистка и есть опыт работы с базойТочный контрольОшибочный запрос может удалить нужные данные

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

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

После чистки не стоит ориентироваться только на ощущение «админка стала быстрее». Лучше проверить несколько конкретных вещей:

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

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

Что не стоит удалять без проверки

Самая частая ошибка — чистить базу по принципу «чем меньше, тем лучше». Для WordPress это не работает. Есть данные, которые выглядят как мусор, но нужны сайту или плагинам.

Без проверки не трогайте:

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

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

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

Как ускорить WordPress без плагинов: что можно оптимизировать вручную
13.10.2026
Как очистить базу данных WordPress от мусора и старых ревизий
13.10.2026
Как использовать WPCommunity для создания сообщества на WordPress
02.10.2026