Со временем база данных WordPress может засоряться неиспользуемыми таблицами. Это происходит, когда вы устанавливаете, а затем удаляете плагины, которые оставляют после себя свои таблицы, или при миграциях и обновлениях. Такие таблицы не только занимают место, но и замедляют работу базы данных, что отражается на производительности сайта. В этой статье подробно рассмотрим, как найти и безопасно удалить неиспользуемые таблицы из базы данных WordPress.
Почему важно удалять неиспользуемые таблицы WordPress
В базу данных WordPress входят таблицы ядра, а также дополнительные таблицы, созданные плагинами и темами. Если плагин удалён неправильно, его таблицы остаются и продолжают занимать место. Чем больше таких таблиц — тем медленнее работают запросы к базе, увеличивается время резервного копирования и восстановление, усложняется обслуживание.
Удаление неиспользуемых таблиц помогает:
- Сократить размер базы данных.
- Ускорить выполнение запросов к базе.
- Снизить нагрузку на сервер.
- Облегчить резервное копирование и восстановление.
Однако, удалять таблицы нужно с осторожностью, чтобы не повредить работающий сайт.
Как найти неиспользуемые таблицы в базе данных WordPress
Первый шаг — определить, какие таблицы созданы ядром WordPress, а какие — плагинами или темами. По умолчанию в базе данные WordPress используются следующие таблицы (префикс wp_ может отличаться):
- wp_posts
- wp_postmeta
- wp_users
- wp_usermeta
- wp_options
- wp_terms
- wp_term_taxonomy
- wp_term_relationships
- wp_comments
- wp_commentmeta
Все остальные таблицы — скорее всего, созданы плагинами или темами. Чтобы просмотреть таблицы, можно использовать phpMyAdmin, Adminer, или подключиться к базе через консоль MySQL и выполнить команду:
SHOW TABLES;Далее сверяем таблицы с известным списком ядра и смотрим, какие лишние.
Использование плагина WP-Optimize для поиска таблиц
Плагин WP-Optimize позволяет анализировать базу, показывая неиспользуемые таблицы и оптимизировать их.
После установки и активации перейдите в раздел «База данных» плагина. Там будет список таблиц, включая их размер и статус. Вы сможете отметить ненужные таблицы и удалить их через интерфейс плагина.
Как безопасно удалить неиспользуемые таблицы из базы
Перед удалением таблиц обязательно сделайте полный бэкап базы данных. Это позволит восстановить данные, если что-то пойдет не так.
Удалять таблицы можно вручную или программно.
Удаление таблиц через phpMyAdmin
- Откройте phpMyAdmin и выберите базу данных.
- Отметьте ненужные таблицы.
- Внизу выберите действие «Удалить» (Drop).
- Подтвердите удаление.
Удаление таблиц программно через WP-функцию
Если нужно автоматизировать удаление, можно создать функцию с префиксом _2wp_remove_unused_tables, которая проверит существование таблиц и удалит их. Ниже пример:
function _2wp_remove_unused_tables() {
global $wpdb;
$tables_to_drop = [
$wpdb->prefix . 'example_plugin_table1',
$wpdb->prefix . 'example_plugin_table2',
];
foreach ($tables_to_drop as $table) {
$table_exists = $wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE %s", $table));
if ($table_exists === $table) {
$wpdb->query("DROP TABLE IF EXISTS $table");
}
}
}Вызывайте эту функцию один раз, затем удалите её из кода.
Примеры плагинов, оставляющих таблицы, и как с ними работать
Некоторые популярные плагины создают свои таблицы и не удаляют их при деактивации:
- WooCommerce — таблицы
wp_woocommerce_sessions,wp_woocommerce_api_keysи др. - WPML — таблицы
wp_icl_translationsи другие. - Wordfence — таблицы
wp_wfconfig,wp_wfnotifications.
Если вы уверены, что больше не будете использовать эти плагины, удаляйте их таблицы вручную или через код, как показано выше.
Советы по предотвращению накопления неиспользуемых таблиц
Чтобы не сталкиваться с проблемой «мусорных» таблиц, придерживайтесь следующих рекомендаций:
- Перед удалением плагина используйте специальные деинсталляционные опции, если они есть. Например, WooCommerce предлагает опцию удаления данных.
- Регулярно проверяйте базу через WP-Optimize или аналогичные инструменты.
- Используйте плагин Clearfy Pro для уборки базы и оптимизации.
Заключение
Удаление неиспользуемых таблиц из базы данных WordPress — важный этап технического обслуживания сайта, который улучшает производительность и упрощает работу с базой. Главное — всегда делать резервные копии и тщательно проверять, какие таблицы можно удалить, чтобы не навредить сайту.