Отключение автосохранения и ревизий в WordPress для ускорения редактирования

Почему стоит отключить автосохранение и ревизии в WordPress?

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

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

Диагностика: как проверить, что автосохранение и ревизии замедляют редактор?

  • Откройте любую запись или страницу в редакторе WordPress.
  • Обратите внимание на задержку при вводе текста, переключении между блоками (в Gutenberg) или на кнопку "Обновить".
  • Проверьте нагрузку на базу данных: с помощью плагина Query Monitor или phpMyAdmin посмотрите количество записей в таблице wp_posts с типом revision.
  • Если ревизий очень много (сотни или тысячи на сайте), это может замедлять загрузку и сохранение контента.

Пошаговое решение: как отключить автосохранение и ограничить ревизии

1. Отключение автосохранения

Автосохранение отключается с помощью фильтра JavaScript в WordPress. Добавьте следующий код в файл functions.php вашей темы или в кастомный плагин:

function disable_autosave() {
    wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'disable_autosave');

Этот код полностью отключит механизм автосохранения, что уменьшит количество AJAX-запросов при редактировании.

2. Ограничение и отключение ревизий

Чтобы полностью отключить ревизии, добавьте в wp-config.php перед строкой /* That's all, stop editing! */ следующий код:

define('WP_POST_REVISIONS', false);

Если нужно не отключать, а ограничить количество ревизий (например, хранить не более 3), используйте:

define('WP_POST_REVISIONS', 3);

Проверка результата после внедрения

  • Откройте редактор записи, попробуйте ввести текст и убедитесь, что автосохранение не происходит (нет периодических запросов в Network в DevTools браузера с параметром action=autosave).
  • Создайте или обновите запись, затем проверьте таблицу wp_posts в базе данных — записи ревизий больше не создаются или их количество ограничено.
  • Оцените скорость загрузки страницы редактирования — она должна заметно улучшиться при большом объеме контента.

Частые ошибки и как их исправить

  • Ошибка: Автосохранение не отключилось.
    Причина: Код добавлен не в правильное место или конфликт с другим плагином.
    Решение: Проверьте, что код находится в functions.php активной темы или в отдельном плагине. Временно отключите другие плагины, чтобы проверить конфликт.
  • Ошибка: Ревизии продолжают создаваться после установки WP_POST_REVISIONS
    Причина: Кэширование или код в wp-config.php добавлен некорректно.
    Решение: Проверьте синтаксис и расположение кода, очистите кэш сервера и браузера.
  • Ошибка: Потеря данных из-за отключения автосохранения.
    Решение: Отключайте автосохранение только если уверены в стабильности сервера и надежных ручных сохранениях.

Практические советы по безопасности и производительности

  • Отключайте автосохранение только на сайтах с хорошим резервным копированием и стабильной работой сервера.
  • Ограничение ревизий помогает не только в скорости редактирования, но и уменьшает размер резервных копий и ускоряет бэкапы.
  • Если пользуетесь плагинами для оптимизации базы данных (например, Clearfy Pro), регулярно удаляйте старые ревизии и автосохранения.
  • Тестируйте изменения на тестовой среде перед применением на боевом сайте.

Сравнение вариантов отключения автосохранения и ревизий

МетодПлюсыМинусыКогда применять
Отключение автосохранения через wp_deregister_script('autosave')Уменьшает AJAX-запросы, ускоряет редакторРиск потери данных при сбое браузераСтабильный сервер, регулярные ручные сохранения
Отключение ревизий через define('WP_POST_REVISIONS', false)Минимизирует размер базы, ускоряет загрузкуНельзя откатить изменения через ревизииЕсли не нужна история изменений
Ограничение ревизий числом (define('WP_POST_REVISIONS', 3))Баланс между историей и производительностьюХранится ограниченное количество измененийСредние сайты с активной редакцией
Как отключить XML-RPC в WordPress без помощи плагинов
03.01.2026
WooCommerce: как автоматически удалять товары с истекшим сроком годности
05.07.2026
Как создать настройку переключатель темы в WordPress с применением хуков
16.12.2025
Как создать динамический файл robots.txt в WordPress
08.03.2026
Как добавить поддержку Gutenberg блоков в своем плагине WordPress
22.03.2026