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