Перейти к содержанию

Иерархия большого товарного каталога

Каталог становится труднее сопровождать, когда категории создают по каждому рекламному слову, а одна модель повторяется как несколько разных товаров. В этом уроке построим небольшую, но расширяемую иерархию магазина «ВелоМастер». Её задача — помогать посетителю выбрать класс изделий и затем перейти к конкретной модели.

В учебной модели пять SKU, четыре модели и три категории. Цепи VM-C9 и VM-C10 — разные модели, шлем VM-H1 имеет два размерных SKU, средство VM-LW — одна модель ухода. Данные вымышленные, снимок относится к 11 октября 2026 года. Документы lesson-21 находятся в архиве курса. Магазин не запущен, навигация и поисковые результаты не выполнялись.

Класс товара отличается от варианта

Верхний раздел /shop/ объединяет три самостоятельные задачи: подобрать цепь, изучить шлем и найти средство ухода. Для них уже заданы /shop/chains/, /shop/helmets/ и /shop/care/. Мы сохраняем эти адреса и не создаём новый раздел только потому, что на карточке есть цвет, размер или цена.

Категория Модели SKU Что объясняет список
Цепи 2 2 Различие девяти и десяти скоростей
Шлемы 1 2 Одна VM-H1 с выбором M или L
Уход 1 1 Назначение и объём VM-LW

Сумма SKU равна пяти, сумма моделей — четырём. У VM-H1 оба размера имеют цену 2990 RUB, но остатки различаются: M — четыре, L — два. Не следует написать «в каталоге пять разных моделей» только потому, что склад содержит пять строк. Такая ошибка перейдёт в счётчики, посадочные страницы и внешний источник данных.

У категории шлемов основная карточка ведёт на /shop/products/vm-h1/. Размеры выбираются через состояния ?size=M и ?size=L, сохраняя основной canonical. Это заданная модель адресов; её браузерная обработка не реализована. На уровне иерархии важно показать одну модель, не потеряв сведения о наличии конкретного варианта.

Путь выражается ссылками

Посетитель проходит от магазина к категории и товару. Для поискового обхода тоже нужен доступный путь, а не только кнопка фильтра с JavaScript-событием. Предметный фрагмент категории может выглядеть так:

<nav aria-label="Хлебные крошки">
  <a href="/shop/">Каталог</a> / <span>Цепи</span>
</nav>
<ul>
  <li><a href="/shop/products/vm-c9/">VM-C9 — девять скоростей</a></li>
  <li><a href="/shop/products/vm-c10/">VM-C10 — десять скоростей</a></li>
</ul>

Это редакционный пример обычных ссылок, а не выполненный макет. VM-C10 остаётся в категории с понятным сообщением о временном отсутствии. Наличие VM-C9 не меняет назначение второй модели. Подписи помогают увидеть различие ещё до открытия подробной страницы, не превращаясь в обещание универсальной совместимости.

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

Сегменты URL могут быть понятными человеку, но сами по себе они не создают работающую иерархию. Если /shop/chains/ ниоткуда не достижим, красивое имя пути не заменит ссылку. Поэтому матрица урока связывает родителя, категорию и модели, а не ограничивается перечнем будущих папок.

Описание категории имеет собственную задачу

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

Категория шлемов показывает известные размеры M для окружности 54–58 см и L для 58–62 см. Это диапазоны из учебной модели, а не заключение о безопасности. Сертификаты и испытания не подтверждены. Поэтому текст не получает слова «гарантированная защита», даже если общая категория обычно связана с безопасностью.

Уход содержит VM-LW объёмом 100 мл. Сезонный редакционный цикл не создаёт категории «зима», «осень» и «любая погода» автоматически. Для них нужны самостоятельная ассортиментная задача и подтверждённые сведения. Температурных испытаний VM-LW нет, поэтому один сезонный признак не обосновывает техническую группировку.

Масштабирование требует основания нового уровня

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

Представим будущий ассортимент из разных видов ухода. Тогда внутри care можно обсудить подкатегории по реальному назначению. Прежде чем создавать адрес, проверяют состав и различие задач. Если новая категория показывает тот же единственный VM-LW и лишь меняет заголовок, отдельная страница может не давать нового ответа.

Разделение по цене обычно относится к фильтру, а не к классу изделия. Цены изменяются, и модель не становится другим техническим типом после скидки. То же относится к сортировке «сначала дешёвые». Следующая глава рассмотрит такие фасеты отдельно от постоянной иерархии.

Дополнительная связь с руководством не создаёт вторую товарную принадлежность. Страница выбора цепи может ссылаться на VM-C9 и VM-C10, а сравнение — показывать их рядом. Основная категория chains при этом сохраняется. Если перечислять изделие в каждом тематическом материале как отдельную модель, счётчики начнут зависеть от числа написанных текстов. Поэтому в редакционной схеме связи между документами хранятся отдельно от классификации товарных записей.

Представление сохраняет общие факты

При ручной сверке пройдите всю цепочку VM-C10: категория сообщает временное отсутствие, карточка сохраняет характеристики, руководство объясняет, почему VM-C9 не является автоматической заменой. Все документы должны ссылаться на тот же товарный URL. Новое оглавление не должно незаметно создать копию карточки с другим адресом.

Для шлема сопоставьте общий счётчик модели и выбор размера. Список может показывать одну VM-H1, но подробное предложение M не должно использовать остаток L. Число шесть получается как сумма двух остатков; оно не означает, что каждый размер есть в количестве шести. Поэтому счётчики модели и SKU подписывают по их смыслу.

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

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