wpwebsite.ru wordpress WPWebSite

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

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

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

Со временем база данных WordPress разрастается за счёт:

  • Ревизий записей и страниц, которые занимают место и замедляют запросы.
  • Транзиентов — временных опций, которые не всегда удаляются автоматически.
  • Записей, оставшихся от удалённых плагинов и тем — кастомных таблиц, опций, метаданных.
  • Спам-комментариев и мусорных данных.

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

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

Плагин Clearfy Pro: эффективное решение для оптимизации базы

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

Основные возможности Clearfy Pro по очистке базы:

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

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

WP-Optimize: классика для очистки и оптимизации базы

Другой популярный плагин — WP-Optimize. Он бесплатный и позволяет:

  • Удалять ревизии, черновики и спам.
  • Оптимизировать таблицы базы данных.
  • Удалять неактивные транзиенты.

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

Создание собственного решения для очистки базы WordPress

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

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

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

// Использование:
wpwebsite_delete_transients_by_prefix('wpwebsite_');

Эта функция удалит все записи транзиентов из таблицы options, имена которых начинаются с 'wpwebsite_'. Это полезно для очистки кэшей или временных данных своего плагина или темы.

Удаление кастомных таблиц и опций от удалённых плагинов

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

function wpwebsite_remove_plugin_leftovers() {
    global $wpdb;

    // Удаление кастомной таблицы
    $wpdb->query("DROP TABLE IF EXISTS {$wpdb->prefix}custom_plugin_table");

    // Удаление опций
    delete_option('custom_plugin_option_1');
    delete_option('custom_plugin_option_2');
}

// Запускайте эту функцию один раз при необходимости

Обязательно делайте резервные копии перед такими операциями!

Оптимизация базы данных после очистки

После удаления мусора важно оптимизировать таблицы базы данных, чтобы вернуть им компактный размер и улучшить производительность. В WordPress это можно сделать через SQL-команду:

function wpwebsite_optimize_tables() {
    global $wpdb;
    $tables = $wpdb->get_results("SHOW TABLES", ARRAY_N);
    foreach ($tables as $table) {
        $wpdb->query("OPTIMIZE TABLE {$table[0]}");
    }
}

// Запуск оптимизации
wpwebsite_optimize_tables();

Также оптимизацию можно делать средствами плагинов, например, Clearfy Pro и WP-Optimize делают это автоматически.

Регулярное расписание очистки базы данных WordPress

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

function wpwebsite_schedule_db_cleanup() {
    if (!wp_next_scheduled('wpwebsite_daily_db_cleanup')) {
        wp_schedule_event(time(), 'daily', 'wpwebsite_daily_db_cleanup');
    }
}
add_action('wp', 'wpwebsite_schedule_db_cleanup');

add_action('wpwebsite_daily_db_cleanup', function() {
    // Здесь вызываем функции очистки
    wpwebsite_delete_transients_by_prefix('wpwebsite_');
    wpwebsite_optimize_tables();
});

Так ваша база будет автоматически очищаться и оптимизироваться без вашего участия.

Заключение: практические советы по очистке базы WordPress

  • Всегда делайте резервные копии базы перед очисткой.
  • Используйте проверенные плагины, такие как Clearfy Pro и WP-Optimize.
  • Для специфичных задач пишите собственные функции, чтобы удалить ненужные данные.
  • Настройте автоматическую очистку через WP-Cron для регулярного поддержания базы.
  • Оптимизируйте таблицы после удаления мусора для лучшей производительности.

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

×
Сделай свой сайт крутым!

Скидка -20% на премиум плагины WordPress

Выбрать плагин сейчас ⋙