wpwebsite.ru wordpress WPWebSite

Как отключить автосохранение в WordPress

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

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

Стандартно WordPress сохраняет черновики записи каждые 60 секунд. Это приводит к тому, что в базе данных скапливается большое количество ревизий — копий записей, которые сохраняются автоматически. Если у вас много записей и активные редакторы, это может:

  • Увеличить размер базы данных;
  • Замедлить работу админ-панели;
  • Создать сложности при резервном копировании;
  • Увеличить нагрузку на сервер.

Поэтому отключение автосохранения или ограничение количества ревизий — практическое решение для сайтов с высокой нагрузкой или специализированных случаев, когда автосохранение мешает.

Как отключить автосохранение в WordPress с помощью кода

Самый простой способ — добавить специальный фильтр в файл functions.php вашей темы или в собственный плагин. Вот пример функции, которая отключит автосохранение:

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

Эта функция отменяет регистрацию скрипта автосохранения, и WordPress перестаёт автоматически сохранять черновики. Обратите внимание, что это отключит только автосохранение, но не ревизии.

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

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

define('WP_POST_REVISIONS', 3); // Максимум 3 ревизии

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

Использование плагинов для управления автосохранением и ревизиями

Если вы не хотите править код, можно воспользоваться плагинами:

  • Clearfy — мощный плагин для оптимизации WordPress, который позволяет отключать автосохранение и контролировать ревизии в несколько кликов.
  • WP Rocket — хотя основной функционал — кэширование, в настройках можно ограничить ревизии и улучшить производительность.
  • Revision Control — плагин специально для управления ревизиями, с гибкими настройками.

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

Как удалить старые ревизии из базы данных

Отключение автосохранения и ограничение ревизий — это профилактика. Чтобы оптимизировать базу данных сейчас, удалите старые ревизии. Для этого можно использовать SQL-запрос в phpMyAdmin или плагин:

DELETE FROM wp_posts WHERE post_type = 'revision';

Или установите плагин WP-Optimize, который позволяет безопасно очистить ревизии и оптимизировать таблицы базы данных в один клик.

Дополнительные советы по оптимизации работы с автосохранением

Если полностью отключать автосохранение не хочется, можно изменить интервал автосохранения. Для этого добавьте в wp-config.php:

define('AUTOSAVE_INTERVAL', 300); // 300 секунд = 5 минут

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

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

Пример функции для вывода количества ревизий записи

Полезно знать, сколько ревизий накопилось у каждой записи. Можно добавить в functions.php такую функцию и использовать её в админке или в шаблоне:

function wpwebsite_count_post_revisions($post_id) {
    $revisions = wp_get_post_revisions($post_id);
    return count($revisions);
}

Пример использования:

$count = wpwebsite_count_post_revisions(123);
echo 'Количество ревизий: ' . $count;

Это поможет отслеживать нагрузку и принимать решения по оптимизации.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше