wpnotes.ru wordpress WP Notes

Как удалить старые мета данные в WordPress после удаления плагинов

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

Почему важно удалять старые мета данные

Каждый плагин может создавать собственные мета данные: пользовательские поля, опции, записи в таблицах wp_postmeta, wp_usermeta и wp_options. При удалении плагина эти данные не всегда удаляются автоматически, так как разработчики не всегда реализуют функцию очистки базы. В результате база данных разрастается за счёт ненужных записей, что приводит к:

  • Увеличению объёма резервных копий и времени их создания.
  • Замедлению запросов к базе, особенно если мета данных много.
  • Затруднённому анализу и администрированию сайта.

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

Как найти старые мета данные в базе данных

Первый шаг — определить, какие мета данные принадлежат удалённым плагинам. Обычно они имеют префиксы или уникальные ключи. Для этого можно использовать SQL-запросы через phpMyAdmin или любой другой инструмент работы с базой.

Поиск по префиксам ключей мета данных

Например, если плагин создавал мета данные с ключами, начинающимися на oldplugin_, то запрос для поиска в таблице wp_postmeta будет:

SELECT * FROM wp_postmeta WHERE meta_key LIKE 'oldplugin_%';

Аналогично для wp_usermeta:

SELECT * FROM wp_usermeta WHERE meta_key LIKE 'oldplugin_%';

Для wp_options можно искать по имени опции:

SELECT * FROM wp_options WHERE option_name LIKE 'oldplugin_%';

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

Ручной анализ и поиск

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

Удаление старых мета данных через SQL-запросы

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

DELETE FROM wp_postmeta WHERE meta_key LIKE 'oldplugin_%';

Для wp_usermeta:

DELETE FROM wp_usermeta WHERE meta_key LIKE 'oldplugin_%';

Для wp_options:

DELETE FROM wp_options WHERE option_name LIKE 'oldplugin_%';

Используйте эти запросы осторожно, чтобы не повредить данные сайта.

Автоматизация процесса удаления мета данных в WordPress

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

function wpnotes_delete_oldplugin_postmeta() {
    global $wpdb;
    $prefix = 'oldplugin_';
    $like = $wpdb->esc_like($prefix) . '%';
    $wpdb->query($wpdb->prepare(
        "DELETE FROM {$wpdb->postmeta} WHERE meta_key LIKE %s",
        $like
    ));
}

// Запуск функции вручную
// wpnotes_delete_oldplugin_postmeta();

Аналогично можно написать функции для wp_usermeta и wp_options. Для запуска по CRON добавьте хук:

add_action('wpnotes_daily_cleanup', 'wpnotes_delete_oldplugin_postmeta');

if (!wp_next_scheduled('wpnotes_daily_cleanup')) {
    wp_schedule_event(time(), 'daily', 'wpnotes_daily_cleanup');
}

Так будет происходить ежедневная очистка базы.

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

Если вы предпочитаете готовые решения, обратите внимание на плагины для оптимизации и очистки базы. Например:

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

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

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

Чтобы база данных не засорялась, рекомендуем:

  • Перед удалением плагина проверить, есть ли у него функция очистки базы и запустить её.
  • Регулярно выполнять оптимизацию базы с помощью плагинов или вручную.
  • При разработке собственных плагинов реализовать функцию удаления созданных мета данных при деактивации или удалении.
  • Использовать инструменты мониторинга базы данных, например JournalX для анализа и отчётов.

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

×
WPShop
честная партнерка!

Зарабатывай до 3225₽ с каждой продажи

Подключиться к партнерке