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

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

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

Теги в WordPress хранятся в нескольких таблицах: wp_terms, wp_term_taxonomy и wp_term_relationships. Если тег не используется ни в одной записи (посте, странице, пользовательском типе записи), то он считается неиспользуемым.

Наличие большого количества таких тегов может вызвать следующие проблемы:

  • Увеличение размера базы данных;
  • Замедление запросов к базе данных при выборке терминов;
  • Ошибки и путаница при управлении таксономиями;
  • Сложности при миграции или резервном копировании базы.

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

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

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

Теги — это термины с таксономией post_tag. Если у тега в поле count стоит 0, значит, к нему не прикреплены записи.

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

SELECT t.term_id, t.name FROM wp_terms t JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id WHERE tt.taxonomy = 'post_tag' AND tt.count = 0;

Этот запрос покажет список тегов, которые нигде не используются.

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

Удалять теги нужно аккуратно и последовательно, чтобы не нарушить целостность базы. Порядок действий:

  1. Проверить список тегов с помощью запроса выше.
  2. Удалить записи из таблиц wp_term_relationships и wp_term_taxonomy для этих тегов.
  3. Удалить сами термины из таблицы wp_terms.

Пример последовательных SQL-запросов для удаления одного тега с term_id = 123:

DELETE FROM wp_term_relationships WHERE term_taxonomy_id IN (SELECT term_taxonomy_id FROM wp_term_taxonomy WHERE term_id = 123 AND taxonomy = 'post_tag'); DELETE FROM wp_term_taxonomy WHERE term_id = 123 AND taxonomy = 'post_tag'; DELETE FROM wp_terms WHERE term_id = 123;

Можно объединить эти запросы с помощью подзапросов, но для безопасности лучше выполнять по шагам.

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

Чтобы не выполнять вручную SQL-запросы, можно написать функцию, которая автоматически найдёт и удалит неиспользуемые теги. Используем WordPress API для работы с таксономиями.

function wpstart_delete_unused_tags() { 
    $args = array(
        'taxonomy' => 'post_tag',
        'hide_empty' => true,
    );
    // Получаем все теги с count = 0
    $all_tags = get_terms(array(
        'taxonomy' => 'post_tag',
        'hide_empty' => false,
    ));
    $deleted = 0;
    foreach ($all_tags as $tag) {
        if ($tag->count === 0) {
            wp_delete_term($tag->term_id, 'post_tag');
            $deleted++;
        }
    }
    return $deleted;
}

Эта функция получает все теги, включая пустые (hide_empty = false), затем удаляет те, у которых count равен 0.

Вы можете добавить вызов этой функции в админ-панели, плагине или в файле functions.php вашей темы. Например, для отладки:

add_action('admin_init', function() {
    $deleted = wpstart_delete_unused_tags();
    if ($deleted) {
        error_log('Удалено неиспользуемых тегов: ' . $deleted);
    }
});

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

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

  • WP-Optimize — мощный плагин для очистки базы данных, удаляет неиспользуемые термины, ревизии, спам-комментарии и многое другое.
  • Advanced Database Cleaner — позволяет проводить глубокий аудит базы данных, в том числе выявлять неиспользуемые термины и таксономии.
  • Term Management Tools — плагин для удобного управления терминами, с возможностью слияния и удаления.

Использование этих плагинов поможет избежать ошибок и упростит обслуживание сайта.

Советы по безопасности и резервному копированию перед удалением тегов

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

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

  • Зайдите в phpMyAdmin;
  • Выберите базу данных;
  • Перейдите на вкладку «Экспорт»;
  • Выберите метод «Быстрый» и формат SQL;
  • Нажмите «Вперед» и сохраните файл.

Такой файл позволит быстро восстановить базу при необходимости.

Подводим итоги: зачем и как удалять неиспользуемые теги в WordPress

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

В статье мы рассмотрели, как найти неиспользуемые теги с помощью SQL-запросов, безопасно удалить их вручную, а также как автоматизировать процесс с помощью PHP-функции. Кроме того, были предложены плагины для удобной очистки базы данных, а также рекомендации по резервному копированию.

Следуя этим советам, вы сможете поддерживать свой сайт на WordPress в отличном состоянии и избежать накопления мусора в базе данных.

Как создать автоматическую резервную копию WordPress с помощью плагинов и собственного кода
20.11.2025
Как настроить автоматический импорт данных из Google Sheets в WordPress с примерами кода
15.02.2026
Как создать собственный виджет для WordPress: пошаговое руководство
14.11.2025
Как создать динамическую таблицу в WordPress с помощью шорткода
02.12.2025
Как сделать автоматический импорт заданий из Яндекс Толока в WordPress
04.02.2026