Если на сайте часто редактируют записи и страницы, ревизии быстро раздувают таблицу базы данных. Это не всегда критично, но на проектах с большим количеством правок, длинными статьями и несколькими авторами лишние версии действительно начинают мешать: база растёт, резервные копии становятся тяжелее, а в админке появляется слишком много сохранённых вариантов одного и того же материала.
Полностью отключать ревизии имеет смысл не на каждом сайте. Для новостника, блога с активной редактурой или проекта, где контент часто правят несколько человек, ревизии полезны: они позволяют откатиться к предыдущему тексту, если кто-то случайно удалил абзац или испортил форматирование. Но если сайт почти не редактируется, а записи после публикации меняются редко, можно ограничить количество ревизий или отключить их для снижения мусора в базе.
Что именно делает ревизии и почему они копятся
Ревизия в WordPress — это отдельная сохранённая версия записи, страницы или другого типа контента, который поддерживает эту функцию. WordPress создаёт ревизии при ручном сохранении и часто при автосохранении. В результате одна статья может иметь десятки или сотни версий, особенно если её долго редактировали.
Сами по себе ревизии не ломают сайт. Проблема в том, что они занимают место в базе данных и усложняют обслуживание. На небольшом сайте это обычно незаметно, а вот на крупном проекте с тысячами материалов и активной редактурой разница уже ощутима. При этом ревизии — не единственный источник «мусора» в базе, но один из самых предсказуемых.
Когда ревизии лучше не отключать полностью
Перед изменением настройки стоит честно оценить, как работает сайт. Полное отключение ревизий не подходит, если:
- контент часто правят несколько человек;
- нужна возможность быстро откатить неудачную правку;
- на сайте публикуются длинные экспертные материалы, которые регулярно обновляются;
- редакторы работают без отдельной системы контроля версий.
В таких случаях безопаснее не отключать ревизии полностью, а ограничить их число. Тогда WordPress будет хранить, например, последние 3–5 версий вместо бесконечного списка.
Как отключить ревизии в WordPress через wp-config.php
Самый прямой способ — добавить константу в файл wp-config.php. Этот вариант работает на уровне WordPress и не требует плагинов. Но перед правкой сделайте резервную копию файла и базы данных: ошибка в wp-config.php может временно сломать сайт.
Если нужно полностью отключить ревизии, добавьте строку перед комментарием /* That's all, stop editing! Happy publishing. */:
define( 'WP_POST_REVISIONS', false );После этого WordPress перестанет создавать новые ревизии для записей и страниц. Уже существующие ревизии при этом не удаляются автоматически — они останутся в базе, пока вы не очистите их отдельно.
Если вместо полного отключения нужен лимит, укажите число:
define( 'WP_POST_REVISIONS', 5 );В этом варианте WordPress будет хранить только последние 5 ревизий для каждой записи. Для большинства сайтов это более разумный компромисс, чем полное отключение.
Что делать с уже накопленными ревизиями
Отключить создание новых ревизий — это только половина задачи. Если база уже раздута, старые версии останутся в таблице wp_posts. Их можно удалить, но здесь нужна осторожность: после очистки вы потеряете возможность откатиться к старым версиям контента.
Самый безопасный путь — сначала сделать полную резервную копию сайта, а затем удалить лишние ревизии одним из проверенных способов:
- через плагин для очистки базы данных;
- через SQL-запрос в phpMyAdmin или другом инструменте работы с базой;
- через WP-CLI, если он доступен на хостинге.
Если вы не уверены в своих действиях, лучше использовать плагин с понятным интерфейсом и предварительным просмотром удаляемых данных. Для очистки ревизий и других служебных записей часто используют инструменты вроде Clearfy Pro, если он уже стоит на сайте и вы хотите совместить несколько задач обслуживания в одном месте.
Удаление ревизий через SQL
Этот способ подходит тем, кто умеет работать с базой и понимает, что делает. Перед выполнением запроса обязательно проверьте префикс таблиц: он не всегда равен wp_.
DELETE FROM wp_posts WHERE post_type = 'revision';Запрос удалит все ревизии из таблицы записей. Если на сайте есть нестандартный префикс, замените wp_ на свой. После удаления имеет смысл оптимизировать таблицу базы данных, но делать это нужно только после резервной копии и понимания последствий.
Удаление ревизий через WP-CLI
Если на хостинге доступен WP-CLI, можно удалить ревизии командой:
wp post delete $(wp post list --post_type=revision --format=ids) --forceКоманда сначала получает список ID всех ревизий, а затем удаляет их без помещения в корзину. Это удобно, но тоже требует осторожности: после выполнения восстановить удалённые ревизии из админки уже не получится.
Как проверить, что ревизии действительно отключены
После изменения wp-config.php откройте любую запись в редакторе, внесите небольшое изменение и сохраните её несколько раз. Затем проверьте боковую панель редактора или блок «Ревизии», если он отображается в вашей версии WordPress и используемом редакторе. Если лимит или отключение сработали, число новых версий перестанет расти бесконечно.
Ещё один практический способ — посмотреть таблицу wp_posts в базе данных и отфильтровать записи с типом revision. Если после новых сохранений их количество не увеличивается, настройка работает. Но помните: автосохранения и ревизии — не одно и то же. Автосохранение может продолжать работать как механизм защиты от потери текста в редакторе, даже если ревизии ограничены.
Какие риски появляются после отключения ревизий
Главный риск очевиден: вы теряете удобный откат к предыдущему состоянию текста. Если редактор случайно удалил важный фрагмент, переписал заголовок или испортил форматирование, восстановить старую версию будет сложнее. На сайтах с несколькими авторами это особенно чувствительно.
Есть и менее заметный момент. Некоторые владельцы сайтов отключают ревизии, а потом удивляются, что база всё равно растёт. Это нормально: ревизии — лишь один из источников роста. В базе также накапливаются автосохранения, временные данные, спам-комментарии, транзиенты и другие служебные записи. Поэтому отключение ревизий полезно, но не заменяет регулярное обслуживание сайта.
Если задача — не «обнулить» базу, а сделать сайт аккуратнее и легче в поддержке, обычно лучше ограничить ревизии, а не выключать их полностью. Для большинства проектов это даёт нужный эффект без лишнего риска для редакторов.
Что выбрать на практике
Если сайт простой, контент почти не редактируется и вам важнее порядок в базе, чем история правок, можно отключить ревизии полностью через wp-config.php. Если сайт живой, с регулярными правками и несколькими участниками, разумнее поставить лимит на 3–5 ревизий. Такой вариант обычно закрывает проблему разрастания базы и при этом оставляет запасной путь для отката.
В любом случае не начинайте с удаления старых ревизий, пока не сделали резервную копию. Это тот случай, когда экономия нескольких мегабайт не стоит потери истории правок, если что-то пойдёт не так.