Как автоматически удалить старые ревизии записей в WordPress

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

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

По умолчанию WordPress сохраняет неограниченное количество ревизий для каждой записи, что на крупных сайтах приводит к накоплению десятков тысяч записей в таблице wp_posts с типом revision. Это замедляет запросы к базе данных и увеличивает время бэкапов.

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

  • Оптимизировать размер базы данных;
  • Ускорить работу сайта;
  • Упростить резервное копирование и восстановление;
  • Избавиться от ненужных данных.

Автоматическое удаление ревизий с помощью плагина Clearfy Pro

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

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

Реализация автоматического удаления ревизий через WP-Cron и кастомный плагин

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

Создание функции удаления ревизий

Ниже приведен пример функции, которая удаляет все ревизии старше 30 дней:

function wpbook_delete_old_revisions() {
    global $wpdb;
    $days = 30; // Удалять ревизии старше 30 дней
    $date = date('Y-m-d H:i:s', strtotime('-' . $days . ' days'));
    
    $revisions = $wpdb->get_col($wpdb->prepare(
        "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'revision' AND post_modified < %s",
        $date
    ));
    
    if (!empty($revisions)) {
        foreach ($revisions as $revision_id) {
            wp_delete_post($revision_id, true); // Полное удаление
        }
    }
}

Регистрация WP-Cron задачи

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

function wpbook_schedule_revision_cleanup() {
    if (!wp_next_scheduled('wpbook_daily_revision_cleanup')) {
        wp_schedule_event(time(), 'daily', 'wpbook_daily_revision_cleanup');
    }
}
add_action('wp', 'wpbook_schedule_revision_cleanup');

add_action('wpbook_daily_revision_cleanup', 'wpbook_delete_old_revisions');

Удаление задачи при деактивации плагина

Чтобы не оставлять мусор, при деактивации плагина следует очистить расписание:

function wpbook_deactivate_cleanup() {
    $timestamp = wp_next_scheduled('wpbook_daily_revision_cleanup');
    if ($timestamp) {
        wp_unschedule_event($timestamp, 'wpbook_daily_revision_cleanup');
    }
}
register_deactivation_hook(__FILE__, 'wpbook_deactivate_cleanup');

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

Чтобы предотвратить накопление большого количества ревизий, можно ограничить их число в файле wp-config.php. Добавьте туда строку:

define('WP_POST_REVISIONS', 5);

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

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

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

Еще один популярный инструмент — WP-Optimize. Он позволяет:

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

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

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

Для эффективного управления ревизиями советуем:

  • Ограничить количество ревизий через wp-config.php;
  • Регулярно очищать старые ревизии с помощью автоматических задач или плагинов;
  • Использовать надежные решения, например Clearfy Pro для комплексной оптимизации;
  • Проверять размер базы данных и при необходимости проводить ручную оптимизацию.

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как использовать pre_get_posts для исключения категории из главной ленты WordPress
22.04.2026
Как автоматически удалять неактивных пользователей WordPress
16.04.2026
Как удалить неиспользуемые изображения в WordPress и освободить место
23.12.2025
Как создать автоматический импорт данных из Google Sheets в WordPress
19.03.2026
Как успешно использовать REST API WordPress для автоматизации задач
24.02.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее