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

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

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

Что именно можно удалить без риска для сайта

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

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

Как удалить уже накопленные ревизии

Есть три рабочих способа: через плагин, через админку хостинга или через SQL. Для большинства владельцев сайтов самый безопасный путь — плагин для очистки базы. Если нужен разовый и контролируемый запуск, подойдёт и команда через WP-CLI, но она доступна не на каждом хостинге.

Удаление через плагин

Если у вас нет доступа к консоли или не хочется работать с запросами к базе, используйте плагин для очистки. Он покажет, сколько ревизий найдено, и позволит удалить их без ручного SQL. Для этой задачи подойдут инструменты класса database cleanup; если у вас уже установлен плагин, который умеет чистить ревизии, этого достаточно.

Порядок действий обычно такой:

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

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

Удаление через WP-CLI

Если на хостинге доступен WP-CLI, это удобный способ убрать ревизии без установки дополнительных плагинов. Команда удаляет все ревизии из базы данных:

wp post delete $(wp post list --post_type='revision' --format=ids) --force

Здесь --force нужен, чтобы удалить записи окончательно, без отправки в корзину. Команда рабочая, но применять её стоит только после бэкапа. На очень больших сайтах список ID может быть длинным, и тогда лучше удалять ревизии порциями или использовать инструмент, который умеет делать это пакетно.

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

Удаление через SQL

Этот вариант подходит тем, кто уверенно работает с phpMyAdmin или другим клиентом к MySQL. Сначала сделайте резервную копию, затем выполните запрос, который удаляет только записи типа revision:

DELETE FROM wp_posts WHERE post_type = 'revision';

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

Как ограничить количество ревизий в WordPress

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

Если вы хотите хранить, например, только 5 последних ревизий, добавьте в wp-config.php строку:

define( 'WP_POST_REVISIONS', 5 );

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

Если ревизии не нужны вообще, можно отключить их создание так:

define( 'WP_POST_REVISIONS', false );

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

Где именно менять настройку и что учесть

Файл wp-config.php находится в корне установки WordPress, рядом с папками wp-admin и wp-content. Править его можно через файловый менеджер хостинга, FTP или SSH. Константу лучше добавлять выше строки /* That's all, stop editing! Happy publishing. */, если она у вас есть.

Есть несколько нюансов:

  • на части хостингов файл может быть защищён от записи, и тогда правки нужно вносить через панель или FTP;
  • если в wp-config.php уже задана WP_POST_REVISIONS, новая строка с тем же именем не должна дублироваться;
  • значение влияет на будущие ревизии, но не очищает старые автоматически;
  • на мультисайте настройка действует на уровне всей установки, а не отдельного сайта.

Как проверить, что всё сработало

После удаления старых ревизий и ограничения их количества проверьте два момента. Первый — в базе стало меньше записей типа revision. Второй — при последующем редактировании WordPress не создаёт бесконечную цепочку версий.

Проверка в базе проста: откройте таблицу wp_posts и посмотрите количество записей с post_type = 'revision'. Если вы удаляли ревизии через плагин или WP-CLI, число должно заметно уменьшиться. После изменения WP_POST_REVISIONS отредактируйте любую запись несколько раз и убедитесь, что число новых ревизий не превышает заданный лимит.

Ещё один практический признак — размер резервной копии базы должен стать меньше, особенно если раньше сайт активно редактировали. На небольших сайтах разница может быть не очень заметной, но на контентных проектах с частыми правками она обычно хорошо видна.

Когда лучше не удалять всё подряд

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

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

Создать и использовать собственные типы записей в WordPress
30.08.2026
Как отключить комментарии в WordPress на всем сайте или для отдельных записей
13.10.2026
Как удалить старые ревизии записей в WordPress и ограничить их количество
09.10.2026
Как удалить все комментарии в WordPress с помощью кода
12.09.2026
Оптимизация базы данных WordPress: как ускорить сайт и снизить нагрузку
02.09.2026