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

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

Почему важно удалять старые версии постов в WordPress

Каждый раз при сохранении поста WordPress создаёт новую ревизию. Если вы часто редактируете записи, количество ревизий может достигать сотен и тысяч. Это приводит к:

  • Увеличению размера базы данных, что замедляет запросы и загрузку сайта.
  • Росту времени бэкапа и сложности восстановления данных.
  • Засорению административной панели лишней информацией.

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

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

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

define('WP_POST_REVISIONS', 5);

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

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

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

Плагин WP-Optimize

Один из самых популярных плагинов для оптимизации базы данных — WP-Optimize. Он позволяет быстро очистить ревизии, спам-комментарии и другие ненужные данные.

Как использовать:

  1. Установите и активируйте плагин через админку WordPress.
  2. Перейдите в меню WP-Optimize > Database.
  3. Отметьте пункт "Очистить все ревизии постов".
  4. Нажмите "Запустить оптимизацию".

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

Плагин Clearfy Pro

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

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

Удаление ревизий через SQL-запросы — быстрый способ

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

DELETE FROM wp_posts WHERE post_type = 'revision';

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

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

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

Этот запрос удалит ревизии старше 30 дней.

Автоматизация удаления ревизий с помощью пользовательской функции

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

function wptalk_delete_old_revisions() {
    global $wpdb;
    $days = 30; // Удалять ревизии старше 30 дней
    $result = $wpdb->query(
        $wpdb->prepare(
            "DELETE FROM {$wpdb->posts} WHERE post_type = 'revision' AND post_date < DATE_SUB(NOW(), INTERVAL %d DAY)",
            $days
        )
    );
    return $result;
}

// Запускаем очистку раз в неделю
if (!wp_next_scheduled('wptalk_weekly_revision_cleanup')) {
    wp_schedule_event(time(), 'weekly', 'wptalk_weekly_revision_cleanup');
}
add_action('wptalk_weekly_revision_cleanup', 'wptalk_delete_old_revisions');

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

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

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

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

Выводы

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

Если вы хотите, чтобы ваш сайт работал быстро и стабильно, не забывайте про оптимизацию базы данных и ревизий в частности.

Как автоматически удалять старые черновики в WordPress
10.02.2026
Как добавить автоматическую настройку изображений в WordPress для ускорения сайта
06.03.2026
Как избежать конфликтов между WooCommerce и другими плагинами WordPress
23.04.2026
Как добавить динамические таблицы в WordPress с помощью шорткодов
16.01.2026
Как защитить WordPress от bruteforce атак
13.03.2026