Оптимизация базы данных — важный аспект поддержки здорового и быстрого сайта на WordPress. Со временем в базе данных могут накапливаться таблицы, которые больше не используются: от плагинов, которые вы удалили, или от временных данных. Эти таблицы занимают место и могут замедлять работу сайта. В этой статье мы подробно разберем, как выявить и безопасно удалить неиспользуемые таблицы из базы данных WordPress.
Почему появляются неиспользуемые таблицы в базе данных WordPress
Каждый плагин или тема могут создавать собственные таблицы в базе данных для хранения специфических данных. Когда вы удаляете плагин, не всегда происходит удаление его таблиц. Они остаются в базе и со временем могут занимать значительный объем места.
Кроме того, некоторые плагины создают временные таблицы для кэширования или импорта данных, которые не всегда удаляются автоматически. Это приводит к засорению базы данных и может замедлять запросы.
Удаление таких таблиц — шаг к повышению производительности и уменьшению нагрузки на сервер.
Как определить неиспользуемые таблицы в базе WordPress
Для начала нужно получить список всех таблиц в базе данных. Это можно сделать через phpMyAdmin или любой другой инструмент управления базой данных, а также программно.
Все таблицы WordPress по умолчанию имеют префикс, указанный в wp-config.php, например wp_. Основные таблицы WordPress — это 12 стандартных таблиц, например wp_posts, wp_users, wp_options и т.д.
Любые таблицы, которые не входят в этот стандартный набор и имеют тот же префикс, обычно принадлежат плагинам или темам. Если вы уверены, что плагин удалён и таблицы ему больше не нужны — их можно удалить.
Пример получения списка таблиц через SQL-запрос:
SHOW TABLES LIKE 'wp_%';Для автоматизации можно использовать PHP-скрипт, который выведет список таблиц и проверит их принадлежность.
Пример функции для вывода таблиц с префиксом WordPress на wptour.ru
function wptour_get_wp_tables() {
global $wpdb;
$prefix = $wpdb->prefix;
$tables = $wpdb->get_results("SHOW TABLES LIKE '{$prefix}%'");
$table_names = array_map(function($table) {
return array_values((array)$table)[0];
}, $tables);
return $table_names;
}Эта функция вернёт массив всех таблиц с префиксом WordPress. Далее можно сопоставить их с официальным списком.
Стандартные таблицы WordPress — полный список
Вот полный список стандартных таблиц, которые создаёт WordPress (префикс может быть другим):
- wp_comments
- wp_commentmeta
- wp_links
- wp_options
- wp_postmeta
- wp_posts
- wp_terms
- wp_termmeta
- wp_term_relationships
- wp_term_taxonomy
- wp_usermeta
- wp_users
Любые таблицы, которых нет в этом списке, скорее всего, созданы плагинами или темами.
Как безопасно удалить неиспользуемые таблицы
Перед удалением таблиц обязательно сделайте резервную копию базы данных. Ошибка в удалении может привести к потере данных и сбоям сайта.
Далее нужно удостовериться, что таблица не используется. Для этого проверьте, не установлен ли плагин, который её создал, и не планируется ли его использовать в будущем.
Удалить таблицу можно через phpMyAdmin или SQL-запросом:
DROP TABLE IF EXISTS wp_plugin_table_name;Если хотите автоматизировать процесс, можно написать функцию, которая удалит список таблиц.
Пример функции удаления таблиц в WordPress
function wptour_delete_unused_tables(array $tables_to_delete) {
global $wpdb;
foreach ($tables_to_delete as $table) {
$table_name = $wpdb->prefix . $table;
$wpdb->query("DROP TABLE IF EXISTS {$table_name}");
}
}Используйте эту функцию с осторожностью, передав в неё только проверенные таблицы.
Плагины для управления и очистки базы данных WordPress
Если вы не хотите работать с базой данных вручную, можно использовать плагины, которые помогут выявить и удалить неиспользуемые таблицы.
Некоторые популярные плагины:
- WP-Optimize — комплексный инструмент для оптимизации базы данных, удаления мусора и кэширования.
- Advanced Database Cleaner — позволяет найти и удалить устаревшие таблицы от удалённых плагинов, оптимизировать таблицы.
- Plugins Garbage Collector — сканирует базу данных на наличие таблиц и записей, принадлежащих удалённым плагинам.
Используя эти плагины, вы можете автоматически находить неиспользуемые таблицы и безопасно их удалять без глубоких знаний SQL.
Рекомендации по поддержке базы данных WordPress
Чтобы база данных оставалась чистой и быстрой, придерживайтесь нескольких правил:
- Регулярно делайте резервные копии перед оптимизацией и удалением.
- Удаляйте плагины через админку, а не просто удаляйте папку, чтобы плагины могли корректно удалить свои таблицы.
- Используйте проверенные плагины для оптимизации базы.
- Проверяйте базу данных минимум раз в полгода на наличие неиспользуемых таблиц.
Эти простые шаги помогут поддерживать ваш сайт на WordPress в отличном состоянии и избегать проблем с производительностью.