Как удалить автосохранения (autosaves) в WordPress: практическое руководство

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

Что такое автосохранения (autosaves) в WordPress и зачем их удалять

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

Преимущество автосохранений очевидно: они позволяют восстановить текст при сбое браузера или отключении электричества. Однако по мере накопления эти записи занимают место в базе данных, замедляют операции SELECT и увеличивают время отклика сервера.

Особенно это заметно на сайтах с большим объёмом контента и активными редакторами, где ежедневно создаётся множество автосохранений. Удаление избыточных автосохранений помогает снизить нагрузку на базу и ускорить работу административной панели.

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

Для начала полезно оценить, сколько автосохранений накопилось. Это можно сделать через phpMyAdmin или используя плагин для управления базой.

SQL-запрос для подсчёта автосохранений:

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE 'autosave%';

Если количество очень большое (сотни или тысячи), стоит подумать о чистке.

Удаление автосохранений через SQL-запрос

Самый прямой способ — вручную удалить записи из базы данных. Внимание: перед любыми изменениями обязательно создайте резервную копию базы!

Пример запроса для удаления всех автосохранений:

DELETE FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE 'autosave%';

Этот запрос удалит все автосохранения. Если хотите удалить автосохранения только для конкретного поста, добавьте условие AND post_parent = ID_поста.

После удаления рекомендуется оптимизировать таблицу командой:

OPTIMIZE TABLE wp_posts;

Удаление автосохранений через WP-CLI

Если у вас есть доступ к командной строке и установлен WP-CLI, можно удалить ревизии (включая автосохранения) более удобно:

wp post delete $(wp post list --post_type='revision' --format=ids)

Однако этот способ удалит все ревизии, не только автосохранения. Чтобы удалить только автосохранения, придётся фильтровать их по имени, что сложнее сделать в WP-CLI без дополнительных скриптов.

Удаление автосохранений через плагин Clearfy Pro

Если вы используете плагин Clearfy Pro, в нём есть удобная функция оптимизации базы с удалением ревизий и автосохранений. Это позволяет сделать чистку безопасно и без прямого доступа к базе.

В Clearfy Pro можно настроить автоматическую очистку устаревших автосохранений через Cron, что удобно на крупных проектах.

Ограничение количества автосохранений — настройка в wp-config.php

Чтобы предотвратить чрезмерное накопление автосохранений в будущем, можно ограничить их число или отключить автосохранения вовсе (не рекомендуется):

define('AUTOSAVE_INTERVAL', 300); // Интервал автосохранения в секундах (по умолчанию 60)
define('WP_POST_REVISIONS', 3); // Максимальное количество ревизий для одной записи

Эти константы прописываются в файле wp-config.php. Увеличение интервала снижает частоту создания автосохранений, а ограничение ревизий уменьшает объём базы.

Пример функции для удаления автосохранений через код в functions.php

Можно автоматизировать удаление автосохранений с помощью кастомной функции, например, при заходе в админку:

function wptemy_remove_autosaves() {
    global $wpdb;
    $deleted = $wpdb->query(
        "DELETE FROM {$wpdb->posts} WHERE post_type = 'revision' AND post_name LIKE 'autosave%'");
    if ($deleted !== false) {
        // Оптимизация таблицы после удаления
        $wpdb->query("OPTIMIZE TABLE {$wpdb->posts}");
    }
}
add_action('admin_init', 'wptemy_remove_autosaves');

Эта функция удалит все автосохранения при заходе в админку. Можно доработать её, чтобы удалять только старые автосохранения или запускать по Cron.

Рекомендации по работе с ревизиями и автосохранениями

1. Делайте регулярный бэкап базы перед удалением или изменением настроек.
2. Используйте плагины для оптимизации базы, такие как Clearfy Pro, WP-Optimize или WP Rocket.
3. Не отключайте полностью автосохранения — это может привести к потере данных при ошибках.
4. Настройте лимиты на количество ревизий и увеличьте интервал автосохранения, чтобы снизить нагрузку.
5. Периодически проверяйте базу на наличие избыточных данных.

Заключение

Удаление автосохранений — важный этап оптимизации любого сайта на WordPress, особенно если вы активно пишете и редактируете контент. Используйте ручные методы, WP-CLI или специализированные плагины для безопасной и простой очистки базы. Кроме того, не забывайте о настройках wp-config.php, чтобы контролировать процесс автосохранений и предотвратить будущие проблемы.

Как использовать хук pre_get_posts для фильтрации товаров в WooCommerce
21.01.2026
Как отключить AJAX в WooCommerce без плагинов
08.01.2026
Как использовать хук pre_get_posts для фильтрации постов в WordPress
29.12.2025
Как использовать хуки WordPress для решения конфликтов плагинов
08.12.2025
Как сохранить форматирование в текстовом редакторе WordPress
29.01.2026