Как очистить базу данных WordPress от мусора и удалённых остатков

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

Почему важно очищать базу данных WordPress от мусора

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

  • Ревизии записей — WordPress сохраняет каждое изменение записи, что увеличивает таблицу wp_posts.
  • Автосохранения — временные версии записей для предотвращения потери данных.
  • Спам и удалённые комментарии — занимают место в таблице wp_comments.
  • Транзиенты — временные данные кеша, которые иногда не удаляются автоматически.
  • Остатки удалённых плагинов — часто плагины оставляют свои таблицы и опции, что засоряет базу.

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

Использование плагинов для очистки базы данных

Плагин WP-Optimize

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

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

  1. Установите и активируйте WP-Optimize.
  2. Перейдите в раздел WP-Optimize → Database.
  3. Выберите пункты для очистки (ревизии, спам, черновики и т. п.).
  4. Нажмите кнопку «Run all selected optimizations».

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

Плагин Clearfy Pro для очистки и оптимизации

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

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

Подробнее о Clearfy можно узнать на официальной странице.

Ручная очистка базы данных с помощью SQL и PHP

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

Удаление ревизий записей

Ревизии хранятся в таблице wp_posts с типом revision. Для удаления всех ревизий используйте такой SQL-запрос:

DELETE FROM wp_posts WHERE post_type = 'revision';

Ещё лучше делать это через PHP, чтобы избежать ошибок и иметь возможность логировать операции:

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

Вы можете вызвать эту функцию через WP-CLI или добавить в свой плагин для периодического запуска.

Удаление устаревших транзиентов

Транзиенты хранятся в таблице wp_options с опциями, начинающимися с _transient_. Для удаления устаревших транзиентов удобно использовать WPDB:

function wpreset_delete_expired_transients() {
    global $wpdb;
    $time = time();
    $query = "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_timeout_%' AND option_value < %d";
    $wpdb->query($wpdb->prepare($query, $time));

    $query2 = "DELETE FROM {$wpdb->options} WHERE option_name LIKE '_transient_%' AND option_name NOT LIKE '_transient_timeout_%'";
    $wpdb->query($query2);
}

Этот код удалит все транзиенты, у которых срок жизни истёк, а также их значения.

Как найти и удалить остатки удалённых плагинов

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

Поиск таблиц плагинов в базе данных

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

Чтобы найти такие таблицы, можно использовать запрос к базе:

SHOW TABLES LIKE '%plugin_name%';

После этого можно удалить найденные таблицы с помощью:

DROP TABLE IF EXISTS table_name;

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

Удаление опций плагинов

Опции плагинов хранятся в таблице wp_options с именами, часто начинающимися с префикса плагина. Для поиска можно использовать запрос:

SELECT option_name FROM wp_options WHERE option_name LIKE '%plugin_prefix%';

Для удаления опций используйте PHP-функцию:

function wpreset_delete_plugin_options($prefix) {
    global $wpdb;
    $like = $wpdb->esc_like($prefix) . '%';
    $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->options} WHERE option_name LIKE %s", $like));
}

Вызовите эту функцию с нужным префиксом, например wpreset_delete_plugin_options('myplugin_');.

Резервное копирование базы перед очисткой

Обязательно делайте резервные копии базы данных перед любыми операциями очистки, особенно если используете ручные запросы. Для этого удобно использовать плагин WPReset с функцией резервного копирования и восстановления:

  1. Установите WPReset.
  2. Создайте точку восстановления базы перед очисткой.
  3. В случае ошибки быстро восстановите предыдущую версию базы за пару кликов.

Автоматизация очистки базы данных с помощью WP-Cron

Чтобы база не засорялась, полезно настроить автоматическую очистку по расписанию.

Пример задачи, которая раз в неделю удаляет ревизии и транзиенты:

function wpreset_scheduled_database_cleanup() {
    wpreset_delete_revisions();
    wpreset_delete_expired_transients();
}

if (!wp_next_scheduled('wpreset_weekly_cleanup')) {
    wp_schedule_event(time(), 'weekly', 'wpreset_weekly_cleanup');
}
add_action('wpreset_weekly_cleanup', 'wpreset_scheduled_database_cleanup');

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

Выводы и рекомендации

Регулярная очистка базы данных WordPress от мусора и остатков удалённых плагинов критична для поддержания быстродействия сайта и его стабильности. Используйте проверенные плагины, такие как WP-Optimize и Clearfy Pro, для быстрого старта. Для более тонкой настройки и автоматизации применяйте собственные скрипты на PHP и SQL.

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

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

Как удалить или отключить плагин WordPress без доступа к админке
13.01.2026
Как автоматизировать удаление старого контента в WordPress по типу записи
15.04.2026
Как настроить автоматическое создание резервных копий в WordPress с WPReset
29.01.2026
Как создать свой шорткод в WordPress с примерами кода
17.11.2025
Как создать и использовать собственные типы записей (Custom Post Types) в WordPress
22.11.2025