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

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

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

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

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

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

Для оценки, сколько ревизий накоплено, можно использовать SQL-запрос через phpMyAdmin или другой инструмент управления базой данных:

SELECT post_type, COUNT(*) as revision_count FROM wp_posts WHERE post_type = 'revision' GROUP BY post_type;

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

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

Самый быстрый способ удалить все ревизии — выполнить SQL-запрос, удаляющий записи с типом revision:

DELETE FROM wp_posts WHERE post_type = 'revision';

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

OPTIMIZE TABLE wp_posts;

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

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

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

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

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

Ограничение количества ревизий в WordPress через functions.php

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

function wpblog_set_revision_limit() {
    define('WP_POST_REVISIONS', 3);
}
add_action('init', 'wpblog_set_revision_limit');

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

Если хотите полностью отключить ревизии (не рекомендуется), установите значение в false:

define('WP_POST_REVISIONS', false);

Удаление ревизий с помощью пользовательской функции и WP-CLI

Для разработчиков удобно использовать WP-CLI — командную строку для управления WordPress. Например, команда для удаления ревизий:

wp post delete $(wp post list --post_type='revision' --format=ids)

Также можно создать кастомную функцию PHP для удаления ревизий по определённым условиям. Например, удалять ревизии старше 30 дней:

function wpblog_delete_old_revisions() {
    global $wpdb;
    $days = 30;
    $query = $wpdb->prepare(
        "DELETE FROM $wpdb->posts WHERE post_type = 'revision' AND post_modified < NOW() - INTERVAL %d DAY",
        $days
    );
    $wpdb->query($query);
}
add_action('wp_scheduled_delete', 'wpblog_delete_old_revisions');

Эту функцию можно запускать по крону, чтобы регулярно очищать старые ревизии.

Советы по работе с ревизиями и базой данных

Для поддержания базы данных в хорошем состоянии рекомендуем:

  • Регулярно удалять старые ревизии с помощью плагинов или SQL-запросов.
  • Ограничивать количество ревизий, чтобы не нагружать базу.
  • Оптимизировать таблицы базы данных через phpMyAdmin или WP-Optimize.
  • Использовать WP-CLI для быстрой и безопасной очистки.
  • Планировать автоматическую очистку с помощью WP Cron или системного cron.

Применение этих методов поможет сохранить скорость и стабильность вашего WordPress-сайта, особенно если у вас много контента и активная редактура.

Заключение

Удаление старых ревизий — важная задача для оптимизации WordPress. Используйте SQL-запросы, плагины или собственные функции для контроля и очистки. Не забывайте ограничивать количество ревизий, чтобы база данных не разрасталась без необходимости. Если хотите удобное решение для регулярной оптимизации, обратите внимание на плагин WP-Optimize с поддержкой комплексной очистки и оптимизации.

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

⭐⭐⭐⭐⭐
Как сделать уникальный meta-заголовок для каждого поста в WordPress
06.04.2026
WooCommerce: как реализовать авторизацию через SMS OTP для повышения безопасности
28.04.2026
Как сделать автоматический импорт постов в WordPress из внешнего источника
17.01.2026
Как создать свой шорткод в WordPress: подробное руководство
04.11.2025
WooCommerce: как настроить автоматическое удаление неактивных заказов
27.05.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше