Как отключить автосохранение в WordPress без потери данных

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

Автосохранение (autosave) в WordPress – полезная функция, которая сохраняет изменения записи каждые 60 секунд. Но в некоторых случаях, особенно при работе с крупными страницами или сложными конструкторами, автосохранение вызывает проблемы: замедление интерфейса, конфликты с плагинами, чрезмерное увеличение базы данных из-за множества ревизий.

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

Диагностика проблем с автосохранением

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

  • Замедление редактора: откройте консоль браузера (F12) на странице редактирования записи и посмотрите, нет ли ошибок от autosave.js.
  • Чрезмерный рост таблицы wp_posts с типом revision: используйте phpMyAdmin или WP-CLI (wp post list --post_type=revision --format=ids | wc -w) для подсчёта ревизий.
  • Проблемы с кэшированием или конфликт плагинов: временно отключите плагины и проверьте, исчезает ли проблема.

Пошаговое отключение автосохранения без потери данных

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

Надёжный способ — использовать фильтр WordPress autosave_disable. Добавьте в файл functions.php вашей темы или в кастомный плагин следующий код:

add_filter('autosave_disable', '__return_true');

Этот фильтр полностью отключит автосохранение.

2. Контроль ревизий для уменьшения нагрузки

Чтобы предотвратить накопление ревизий и снизить нагрузку на базу, можно ограничить их количество. Добавьте в wp-config.php:

define('WP_POST_REVISIONS', 3); // сохранять не более 3 ревизий

3. Настройка интервала автосохранения (альтернатива)

Если полностью отключать не хочется, можно увеличить интервал автосохранения. Например, в functions.php:

function custom_autosave_interval() {
    return 300; // 5 минут вместо 60 секунд
}
add_filter('autosave_interval', 'custom_autosave_interval');

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

  • Откройте страницу редактирования записи, откройте консоль браузера и убедитесь, что запросы на admin-ajax.php?action=autosave не отправляются (при полном отключении).
  • Проверьте таблицу wp_posts, количество ревизий не увеличивается после сохранений.
  • В интерфейсе редактора не появляется сообщения об автосохранении.

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

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

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

  • Отключение автосохранения увеличивает риск потери данных при сбое браузера или отключении питания. Для защиты используйте надёжные плагины резервного копирования, например WPRemark, с автоматическим созданием бэкапов.
  • Ограничение количества ревизий помогает уменьшить размер базы данных и ускорить резервное копирование.
  • Для сложных проектов рассмотрите оптимизацию редактора — например, использование Gutenberg с минимальным количеством блоков и отключение ненужных скриптов.

Сравнительная таблица способов отключения автосохранения

МетодПлюсыМинусыПример кода
Фильтр autosave_disableПростое и надёжное отключениеПолностью отключает, риск потери данных
add_filter('autosave_disable', '__return_true');
Увеличение интервала автосохраненияСнижает нагрузку, сохраняет функционалМожет не решить все проблемы с производительностью
add_filter('autosave_interval', fn() => 300);
Ограничение ревизийУменьшает размер базы, совместимо с автосохранениемНе отключает сам autosave
define('WP_POST_REVISIONS', 3);
Как создать собственный REST API в WordPress
16.11.2025
Как отключить автосохранение в WordPress без потери данных
24.07.2026
Как создать автоматические записи в WordPress с помощью Cron
25.12.2025
Как создать автоматическое сообщение о новом отеле в WordPress на базе пользовательского типа записи
24.07.2026
Как отключить и заблокировать XML-RPC в WordPress для защиты сайта
01.04.2026