Skip to content

Всё для WordPress, веб-разработки — и не только

🔄 Как отменить изменения в WordPress с помощью ревизий

🔄 Как отменить изменения в WordPress с помощью ревизий

Вы правили текст полчаса, переписали три абзаца, а потом поняли, старая версия была лучше. Закрыли редактор. И теперь в панике: кнопка «Отменить» уже не работает, а возвращаться некуда.

Знакомо? С WordPress такое случается с каждым. Но паниковать не стоит, у движка есть встроенная страховка. Ревизии сохраняют каждое нажатие «Сохранить» и «Обновить» и дают откатиться к любой точке. Ни плагинов, ни бэкапов, ни phpMyAdmin, всё уже внутри админки.

Разбираем, как найти, сравнить и восстановить любую версию поста за минуту.

💡 Быстрый обзор:

  • Открыть ревизии в боковой панели редактора WordPress
  • Прочитать цветовые маркеры и найти нужную версию
  • Восстановить предыдущую версию одним кликом
  • Ограничить число ревизий через константу в wp-config.php

Что такое ревизии и как они работают

Каждый раз, когда вы нажимаете «Сохранить», «Обновить» или «Опубликовать», WordPress создаёт копию записи в таблице posts. Копия получает тип revision и статус inherit, она привязана к родительскому посту как дочерняя запись, примерно как вложения-изображения.

Кроме ручных сохранений есть автосохранения. Раз в 60 секунд WordPress silently сохраняет черновик, но хранит ровно одно автосохранение на пользователя. Новое перезаписывает старое. Таблица от этого не растёт бесконечно, а при сбое браузера или отключении света редактор сам предложит восстановить последнюю автосохранённую версию.

Ревизии фиксируют изменения в четырёх полях: заголовок, контент, excerpt и автор. Мета-поля и настройки поста не отслеживаются.

До версии 6.9 экран ревизий был классическим, два столбца с HTML-диффом. Начиная с WordPress 7.0 (май 2026) появился новый экран с визуальным слайдером и цветовыми маркерами прямо в тексте. Классический вид тоже доступен, по ссылке «Open classic revisions screen» в боковой панели.

Как открыть ревизии поста

Экран ревизий WordPress с визуальным слайдером

Зайдите в редактор нужного поста. Откройте боковую панель настроек (Settings sidebar), перейдите на вкладку «Page» или «Post». В самом низу, строка «Revisions» с числом. Кликните по цифре.

Откроется экран ревизий. Верхний слайдер прокручивает сохранённые версии хронологически, слева старые, справа новые. Справа от слайдера, вертикальная полоса с цветными маркерами: каждый маркер показывает место изменения и его объём.

Цвета:

  • Зелёный, добавленный текст
  • Красный, удалённый текст
  • Жёлтый, изменённый фрагмент

Кликните по маркеру, вас перебросит прямо к этому месту в тексте. Кнопка «Show changes» слева от слайдера включает и выключает подсветку, удобно, когда надо прочитать чистый текст без визуального шума.

Над слайдером, информация: кто внёс изменение, когда и каким способом сохранено (вручную или автосохранение).

Как восстановить предыдущую версию

Нашли ревизию, которая вас устраивает? Нажмите кнопку «Restore», и выбранная версия становится текущим содержимым поста.

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

После восстановления пост сохраняется как черновик. Вы можете дальше править текст или сразу публиковать, ревизия уже применена.

Сравнение любых двух версий

В WordPress 7.0 сравнение работает через верхний слайдер, вы просто двигаете ползунок и видите изменения относительно текущей. Но если нужно сравнить две конкретные ревизии (не соседние), откройте классический экран через «Open classic revisions screen» в боковой панели.

В классическом режиме, два столбца HTML-кода и режим «Compare any two revisions». Включите его, слайдер разделится на два ползунка: левый для версии «от», правый для версии «до». Двигайте каждый независимо и смотрите построчный дифф между любыми точками истории.

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

Старые версии WordPress: классический экран

Классический экран ревизий с построчным HTML-сравнением

Если ваш сайт на WordPress 6.9 или старше, ревизии открываются в классическом режиме по умолчанию. Тот же функционал: построчное сравнение, кнопки «Previous» / «Next» для навигации и кнопка «Restore This Revision» для восстановления.

В версии 5.0 и выше ревизии находятся в боковой панели редактора. В версиях до 5.0, в метабоксе «Опубликовать» справа от редактора, под кнопкой «Обзор». Механика восстановления та же, меняется только расположение входа в интерфейс.

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

По умолчанию WordPress хранит все ревизии без ограничений. Для сайта с сотнями постов это может раздуть таблицу wp_posts на десятки мегабайт. Решение, константа WP_POST_REVISIONS в wp-config.php:

1define( 'WP_POST_REVISIONS', 5 );

Значения:

  • true или -1 (по умолчанию), хранить все ревизии
  • false или 0, не хранить ничего, кроме одного автосохранения на пользователя
  • целое число: 3, 5 или 10, хранить указанное количество ревизий на пост. Старые автоматически удаляются при следующем обновлении поста

Файл wp-config.php лежит в корневой папке сайта. Добавьте строку до /* That's all, stop editing! */ и сохраните. Изменение применяется сразу, плагины не нужны.

Для тонкой настройки под конкретный тип записей есть фильтр wp_revisions_to_keep, разработчики могут задать лимит программно, без правки конфига на продакшене.

Короткое видео по теме, наглядно показывает весь процесс поиска и восстановления ревизий в админке WordPress:

⁉️🤔 Частые вопросы

Можно ли восстановить ревизию удалённого поста?

Нет. Ревизии, дочерние записи в таблице wp_posts, и при удалении поста (в корзину или окончательно) они удаляются вместе с ним. Поэтому ревизии не заменяют резервное копирование. Если пост удалён, нужен бэкап базы данных или плагин вроде UpdraftPlus.

Автосохранения и ревизии, это одно и то же?

Не совсем. Автосохранение, это особая ревизия, которая создаётся автоматически каждые 60 секунд и перезаписывается. Хранится одна штука на пользователя на пост. Обычные ревизии создаются при ручном сохранении и накапливаются. Автосохранение WordPress использует для аварийного восстановления после сбоя, а ревизии, для ручного отката.

Замедляют ли ревизии сайт?

Сами по себе, нет, они не участвуют в рендеринге страниц. Но в админке при открытии поста с сотнями ревизий список может грузиться чуть дольше. Реальная проблема, размер базы данных. Ограничение через WP_POST_REVISIONS до 5-10 версий на пост решает вопрос без потери функциональности.

Видят ли ревизии другие пользователи сайта?

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

Что делать, если ревизии не отображаются в редакторе?

Проверьте wp-config.php, возможно, ревизии отключены строкой define( 'WP_POST_REVISIONS', false );. Также ревизии могут быть скрыты темой или плагином оптимизации. Третий вариант, пост ещё ни разу не сохранялся вручную после создания (автосохранения не считаются). Сделайте первое ручное сохранение, и блок «Revisions» появится.

Стоит ли полагаться только на ревизии?

Ревизии, удобный инструмент для быстрых откатов при редактуре, но они не заменяют полноценное резервное копирование. Их главный плюс, скорость и встроенность: открыл редактор, кликнул, восстановил. Не нужно лезть в бэкапы или хостинг.

Для спокойствия настройте автоматические бэкапы через хостинг или плагин. А ревизии оставьте для повседневной работы, с лимитом в 5-10 версий на пост, чтобы база не пухла, а история правок всегда была под рукой. Попробуйте прямо сейчас: откройте любой пост, нажмите «Revisions» в боковой панели и пройдитесь по слайдеру, вы увидите полную историю изменений за несколько секунд.