Если редакторы часто правят записи, WordPress начинает сохранять много ревизий. Это удобно, когда нужно откатить неудачную правку, но со временем такие копии раздувают таблицу базы данных и засоряют админку. Решение обычно одно из двух: полностью отключить ревизии или оставить их, но ограничить количество для каждой записи.
Для большинства сайтов безопаснее не отключать ревизии совсем, а поставить разумный лимит. Полное отключение подходит только там, где контент почти не редактируют или где есть другая система контроля версий.
Что именно делают ревизии и почему они разрастаются
Ревизия — это сохранённая версия записи, страницы или другого поддерживаемого типа контента. WordPress создаёт её автоматически при каждом сохранении. Если редактор несколько раз подряд правит один и тот же текст, система может накопить десятки версий за короткое время.
Сами по себе ревизии не ломают сайт, но у них есть практические минусы:
- увеличивается объём базы данных;
- админка становится менее удобной, если в записи слишком много версий;
- на слабом хостинге лишние записи в базе могут немного замедлять работу;
- при массовом редактировании контента мусор накапливается очень быстро.
Если сайт давно работает и редакторы активно пользуются блоковым редактором, ревизий обычно больше, чем ожидают владельцы. Поэтому ограничение количества — это не косметическая настройка, а нормальная гигиена базы.
Какой вариант выбрать: отключение или ограничение
| Вариант | Когда подходит | Что теряете |
|---|---|---|
| Полностью отключить ревизии | Контент почти не редактируется, откаты не нужны, есть внешнее резервное копирование | Нельзя вернуться к старым версиям записи через WordPress |
| Ограничить количество ревизий | Редакторы работают с текстами, но нужно уменьшить объём базы | Старые версии будут удаляться по мере появления новых |
| Оставить как есть | Сайт небольшой, ревизий мало, база не растёт заметно | Ничего не меняется, но мусор продолжает копиться |
Если сомневаетесь, начинайте с ограничения. Это почти всегда более практичный вариант: удобство редактирования сохраняется, а база перестаёт бесконтрольно расти.
Как отключить ревизии через wp-config.php
Этот способ работает на уровне WordPress и не зависит от темы. Подходит, если вы хотите полностью запретить создание ревизий. Перед изменением файла сделайте резервную копию: ошибка в wp-config.php может временно сломать сайт.
Откройте файл wp-config.php в корне сайта и добавьте строку выше комментария /* That's all, stop editing! Happy publishing. */:
define( 'WP_POST_REVISIONS', false );После этого WordPress перестанет сохранять ревизии для новых изменений. Уже созданные версии при этом не исчезнут сами по себе — они останутся в базе, пока вы их не удалите отдельно.
Если нужно отключить ревизии только частично, например оставить их для некоторых типов контента, стандартной настройкой WordPress это не делается. Тогда уже нужен код в теме или плагине, но для большинства сайтов такой сценарий не требуется.
Как ограничить количество ревизий
Если вы хотите сохранить возможность отката, но не плодить бесконечные копии, задайте лимит. Для этого в wp-config.php используйте число вместо false. Например, чтобы хранить не больше пяти ревизий:
define( 'WP_POST_REVISIONS', 5 );WordPress будет удалять самые старые ревизии по мере создания новых, оставляя только последние пять версий каждой записи. Это хороший компромисс для редакционных сайтов, блогов и корпоративных проектов, где правки нужны регулярно.
Какой лимит ставить на практике:
- 3–5 — если правки небольшие и нужен только короткий откат;
- 7–10 — если тексты часто дорабатывают несколько человек;
- больше 10 — обычно уже избыточно, если нет особой причины хранить длинную историю изменений.
Точного универсального числа нет: ориентируйтесь на то, как реально работает редакция. Чем активнее правки, тем полезнее лимит, но слишком маленькое значение может мешать, если нужно вернуться к версии недельной давности.
Что делать с уже накопленными ревизиями
Отключение или ограничение ревизий не очищает базу автоматически. Старые записи останутся в таблице wp_posts, и если цель — именно сократить мусор, их нужно удалить отдельно.
Здесь есть важный момент: удаление старых ревизий — это необратимое действие. Если в базе нет свежей резервной копии, можно потерять полезную историю изменений. Поэтому сначала сделайте бэкап базы данных, а уже потом чистите ревизии.
Самый безопасный путь — использовать инструмент, который умеет удалять именно ревизии, а не весь контент подряд. Если вы работаете через хостинг-панель или плагин для обслуживания базы, проверьте, что в списке очистки есть пункт для ревизий записей. После удаления база обычно становится заметно чище, особенно на старых сайтах с активной редактурой.
Если вы предпочитаете ручную работу через SQL, это тоже возможно, но такой вариант требует аккуратности и понимания, что вы удаляете. Для обычного владельца сайта безопаснее использовать штатные инструменты обслуживания или плагин, который явно показывает, что именно будет удалено.
Как проверить, что настройка сработала
После изменения wp-config.php откройте любую запись и внесите небольшую правку. Затем сохраните её несколько раз подряд. Дальше проверьте блок ревизий в редакторе:
- если ревизии отключены, новых версий появляться не должно;
- если задан лимит, количество версий должно перестать расти бесконечно и удерживаться в пределах указанного числа.
Ещё один практический способ проверки — посмотреть размер базы через панель хостинга до и после очистки старых ревизий. На небольших сайтах разница может быть не очень заметной, но на контентных проектах с долгой историей она обычно видна.
На что обратить внимание, чтобы не создать себе проблему
Самая частая ошибка — отключить ревизии полностью, а потом обнаружить, что редактор случайно испортил текст и откатить его некуда. Если на сайте работают несколько человек, лимит почти всегда безопаснее полного запрета.
Вторая ошибка — менять файл wp-config.php без резервной копии. Это несложно технически, но одна лишняя запятая или неверный символ могут привести к ошибке загрузки сайта.
Третья проблема — путать ревизии с автосохранением. Автосохранение в WordPress работает отдельно и помогает не потерять несохранённый текст в браузере. Отключение ревизий не отменяет автосохранение, но и не заменяет его.
Если сайт уже давно работает и база заметно разрослась, разумный порядок действий такой: сначала ограничить или отключить ревизии, затем удалить старые версии, после этого проверить, что новые ревизии больше не накапливаются бесконтрольно. Так вы убираете причину роста базы, а не только её последствия.
Для сайтов, где редакторы постоянно правят тексты, ограничение ревизий обычно даёт лучший баланс между чистотой базы и удобством работы. Полное отключение имеет смысл только тогда, когда история изменений действительно не нужна.