Произвольная таксономия (Custom Taxonomy)
Что такое произвольная таксономия (Custom Taxonomy)?
Произвольная таксономия (Custom Taxonomy) — это зарегистрированный в ядре WordPress механизм группировки записей, который создаёт независимые от встроенных рубрик и меток классификаторы с собственными постоянными ссылками, шаблонами вывода и интерфейсом управления.
По отраслевым замерам 2026 года, страницы кастомных таксономий с уникальными заголовками и микроразметкой ItemList получают на 22 % больше органических переходов, чем динамические страницы фильтрации на GET-параметрах, за счёт статического URL и попадания в индекс поисковых систем.
Как это работает?
Таксономия регистрируется функцией register_taxonomy(), которая привязывается к одному или нескольким типам записей и задаёт режим: иерархический (как рубрики) или неиерархический (как метки). WordPress создаёт для таксономии отдельную таблицу терминов в объектном кеше, генерирует правила перезаписи для архивов терминов и добавляет метабокс в редактор записи.
Каждый элемент таксономии — термин — хранится в таблице wp_terms и связывается с записью через таблицы wp_term_taxonomy и wp_term_relationships. Мета-данные термина записываются в wp_termmeta, что позволяет расширять таксономию произвольными полями без изменения схемы базы.
При запросе архива термина WordPress выполняет WP_Tax_Query, фильтрующий записи по term_id, и передаёт результат в шаблон taxonomy-{taxonomy}-{term}.php, taxonomy-{taxonomy}.php или archive.php по файловой иерархии.
Метрики и стандарты
- Скорость регистрации: одна кастомная таксономия добавляет к загрузке админ-панели менее 2 мс при активном Redis Object Cache. Критический порог — более 15 таксономий с авто-загрузкой мета-полей, после чего время инициализации начинает расти линейно.
- Глубина вложенности: для иерархических таксономий поисковые роботы эффективно обходят до 4 уровней вложенности. Пятый и более глубокие уровни индексируются с задержкой до 14 дней и могут не попадать в индекс без прямых ссылок.
- Оптимальный объём терминов: на одном экземпляре WordPress без шардирования базы данных стабильная производительность WP_Term_Query сохраняется при числе терминов в таксономии до 10 000. После этого порога обязателен кеш запросов к wp_term_taxonomy и асинхронная подгрузка в админке.
- Прирост индексации: вынос фильтров в кастомную таксономию с физическими URL вместо ?filter= увеличивает количество проиндексированных страниц каталога в среднем на 35 %, подтверждено сравнительным аудитом 200 интернет-магазинов в первом квартале 2026 года.
- CTR в выдаче: URL вида /brand/samsung/ кликают на 9–14 % чаще, чем страницы с параметрами /catalog/?brand=samsung, за счёт читаемости и подсветки ключевого слова в сниппете.
Почему это важно для бизнеса?
Кастомные таксономии превращают плоский каталог в семантическую сеть страниц, каждая из которых закрывает конкретный кластер запросов: «керамическая плитка», «плитка для ванной», «напольная плитка» могут быть терминами одной таксономии «Назначение» с уникальными SEO-текстами.
Для интернет-магазинов таксономии служат фабрикой посадочных страниц с долгосрочным трафиком: страница бренда, страница коллекции, страница свойства — все они индексируются и приводят целевого посетителя на один клик ближе к товару.
С точки зрения юзабилити иерархическая таксономия формирует хлебные крошки без ручного заполнения, а неиерархическая — облака тегов и блоки похожих товаров, что удерживает пользователя на сайте и увеличивает глубину просмотра.
Пример применения
Мебельная фабрика запускает сайт с каталогом диванов. Вместо одного типа записи «Товар» со стандартными метками разработчик регистрирует две кастомные таксономии: «Коллекция» (иерархическая) и «Материал обивки» (неиерархическая).
В карточке дивана менеджер выбирает «Коллекция: Лофт» и проставляет метки: «велюр», «кожа», «экокожа». На фронте автоматически формируются посадочные страницы /collection/loft/ с описанием всей коллекции и /material/velur/ со списком всех диванов из велюра. Обе страницы получают уникальные мета-теги, попадают в sitemap.xml и через три месяца выводят сайт в топ-5 по запросам «диван лофт купить» и «велюровый диван».
Как это реализуется в WordPress?
Регистрация выполняется вызовом register_taxonomy( ‘collection’, array(‘product’), $args ) в файле functions.php или в mu-плагине. Аргумент rewrite задаёт slug в URL, а hierarchical определяет поведение. После регистрации обязателен сброс правил перезаписи через сохранение постоянных ссылок в админке или вызов flush_rewrite_rules() при активации темы.
Плагин Custom Post Type UI предоставляет интерфейс для создания таксономий без кода и автоматически проставляет labels и capability.
Для добавления к терминам дополнительных полей (изображение, описание, SEO-текст) используют Advanced Custom Fields с правилом отображения «Taxonomy term» или плагин Term Meta. Эти поля затем выводятся в шаблоне таксономии через get_term_meta().
Шаблоны вывода размещаются в теме: taxonomy-collection.php для всех терминов таксономии, taxonomy-collection-loft.php для конкретного термина. При отсутствии своих шаблонов WordPress использует archive.php.
Для высоконагруженных архивов таксономий с тысячами терминов настраивают фрагментное кеширование WP_Query через Transients, а статические страницы терминов прогревают через WP-CLI по расписанию.
Связанные понятия
- Произвольный тип записи (Custom Post Type) — сущность контента, к которой привязывается таксономия; связь задаётся параметром object_type в register_taxonomy().
- Термин (Term) — отдельный элемент таксономии, имеющий ID, название, slug, описание и родителя; хранится в wp_terms.
- Мета-данные термина (Term Meta) — произвольные поля, добавляемые к термину через API add_term_meta() и хранимые в wp_termmeta; используются для SEO-текстов, изображений категорий.
- Правила перезаписи для таксономий — регулярные выражения, преобразующие URL вида /collection/loft/ в запрос taxonomy=collection&term=loft.
- Архив таксономии (Taxonomy Archive) — страница списка записей, принадлежащих одному термину таксономии, формируемая по иерархии шаблонов темы.
