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