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

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

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

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

Из-за большого числа ревизий:

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

Поэтому регулярно удалять старые ревизии и ограничивать их количество — хорошая практика для оптимизации WordPress.

Как удалить все ревизии записей через phpMyAdmin

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

DELETE FROM wp_posts WHERE post_type = 'revision';

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

Также рекомендуется после удаления выполнить оптимизацию таблиц, чтобы уменьшить физический размер базы данных. В phpMyAdmin выберите таблицу wp_posts и нажмите «Оптимизировать».

Удаление ревизий с помощью плагинов

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

  • WP-Sweep — позволяет удалить ревизии, автосохранения и прочие ненужные данные. Интерфейс прост и понятен.
  • Advanced Database Cleaner — более функциональный плагин для очистки базы данных, включая ревизии, мусорные комментарии и многое другое.

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

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

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

define('WP_POST_REVISIONS', 5);

Здесь цифра 5 означает, что WordPress будет хранить не более 5 ревизий для каждой записи. Вы можете указать любое число, либо совсем отключить ревизии, задав значение false:

define('WP_POST_REVISIONS', false);

Однако отключать ревизии полностью не рекомендуется, так как это уменьшит возможности восстановления контента.

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

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

function wpmentor_delete_post_revisions() {
    global $wpdb;
    $revisions = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'revision'");
    foreach ( $revisions as $revision_id ) {
        wp_delete_post( $revision_id, true );
    }
}

// Вызов функции, например, при активации плагина
// register_activation_hook(__FILE__, 'wpmentor_delete_post_revisions');

Этот код получает список всех ревизий и удаляет их программно через функцию wp_delete_post. Аргумент true означает принудительное удаление без перемещения в корзину.

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

Для оценки, сколько ревизий накопилось, можно выполнить в phpMyAdmin запрос подсчёта:

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

Если число очень большое — стоит провести очистку и настроить ограничение ревизий.

Выводы и рекомендации по управлению ревизиями

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

Так вы сможете снизить нагрузку на сервер, ускорить работу сайта и сделать админку более отзывчивой.

Как создать группы пользователей в WordPress для ограничения доступа к контенту
20.03.2026
Как добавить поле Google reCAPTCHA в форму регистрации WordPress
12.03.2026
WooCommerce: решение проблемы не обновляющегося SKU вариаций товаров
07.05.2026
Как автоматизировать удаление старых записей через WP-Cron в WordPress
31.01.2026
Как установить ограничения на регистрацию в WordPress по домену и email
10.02.2026