Автосохранение — одна из полезных функций WordPress, которая помогает избежать потери данных при редактировании записи. Однако по умолчанию функция сохраняет контент слишком часто, что может привести к чрезмерному росту базы данных и снижению производительности сайта. В этой статье разберём, как правильно ограничить частоту автосохранения и количество ревизий в WordPress, чтобы сохранить баланс между удобством и эффективностью.
Почему важно ограничивать автосохранения и ревизии в WordPress
Каждый раз, когда WordPress выполняет автосохранение, создаётся новая ревизия записи. Если автосохранение срабатывает слишком часто, база данных быстро наполняется большим количеством ревизий, что замедляет работу сайта и усложняет резервное копирование. Особенно это заметно на крупных проектах с большим количеством контента и редакторов.
Ограничение частоты автосохранений и количества ревизий помогает:
- Снизить нагрузку на базу данных.
- Уменьшить размер бэкапов.
- Упростить управление контентом и ревизиями.
Далее рассмотрим, как это сделать программно.
Как изменить интервал автосохранения в WordPress
Интервал автосохранения по умолчанию равен 60 секундам. Его можно изменить с помощью фильтра wpautosave_interval. Для этого добавим функцию в файл functions.php вашей темы или в собственный плагин.
Пример кода для изменения интервала автосохранения
function wpin_set_autosave_interval() {
return 300; // Устанавливаем интервал на 5 минут (300 секунд)
}
add_filter('wpautosave_interval', 'wpin_set_autosave_interval');В этом примере интервал автосохранения увеличен до 5 минут, что значительно уменьшит количество ревизий, создаваемых автоматически.
Ограничение количества ревизий записей
Чтобы предотвратить накопление слишком большого числа ревизий, можно ограничить их количество с помощью константы WP_POST_REVISIONS. Это делается в файле wp-config.php.
Как задать лимит ревизий
// Вставьте в wp-config.php ниже строки "<?php"
define('WP_POST_REVISIONS', 5); // Хранить не более 5 ревизий для каждой записиПосле этого WordPress будет сохранять только последние 5 ревизий для каждой записи, удаляя более старые.
Удаление старых ревизий из базы данных
Если на вашем сайте уже накопилось много ревизий, стоит их очистить. Для этого можно использовать плагин Clearfy Pro, который позволяет быстро и безопасно удалить старые ревизии. Или выполнить SQL-запрос напрямую, если вы уверены в своих действиях.
Пример SQL-запроса для удаления ревизий
DELETE FROM wp_posts WHERE post_type = 'revision';Перед выполнением такого запроса обязательно сделайте резервную копию базы данных.
Как отключить автосохранение полностью (не рекомендуется)
Если по каким-то причинам нужно отключить автосохранение, можно сделать это с помощью фильтра autosave_disable. Но помните, что это увеличивает риск потерять данные при сбое браузера или случайном закрытии вкладки.
function wpin_disable_autosave() {
return true;
}
add_filter('autosave_disable', 'wpin_disable_autosave');Используйте этот код только в крайних случаях и после оценки рисков.
Автоматизация контроля ревизий с помощью плагина Clearfy Pro
Плагин Clearfy Pro позволяет управлять ревизиями, автосохранениями и другими оптимизациями без ручного кода. Среди возможностей:
- Установка лимитов на ревизии.
- Отключение автосохранения или изменение интервала.
- Удаление ненужных данных из базы.
Это удобный инструмент для владельцев сайтов, которые не хотят вникать в код.
Итоговые рекомендации по ограничению автосохранения и ревизий
Для большинства сайтов оптимальным будет увеличение интервала автосохранения до 3-5 минут и установка лимита ревизий в пределах 5-10 штук. Это позволит сохранить безопасность данных и не нагружать базу лишним мусором. В качестве дополнения можно использовать плагин Clearfy Pro для удобного управления и профилактической очистки базы данных.
Настройка автосохранений — важный элемент технической оптимизации WordPress, который поможет улучшить производительность и упростить администрирование сайта.