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

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

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

При активном ведении блога или журнала количество ревизий может достигать сотен тысяч. Каждая ревизия – это дополнительная строка в таблице wp_posts с типом revision. Это приводит к следующим проблемам:

  • Увеличение размера базы данных, что замедляет резервное копирование и восстановление;
  • Замедление работы запросов к базе данных;
  • Повышенная нагрузка на сервер и рост времени отклика сайта;
  • Трудности с управлением и миграцией данных.

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

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

Существует несколько плагинов, которые упрощают удаление ревизий и управление их количеством. Рассмотрим два популярных варианта.

Плагин WP-Optimize

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

Чтобы удалить ревизии с помощью WP-Optimize:

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

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

Плагин Clearfy Pro

Clearfy Pro — многофункциональный плагин для оптимизации и ускорения WordPress. В его функционал входит управление ревизиями.

Через Clearfy Pro можно ограничить количество ревизий, которые сохраняет WordPress, а также удалить уже накопившиеся старые версии.

Настройка выполняется в разделе Clearfy → Оптимизация базы данных → Управление ревизиями.

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

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

DELETE FROM wp_posts WHERE post_type = 'revision';

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

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

OPTIMIZE TABLE wp_posts;

Ограничение количества ревизий программно

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

define('JOURNALX_limit_post_revisions', 5); // Сохранять не более 5 ревизий

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

Если хотите полностью отключить ревизии, используйте значение false:

define('JOURNALX_limit_post_revisions', false);

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

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

Можно создать собственный скрипт для удаления ревизий по расписанию с помощью WP-Cron. Ниже пример функции, которую можно добавить в файл functions.php вашей темы или в отдельный плагин:

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

// Планируем задачу при инициализации
if (!wp_next_scheduled('journalx_cron_delete_revisions')) {
    wp_schedule_event(time(), 'daily', 'journalx_cron_delete_revisions');
}

// Хук для выполнения функции
add_action('journalx_cron_delete_revisions', 'journalx_delete_old_revisions');

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

Советы по оптимизации базы данных и производительности

Удаление ревизий — лишь часть работы по оптимизации. Вот несколько рекомендаций:

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

В комплексе эти меры значительно ускорят работу сайта и улучшат пользовательский опыт.

Дополнительные инструменты и плагины для журнала на WordPress

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

  • Expert Review — для сбора отзывов и рецензий на статьи.
  • ABC Pagination — улучшенная пагинация для удобства навигации.
  • Тема JournalX — адаптированная под журнальные сайты с продвинутыми возможностями.

Используйте эти решения в связке с оптимизацией ревизий для лучшего результата.

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

⭐⭐⭐⭐⭐
WooCommerce: удалить товар из корзины без перезагрузки страницы с экраном подтверждения
25.05.2026
Как удалить товар из корзины WooCommerce без перезагрузки страницы
27.04.2026
Как создать пресс-релиз в WordPress с автоматизацией отправки
05.02.2026
Как убрать заголовок H1 из страницы WordPress: пошаговое руководство
09.11.2025
Как оптимизировать загрузку изображений в WordPress: практические советы и примеры кода
26.11.2025
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙