Автоматическое удаление старых черновиков и ревизий в WordPress

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

Почему важно удалять старые ревизии и черновики в WordPress

WordPress по умолчанию хранит множество ревизий каждой записи и сохраняет черновики, которые вы создаёте в процессе редактирования. Это удобно для восстановления предыдущих версий, но при большом количестве контента база данных разрастается, что сказывается на производительности.

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

Удаление старых ревизий и неиспользуемых черновиков помогает:

  • Уменьшить размер базы данных
  • Ускорить работу сайта
  • Снизить нагрузку на сервер при резервном копировании
  • Облегчить администрирование и поддержку сайта

Как удалить ревизии и черновики вручную через phpMyAdmin

Если у вас есть доступ к базе данных через phpMyAdmin или другой клиент, можно быстро очистить ревизии и черновики с помощью SQL-запросов.

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

DELETE FROM wp_posts WHERE post_type = 'revision';

Для удаления всех черновиков (posts с типом 'post' и статусом 'draft') выполните:

DELETE FROM wp_posts WHERE post_status = 'draft';

Важно: перед выполнением запросов сделайте резервную копию базы данных! Такие операции необратимы.

Однако такой подход не автоматический и не учитывает необходимость сохранять последние версии записей — это просто полное удаление.

Автоматизация удаления старых черновиков и ревизий с помощью кода WordPress

Для более тонкой настройки и автоматизации удаления можно использовать кастомные функции в файле functions.php вашей темы или создать небольшой плагин. Мы рассмотрим пример функции, которая удаляет ревизии старше 30 дней и черновики старше 7 дней.

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

function wpweb_delete_old_revisions_and_drafts() {
    global $wpdb;
    // Удаляем ревизии старше 30 дней
    $wpdb->query(
        $wpdb->prepare(
            "DELETE FROM {$wpdb->posts} WHERE post_type = 'revision' AND post_date < %s",
            date('Y-m-d H:i:s', strtotime('-30 days'))
        )
    );

    // Удаляем черновики старше 7 дней
    $wpdb->query(
        $wpdb->prepare(
            "DELETE FROM {$wpdb->posts} WHERE post_status = 'draft' AND post_date < %s",
            date('Y-m-d H:i:s', strtotime('-7 days'))
        )
    );
}

// Запускаем функцию раз в сутки с помощью WP Cron
if ( ! wp_next_scheduled( 'wpweb_daily_cleanup' ) ) {
    wp_schedule_event( time(), 'daily', 'wpweb_daily_cleanup' );
}
add_action( 'wpweb_daily_cleanup', 'wpweb_delete_old_revisions_and_drafts' );

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

Обратите внимание, что для корректной работы WP Cron сайт должен регулярно посещаться пользователями. Если сайт малопосещаемый — рекомендуется настроить системный cron на сервере для запуска wp-cron.php.

Использование готовых плагинов для удаления ревизий и черновиков

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

1. WP-Optimize

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

2. Advanced Database Cleaner

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

3. WP-Sweep

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

Как настроить и использовать WP-Optimize для удаления ревизий и черновиков

После установки и активации WP-Optimize:

  1. Перейдите в административной панели в раздел «WP-Optimize» → «Database».
  2. Отметьте опции «Удалить все ревизии записей» и «Удалить все черновики». Также можно выбрать другие опции для оптимизации.
  3. Нажмите кнопку «Run all selected optimizations» для запуска очистки базы сразу.
  4. Для автоматизации перейдите в раздел «Settings» и включите автоматическую оптимизацию базы с нужной периодичностью (например, раз в неделю).

WP-Optimize — мощный инструмент, который поможет поддерживать базу данных в чистоте без необходимости писать код.

Заключение

Регулярное удаление старых ревизий и черновиков — важный этап оптимизации WordPress сайта. Это помогает держать базу данных компактной и ускорять работу сайта. Вы можете использовать простой SQL запрос для разовой очистки, написать собственный код для автоматизации или воспользоваться готовыми плагинами, такими как WP-Optimize, Advanced Database Cleaner или WP-Sweep.

Если вы хотите гибко контролировать этот процесс и точно знать, что удаляется, лучше использовать собственные функции и планировщик WP Cron. Для быстрого и удобного решения — подойдут плагины с автоматической очисткой.

Используйте эти рекомендации, чтобы ваш WordPress-сайт оставался быстрым и отзывчивым даже при большом объёме контента и активном редактировании.

Удаление неиспользуемых шорткодов в WordPress
22.11.2025
Как удалить неиспользуемые виджеты в WordPress для оптимизации сайта
11.02.2026
Как отключить автоматическое отправление писем WooCommerce при создании заказа
24.05.2026
Как автоматически удалять неактивных пользователей в WordPress
16.03.2026
Как удалить отзывы в WordPress по определённым критериям
15.12.2025