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

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

Что такое таксономии в WordPress и почему важно их чистить

Таксономии — это способ группировки записей и других типов контента в WordPress. Помимо стандартных category и tag, часто используются кастомные таксономии, добавляемые плагинами или темами. Со временем часть из них перестаёт использоваться, но остаётся в базе, что приводит к:

  • Загромождению базы данных и увеличению её размера.
  • Усложнению интерфейса администратора и путанице при выборе таксономий.
  • Потенциальному конфликту и ошибкам в работе плагинов или тем.

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

Как определить неиспользуемые таксономии

Первый шаг — выявить, какие таксономии не используются. Стандартные таксономии WordPress всегда используются, а вот кастомные могут быть неактивны. Делать это можно несколькими способами:

1. Использование SQL-запроса к базе данных

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

SELECT taxonomy, COUNT(object_id) as count FROM wp_term_relationships tr JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id GROUP BY taxonomy ORDER BY count ASC;

Результат покажет, сколько записей связано с каждой таксономией. Таксономии с нулевым счётом — кандидаты на удаление.

2. Использование плагина WP-Optimize

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

3. Программный способ проверки через PHP

Можно написать сниппет, который выведет список таксономий с количеством связанных записей:

function wpmagazin_list_unused_taxonomies() {
    $taxonomies = get_taxonomies([], 'objects');
    foreach ( $taxonomies as $taxonomy ) {
        $count = wp_count_terms($taxonomy->name);
        echo $taxonomy->name . ': ' . $count . ' терминов <br>';
    }
}
wpmagazin_list_unused_taxonomies();

Это поможет быстро оценить использование таксономий прямо из кода.

Как корректно удалить неиспользуемые таксономии

Удаление таксономии требует аккуратности, чтобы не повредить данные и не вызвать ошибок. Существует несколько шагов:

1. Удаление терминов таксономии из базы данных

Если таксономия не используется, можно удалить все её термины через SQL:

DELETE FROM wp_terms WHERE term_id IN (
  SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'your_taxonomy'
);
DELETE FROM wp_term_taxonomy WHERE taxonomy = 'your_taxonomy';
DELETE FROM wp_term_relationships WHERE term_taxonomy_id NOT IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

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

2. Отключение регистрации таксономии в коде

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

3. Использование плагинов для управления таксономиями

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

Пример функции для автоматического удаления таксономии

Ниже пример функции, которая удалит всю информацию о неиспользуемой таксономии «old_taxonomy» из базы данных и отключит её регистрацию:

function wpmagazin_remove_old_taxonomy() {
    global $wpdb;
    $taxonomy = 'old_taxonomy';
    // Удаляем связи терминов с объектами
    $wpdb->query( $wpdb->prepare(
        "DELETE tr FROM {$wpdb->term_relationships} tr
         INNER JOIN {$wpdb->term_taxonomy} tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
         WHERE tt.taxonomy = %s",
         $taxonomy
    ) );
    // Удаляем записи таксономии
    $wpdb->query( $wpdb->prepare(
        "DELETE FROM {$wpdb->term_taxonomy} WHERE taxonomy = %s",
        $taxonomy
    ) );
    // Удаляем термины, которые не связаны с таксономиями
    $wpdb->query(
        "DELETE t FROM {$wpdb->terms} t LEFT JOIN {$wpdb->term_taxonomy} tt ON t.term_id = tt.term_id WHERE tt.term_id IS NULL"
    );
}
add_action('init', 'wpmagazin_remove_old_taxonomy', 100);

Эту функцию следует использовать с осторожностью и только после создания резервной копии базы.

Советы по профилактике захламления таксономиями

Чтобы не допускать накопления неиспользуемых таксономий, придерживайтесь следующих рекомендаций:

  • Регулярно анализируйте свой сайт и базу данных, удаляйте устаревшие таксономии.
  • Перед установкой новых плагинов проверяйте, какие таксономии они создают.
  • Используйте инструменты оптимизации, например Clearfy Pro, для автоматизированного управления.
  • При удалении плагинов, которые создавали кастомные таксономии, обязательно удаляйте и связанные с ними данные.

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

Как использовать WPRemark для автоматического сбора отзывов в WordPress
18.02.2026
WooCommerce: автоматическое удаление неоплаченных заказов через код
30.05.2026
Как удалить или отключить комментарии в WordPress на определённых страницах
17.01.2026
Как создать адаптивные блоки в WordPress с помощью Gutenberg
22.01.2026
WooCommerce: удаление вариативных товаров через код без плагинов
12.05.2026