В процессе развития сайта на WordPress часто накапливаются неиспользуемые таксономии. Они могут замедлять работу сайта, создавать лишний мусор в базе данных и усложнять администрирование. В этой статье разберём, как правильно находить и удалять неиспользуемые таксономии, а также рассмотрим примеры кода и полезные плагины для автоматизации процесса.
Что такое таксономии в WordPress и зачем их удалять
Таксономии — это способ группировки контента в WordPress. По умолчанию в системе есть категории и метки (tags), но разработчики могут создавать свои пользовательские таксономии для упорядочивания постов, товаров, проектов и других типов записей.
Со временем на сайте могут появляться таксономии, которые перестали использоваться: например, из-за удаления плагинов, смены темы или изменений в структуре сайта. Если такие таксономии остались в базе, они занимают место, замедляют запросы и усложняют управление контентом.
Удаление неиспользуемых таксономий помогает:
- Оптимизировать базу данных;
- Улучшить производительность сайта;
- Сделать админ-панель чище и понятнее;
- Избежать конфликтов между плагинами и темами.
Как определить неиспользуемые таксономии в WordPress
Для начала нужно понять, какие таксономии зарегистрированы и какие из них не используются.
Просмотр зарегистрированных таксономий
В админ-панели WordPress можно посмотреть основные таксономии, но для полной картины удобнее использовать код или плагины.
Для вывода списка всех таксономий с количеством связанных записей можно добавить следующий код в файл темы functions.php или использовать в плагине для отладки:
function wpcheck_list_taxonomies_usage() {
$taxonomies = get_taxonomies(array(), 'objects');
foreach ($taxonomies as $taxonomy_slug => $taxonomy) {
$count = wp_count_terms($taxonomy_slug);
echo '<p>' . esc_html($taxonomy->label) . ' (' . esc_html($taxonomy_slug) . '): ' . intval($count) . ' записей</p>';
}
}
add_action('admin_notices', 'wpcheck_list_taxonomies_usage');Этот код выведет в админке список таксономий и количество связанных с ними терминов. Так вы сможете быстро увидеть, какие таксономии пустые.
Использование плагинов для анализа таксономий
Для визуального анализа можно использовать плагины, например:
- Clearfy Pro — позволяет оптимизировать базу данных, в том числе работать с таксономиями и метаданными.
- WP-Optimize — плагин для очистки базы данных, который выявляет и удаляет мусор, включая неиспользуемые таксономии.
Такие инструменты помогают быстро оценить состояние и выполнить очистку без глубоких знаний кода.
Как удалить неиспользуемые таксономии вручную через код
Удаление таксономии требует аккуратности, чтобы не повредить базу данных и не сломать сайт.
Шаг 1. Отключение регистрации таксономии
Если таксономия создаётся плагином или темой, сначала нужно отключить её регистрацию. Например, если таксономия product_tag создаётся плагином, деактивируйте плагин или уберите регистрацию из кода темы.
Шаг 2. Удаление терминов таксономии из базы данных
После отключения регистрации таксономии она останется в базе, и её нужно удалить вручную. Для этого можно использовать следующий пример кода, который удалит все термины и связи:
function wpcheck_delete_taxonomy_terms($taxonomy) {
global $wpdb;
// Получаем все термины таксономии
$terms = get_terms(array(
'taxonomy' => $taxonomy,
'hide_empty' => false,
));
if (empty($terms) || is_wp_error($terms)) {
return;
}
foreach ($terms as $term) {
// Удаляем связи терминов с постами
$wpdb->delete($wpdb->term_relationships, array('term_taxonomy_id' => $term->term_taxonomy_id));
// Удаляем термины
wp_delete_term($term->term_id, $taxonomy);
}
// Удаляем таксономию из wp_term_taxonomy
$wpdb->delete($wpdb->term_taxonomy, array('taxonomy' => $taxonomy));
}
// Использование:
wpcheck_delete_taxonomy_terms('custom_taxonomy_slug');Этот код удаляет все данные таксономии из базы. Важно: перед выполнением сделайте резервную копию базы!
Шаг 3. Очистка кэша и перегенерация ссылок
После удаления таксономии рекомендуется сбросить постоянные ссылки в настройках WordPress, чтобы избежать 404 ошибок и проблем с URL.
Автоматизация удаления неиспользуемых таксономий с помощью плагинов
Если хочется упростить задачу и не заниматься кодом, можно использовать плагины, которые помогут удалить неиспользуемые таксономии безопасно.
Clearfy Pro для оптимизации таксономий
Clearfy Pro предоставляет функции для очистки базы данных, в том числе удаления неиспользуемых терминов и таксономий. Плагин анализирует базу, позволяет создавать списки «мусорных» таксономий и удалять их одним кликом.
Преимущества:
- Интуитивный интерфейс;
- Безопасное удаление с резервным копированием;
- Поддержка мультисайтов;
- Дополнительные инструменты оптимизации.
WP-Optimize для комплексной очистки
WP-Optimize — популярный плагин, который улучшает производительность сайта, удаляя мусор, включая неиспользуемые таксономии, ревизии, спам-комментарии и прочее. Он прост в использовании и имеет бесплатную версию.
Советы по предотвращению накопления неиспользуемых таксономий
Чтобы не сталкиваться с проблемами лишних таксономий, придерживайтесь следующих рекомендаций:
- Удаляйте плагины аккуратно и проверяйте, не остаются ли их таксономии;
- Используйте плагин Clearfy Pro для регулярной оптимизации базы;
- Планируйте структуру сайта заранее, чтобы минимизировать создание ненужных таксономий;
- Регулярно проверяйте базу данных на предмет «мусорных» элементов;
- Используйте кастомные таксономии только при необходимости, избегайте избыточности.
Итоги и лучшие практики удаления таксономий
Удаление неиспользуемых таксономий — важный этап оптимизации WordPress-сайта. Это позволяет уменьшить нагрузку на базу данных, ускорить работу сайта и упростить управление контентом.
Используйте сочетание анализа через код и проверенные плагины, делайте резервные копии перед любыми изменениями и внедряйте регулярные проверки базы данных.
Если вы хотите автоматизировать очистку и получить дополнительные инструменты оптимизации, обратите внимание на Clearfy Pro — это решение с хорошей поддержкой и функционалом для профессионалов.