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

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

Что такое ревизии в WordPress и почему их нужно удалять

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

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

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

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

Как удалить ревизии с помощью SQL-запроса

Самый быстрый способ очистить базу данных от ревизий — выполнить простой SQL-запрос через phpMyAdmin или другой инструмент управления базами данных.

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

DELETE FROM wp_posts WHERE post_type = 'revision';

Этот запрос удалит все записи с типом revision. Чтобы выполнить его:

  1. Зайдите в phpMyAdmin вашего хостинга.
  2. Выберите базу данных вашего сайта.
  3. Перейдите на вкладку SQL.
  4. Вставьте запрос и нажмите "Выполнить".

Однако будьте осторожны: если у вас нестандартный префикс таблиц, замените wp_ на ваш собственный.

Удаление ревизий по ограничению даты

Если вы хотите удалить только старые ревизии, например, старше 30 дней, можно использовать такой запрос:

DELETE FROM wp_posts WHERE post_type = 'revision' AND post_date < NOW() - INTERVAL 30 DAY;

Это поможет сохранить свежие версии, но очистить базу от устаревших.

Функция WordPress для удаления ревизий

Если вы предпочитаете удалять ревизии программно через тему или плагин, можно создать кастомную функцию с использованием WPDB:

function wpset_delete_post_revisions() {
    global $wpdb;
    $deleted = $wpdb->query("DELETE FROM {$wpdb->posts} WHERE post_type = 'revision'");
    return $deleted;
}

Эту функцию можно вызвать, например, в админке или через WP-CLI. Для безопасности рекомендуется запускать её вручную, а не автоматически.

Пример добавления кнопки для удаления ревизий в админ-меню

Можно добавить простую страницу с кнопкой для очистки ревизий:

add_action('admin_menu', 'wpset_revision_cleanup_menu');
function wpset_revision_cleanup_menu() {
    add_submenu_page('tools.php', 'Удалить ревизии', 'Удалить ревизии', 'manage_options', 'wpset-revision-cleanup', 'wpset_revision_cleanup_page');
}

function wpset_revision_cleanup_page() {
    if (isset($_POST['wpset_cleanup_revisions'])) {
        $count = wpset_delete_post_revisions();
        echo '<div class="updated notice">Удалено ревизий: ' . intval($count) . '</div>';
    }
    echo '<h1>Удаление ревизий записей</h1>';
    echo '<form method="post"><input type="submit" name="wpset_cleanup_revisions" class="button button-primary" value="Удалить все ревизии" /></form>';
}

Такой подход безопасен и удобен для администраторов сайта.

Настройка ограничения количества ревизий в WordPress

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

define('WP_POST_REVISIONS', 5);

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

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

Полезные плагины для работы с ревизиями

Если всё же хочется использовать готовое решение, стоит обратить внимание на плагины:

  • WP Optimize — позволяет чистить базу от ревизий, спама и мусорных записей с удобным интерфейсом.
  • Clearfy Pro (https://wpshop.ru/clearfy-pro/?utm_source=wpset.ru&utm_medium=article&utm_campaign=kak-udalit-revizii-zapisej-v-wordpress-bez-plaginov) — содержит функции оптимизации, включая управление ревизиями и отключение ненужных опций.

Эти инструменты удобны для регулярной оптимизации без опасности ошибиться с запросами.

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

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

Также не запускайте SQL-запросы или код на живом сайте без тестирования на локальной копии.

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

Автоматическое удаление неактуальных товаров в WooCommerce
21.04.2026
WooCommerce: автоматическое отключение неактивных вариаций товаров
05.05.2026
Как удалить все неактивные пользователи в WordPress с помощью кода
10.01.2026
Как удалить неиспользуемые виджеты в WordPress с помощью кода
14.04.2026
Как создать автоматический импорт данных из Google Sheets в WordPress
09.02.2026