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

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

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

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

Зачем удалять эти таблицы:

  • Снижение объёма базы данных — ускоряет резервное копирование и восстановление.
  • Уменьшение нагрузки на сервер при выполнении запросов.
  • Очистка от мусора повышает безопасность и упрощает администрирование.

Однако удалять таблицы нужно осторожно, чтобы не потерять важные данные.

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

База данных WordPress по умолчанию состоит из таблиц с префиксом, например, wp_ (префикс может быть другим, если это настраивалось). Основные таблицы WordPress:

  • wp_posts
  • wp_postmeta
  • wp_users
  • wp_usermeta
  • wp_options
  • wp_comments
  • wp_commentmeta
  • wp_terms
  • wp_term_taxonomy
  • wp_term_relationships

Все остальные таблицы, особенно с нестандартными названиями, скорее всего, созданы плагинами или темами.

Для выявления таких таблиц:

  1. Подключитесь к базе данных через phpMyAdmin или другой инструмент.
  2. Выполните запрос для вывода всех таблиц с вашим префиксом, например:
SHOW TABLES LIKE 'wp_%';
  1. Сравните полученный список с основными таблицами WordPress.
  2. Затем проверьте, существуют ли активные плагины, которые могут использовать эти таблицы.

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

Автоматический поиск таблиц, не связанных с активными плагинами

Чтобы автоматизировать этот процесс, можно использовать PHP-скрипт, который определит таблицы, не связанные с текущими плагинами. Ниже пример функции для wpcommunity.ru:

function wpcommunity_get_unused_tables() {
    global $wpdb;
    $prefix = $wpdb->prefix;
    $all_tables = $wpdb->get_col("SHOW TABLES LIKE '{$prefix}%'");

    $core_tables = [
        $prefix.'posts',
        $prefix.'postmeta',
        $prefix.'users',
        $prefix.'usermeta',
        $prefix.'options',
        $prefix.'comments',
        $prefix.'commentmeta',
        $prefix.'terms',
        $prefix.'term_taxonomy',
        $prefix.'term_relationships',
        $prefix.'links'
    ];

    // Получаем список активных плагинов
    include_once ABSPATH . 'wp-admin/includes/plugin.php';
    $active_plugins = get_option('active_plugins');

    // Здесь можно добавить логику для определения таблиц, создаваемых плагинами
    // Для простоты считаем, что все таблицы, не входящие в core_tables, потенциально неиспользуемые

    $unused = array_diff($all_tables, $core_tables);

    return $unused;
}

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

Безопасное удаление неиспользуемых таблиц

Перед удалением любых таблиц обязательно сделайте резервную копию базы данных. Для удаления используйте phpMyAdmin или SQL-запросы.

Пример SQL-запроса для удаления таблицы:

DROP TABLE IF EXISTS wp_unused_table_name;

Если хотите автоматизировать удаление через код, можно использовать такую функцию (только после тщательной проверки):

function wpcommunity_delete_tables(array $tables) {
    global $wpdb;
    foreach ($tables as $table) {
        $table_name = esc_sql($table);
        $wpdb->query("DROP TABLE IF EXISTS {$table_name}");
    }
}

Вызовите эту функцию, передав массив с названиями таблиц для удаления.

Работа с таблицами плагинов

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

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

Плагины для очистки и оптимизации базы данных WordPress

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

  • WP-Optimize — один из популярных плагинов для очистки и оптимизации базы данных, включая удаление мусора и ревизий.
  • Advanced Database Cleaner — позволяет находить неиспользуемые таблицы и оптимизировать базу по расписанию.
  • Plugins Garbage Collector — специализированный инструмент для поиска таблиц, связанных с удалёнными плагинами.

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

Пример использования WP-Optimize для удаления таблиц

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

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

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

  • Регулярно делайте резервные копии перед изменениями.
  • Перед удалением плагинов проверяйте, удаляет ли плагин свои данные.
  • Используйте профилирование запросов, чтобы выявлять медленные запросы к базе.
  • Оптимизируйте таблицы через OPTIMIZE TABLE для уменьшения фрагментации.

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

OPTIMIZE TABLE wp_posts;

Это уменьшит размер таблицы и улучшит производительность.

Как установить ограничение на регистрацию в WordPress по домену e-mail
20.03.2026
Закрытый доступ к WooCommerce по ролям пользователей
07.05.2026
Оценка и фильтровка комментариев в WordPress по ключевым словам
16.12.2025
Как удалить неиспользуемые таблицы в базе данных WordPress для оптимизации
20.11.2025
Как удалить пустые категории в WordPress: удобный способ и автоматизация
19.02.2026

Задать вопрос о вордпресс, получить ответ - это все можно сделать в нашем сообществе WP. Сайт в данный момент в разработке, изучите ссылки ниже: