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

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

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

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

Примеры плагинов, которые создают свои таблицы: WooCommerce, WPML, плагин для статистики, кеширования, расширенные формы и т.д. После удаления их таблицы часто остаются.

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

  • уменьшить размер базы данных;
  • ускорить бэкапы и операции с базой;
  • повысить скорость отклика сайта;
  • упростить обслуживание базы данных.

Как определить, какие таблицы не используются 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
  • wp_links

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

Использование SQL-запроса для списка таблиц

Подключитесь к базе данных через phpMyAdmin или любой клиент MySQL и выполните запрос:

SHOW TABLES LIKE 'wp_%';

Замените wp_ на ваш префикс, если он другой. По списку таблиц определите, какие относятся к плагинам.

Сравнение с официальным списком таблиц ядра WordPress

Сравните список с официальным перечнем. Таблицы, не входящие в ядро, нужно проверить на использование.

Как проверить, используется ли таблица

Прежде чем удалять, убедитесь, что таблица не нужна сайту. Для этого:

  • Проверьте наличие данных в таблице — пустая таблица скорее всего не нужна.
  • Проверьте, активен ли плагин, который мог создавать таблицу.
  • Поиск по коду темы и плагинов на использование таблицы (например, по названию таблицы).
  • Просмотрите опции в админке, связанные с плагинами, которые могли создавать таблицы.

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

Если вы уверены, что таблица wp_plugindata не нужна, удалите её так:

DROP TABLE IF EXISTS wp_plugindata;

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

Автоматизация поиска и удаления неиспользуемых таблиц с помощью PHP-кода

Ниже пример функции для темы или плагина, которая выводит список неосновных таблиц и может удалить выбранные. Функция использует глобальный объект $wpdb.

function wpguest_list_and_delete_unused_tables() {
    global $wpdb;
    $prefix = $wpdb->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'
    ];
    // Получаем все таблицы с префиксом
    $all_tables = $wpdb->get_col("SHOW TABLES LIKE '{$prefix}%'");
    $unused_tables = [];
    foreach ($all_tables as $table) {
        if (!in_array($table, $core_tables)) {
            $unused_tables[] = $table;
        }
    }
    echo '<h3>Неиспользуемые таблицы:</h3><ul>';
    foreach ($unused_tables as $table) {
        echo '<li>' . esc_html($table) . '</li>';
    }
    echo '</ul>';
    // Пример удаления (раскомментировать после проверки)
    /*
    foreach ($unused_tables as $table) {
        $wpdb->query("DROP TABLE IF EXISTS {$table}");
    }
    */
}

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

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

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

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

Используйте их в комплексе с ручной проверкой.

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

Перед любой операцией с базой обязательно:

  • Создайте полную резервную копию базы данных.
  • Тестируйте удаление на копии базы, а не на рабочем сайте.
  • Проверьте права доступа и используйте безопасные методы подключения.

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

Итог

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

Как удалить заблокированных пользователей в WordPress с помощью кода
07.01.2026
Как автоматизировать удаление отзывов с пустым содержанием в WooCommerce
09.07.2026
Как автоматизировать удаление старых через Gutenberg блоков в WordPress
31.12.2025
Как автоматизировать управление пользовательскими ролями в WordPress
25.02.2026
Как исключить отображение товаров с нулевым запасом в WooCommerce с помощью кода
04.05.2026