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

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

Что такое таксономии и почему их нужно удалять

Таксономии в WordPress — это способ группировки записей. По умолчанию есть категории и метки, но разработчики часто добавляют свои, например, «Проекты», «Города», «Темы». Если таксономия перестала быть актуальной, она продолжает существовать в базе и влияет на запросы.

Удаление неиспользуемых таксономий помогает:

  • Снизить нагрузку на базу данных;
  • Избавиться от лишних элементов в административной панели;
  • Упростить код и логику сайта;
  • Повысить скорость загрузки страниц.

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

Как проверить, какие таксономии не используются

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

Использование SQL-запроса

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

SELECT taxonomy, count(*) 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;

Этот запрос покажет количество записей, связанных с каждой таксономией. Если count = 0 или очень мало, возможно, таксономия не нужна.

Плагины для анализа таксономий

Плагин Clearfy Pro из wpshop.ru имеет инструменты для анализа и очистки базы данных, в том числе таксономий, что удобно для начинающих.

Удаление таксономии из кода

Самый безопасный способ — сначала удалить регистрацию таксономии в коде, чтобы WordPress перестал её использовать. Это делается через функцию register_taxonomy, обычно в functions.php или в плагине.

function clearfy_unregister_taxonomy() {
    unregister_taxonomy('your_taxonomy_slug');
}
add_action('init', 'clearfy_unregister_taxonomy', 11);

Обратите внимание, что WordPress не предоставляет встроенной функции unregister_taxonomy для полного удаления, но вызов выше отменит регистрацию таксономии на уровне интерфейса.

Для полного удаления нужно удалить все термины таксономии из базы.

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

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

global $wpdb;
$taxonomy = 'your_taxonomy_slug';
// Получаем ID term_taxonomy для удаления
$term_taxonomy_ids = $wpdb->get_col($wpdb->prepare("SELECT term_taxonomy_id FROM {$wpdb->term_taxonomy} WHERE taxonomy = %s", $taxonomy));
if ($term_taxonomy_ids) {
    // Удаляем связи с записями
    $ids_string = implode(',', array_map('intval', $term_taxonomy_ids));
    $wpdb->query("DELETE FROM {$wpdb->term_relationships} WHERE term_taxonomy_id IN ($ids_string)");
    // Удаляем таксономии
    $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");
    echo 'Таксономия и все её данные удалены.';
} else {
    echo 'Таксономия не найдена или уже удалена.';
}

Этот код можно выполнить через подключаемый плагин с функцией активации или через консоль WP-CLI.

Использование WP-CLI для удаления таксономий

WP-CLI — мощный инструмент для управления WordPress из консоли. С его помощью можно найти и удалить таксономии и термины без риска.

Пример команды для удаления терминов таксономии:

wp term delete your_taxonomy_slug $(wp term list your_taxonomy_slug --field=term_id)

Это удалит все термины указанной таксономии.

Лучшие практики и рекомендации

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

Заключение

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как отключить Emoji в WordPress для ускорения сайта
06.12.2025
Как оптимизировать загрузку шаблонов в WordPress для ускорения сайта
04.04.2026
Как избежать проблем с кэшем WooCommerce после обновлений
01.05.2026
Как удалить автосохранения и ревизии в WordPress для оптимизации базы данных
09.02.2026
Как удалить или изменить AJAX в WordPress для оптимизации производительности
07.01.2026
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙