Как автоматизировать управление ревизиями в WordPress для бизнес-сайтов

|

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

Что такое ревизии в WordPress и зачем их автоматизировать

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

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

Ограничение и удаление ревизий через код

Ограничение числа ревизий на запись

Чтобы задать лимит ревизий, можно использовать константу WPBIZ_LIMIT_REVISIONS в файле wp-config.php или добавить фильтр в functions.php.

// Ограничение ревизий до 5
add_filter('wpbizz_limit_revisions', function() {
    return 5;
});

// Или проще через define
define('WP_POST_REVISIONS', 5);

Этот код заставит WordPress сохранять не более 5 ревизий для каждой записи.

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

Удалять ревизии можно с помощью WP-CLI, но для автоматизации стоит создать функцию, которая будет запускаться по расписанию (CRON):

function wpbiz_delete_old_revisions() {
    global $wpdb;
    $limit = 5; // Оставляем 5 последних ревизий

    // Получаем ID постов с ревизиями
    $posts = $wpdb->get_col("SELECT DISTINCT post_parent FROM $wpdb->posts WHERE post_type = 'revision'");

    foreach ($posts as $post_id) {
        // Получаем ID ревизий для поста, кроме последних $limit
        $revisions = $wpdb->get_col($wpdb->prepare(
            "SELECT ID FROM $wpdb->posts WHERE post_type = 'revision' AND post_parent = %d ORDER BY post_date DESC LIMIT 999999 OFFSET %d",
            $post_id,
            $limit
        ));

        if (!empty($revisions)) {
            // Удаляем старые ревизии
            foreach ($revisions as $rev_id) {
                wp_delete_post($rev_id, true);
            }
        }
    }
}

add_action('wpbiz_cron_delete_revisions', 'wpbiz_delete_old_revisions');

// Регистрируем ежедневное событие при активации темы или плагина
if (!wp_next_scheduled('wpbiz_cron_delete_revisions')) {
    wp_schedule_event(time(), 'daily', 'wpbiz_cron_delete_revisions');
}

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

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

Если писать код неудобно, можно воспользоваться специализированными плагинами. Вот несколько популярных решений:

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

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

Вот несколько советов, которые помогут грамотно управлять ревизиями:

  1. Ограничивайте количество ревизий. 3-5 ревизий достаточно для большинства задач.
  2. Периодически удаляйте старые ревизии. Используйте CRON задачи или плагины.
  3. Оптимизируйте базу данных. После удаления ревизий запускайте оптимизацию таблиц через phpMyAdmin или плагин.
  4. Отслеживайте влияние на производительность. Если сайт замедляется, проверьте количество ревизий и размер базы.
  5. Резервное копирование. Всегда делайте бэкапы перед массовым удалением.

Как интегрировать автоматизацию ревизий с WPRemark для управления контентом

Если на вашем бизнес-сайте установлен плагин WPRemark для обработки форм и отзывов, можно добавить автоматическую очистку ревизий при определённых событиях, например, после обновления контента:

add_action('wpbizz_after_content_update', 'wpbiz_delete_old_revisions');

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

Подведение итогов по автоматизации управления ревизиями

Автоматизация управления ревизиями в WordPress — важный шаг для поддержания производительности и стабильности бизнес-сайта. С помощью простых настроек, кода и плагинов вы сможете:

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

Как автоматизировать обновление цен в WooCommerce по расписанию
26.04.2026
Как автоматизировать удаление старых черновиков в WordPress: практическое руководство с примерами кода
19.03.2026
Автоматическое изменение стоимости товаров в WooCommerce по условиям
10.06.2026
Как автоматизировать создание отчёта о продавцах в WordPress с примерами кода
30.12.2025
Как использовать статусы заказов WooCommerce для автоматизации процессов
04.05.2026
×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙