Что такое автоматическое сохранение и зачем его отключать
Автоматическое сохранение (autosave) в WordPress — функция, которая регулярно сохраняет черновики постов, чтобы избежать потери данных. Однако в некоторых случаях она может вызывать конфликты с плагинами, создавать нагрузку на сервер или мешать работе с редакторами, например, при частых автосохранениях в WooCommerce или при работе с тяжелыми страницами.
Диагностика проблемы с автосохранением
Чтобы определить, что именно автосохранение вызывает проблему, нужно:
- Открыть консоль браузера (F12) и проверить наличие ошибок JavaScript во время автосохранения.
- Проверить нагрузку на сервер во время редактирования поста (через панель хостинга или инструменты мониторинга).
- Отключить все плагины и сменить тему на дефолтную для проверки, не конфликтует ли автосохранение с другими элементами.
- Обратить внимание на частоту автосохранений — по умолчанию WordPress сохраняет каждые 60 секунд.
Пошаговое отключение автосохранения через functions.php
Самый простой способ отключить автосохранение — добавить фильтр, который отменит скрипт autosave:
function disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'disable_autosave');Этот код нужно вставить в файл functions.php вашей активной темы или в дочернюю тему. После добавления автосохранение перестанет работать на всех постах и страницах.
Альтернативный способ — увеличить интервал автосохранения
Если полностью отключать не хочется, можно увеличить интервал автосохранения с 60 секунд до, например, 300 секунд (5 минут):
function increase_autosave_interval() {
return 300; // время в секундах
}
add_filter('autosave_interval', 'increase_autosave_interval');Проверка результата после внедрения
- Откройте любой пост или страницу в редакторе WordPress.
- Проверьте, что в консоли браузера не выполняется запрос autosave (запросы с параметром
action=autosaveв URL). - Наберите текст и подождите больше одной минуты — сохранения автоматического не должно быть.
- Если увеличивали интервал — проверьте, что автосохранение происходит реже.
Частые ошибки при отключении автосохранения и как их избежать
- Кеширование скриптов: После внесения изменений очистите кеш браузера и кеш сайта (если есть).
- Внесение кода в неподходящий файл: Не вставляйте код в файлы плагинов — при обновлении они удалятся. Используйте
functions.phpили собственный плагин. - Конфликт с плагинами безопасности или оптимизации: Некоторые плагины могут блокировать скрипты вручную — отключите их для теста.
- Отключение автосохранения на сайте с несколькими авторами: Учтите, что отключение повышает риск потери данных при одновременной работе над постом.
Практические советы по безопасности и производительности
- Резервное копирование: Если отключаете автосохранение, настройте регулярные бэкапы базы данных и файлов, чтобы предотвратить потерю контента.
- Оптимизация редактора: Вместо отключения автосохранения попробуйте увеличить интервал, чтобы снизить нагрузку.
- Использование сторонних плагинов с осторожностью: Иногда плагины для улучшения редактора могут конфликтовать с autosave. Тестируйте их по отдельности.
- Мониторинг нагрузки: Используйте Query Monitor или аналогичные инструменты для отслеживания нагрузки на сервер при работе с автосохранением.
Сравнение способов отключения автосохранения
| Метод | Плюсы | Минусы | Пример кода/плагин |
|---|---|---|---|
| Отключение через wp_deregister_script('autosave') | Простое и быстрое | Полностью отключает функцию, риск потери данных | |
| Увеличение интервала автосохранения | Снижает нагрузку, сохраняет функцию | Автосохранение происходит реже | |
| Использование плагина Disable Autosave | Простота использования | Дополнительный плагин, обновления | Плагин в репозитории WordPress |