Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Проектирование

Структура URL интернет-магазина: каталог, фильтры и карточки

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

Сколько уровней нужно каталогу

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

/catalog/divany/                      раздел
/catalog/divany/uglovye/              подраздел
/catalog/divany/uglovye/milano-2/     карточка товара

Четвёртый и пятый уровни появляются, когда категории дробят слишком мелко. Признак проблемы простой: в подразделе меньше десяти товаров, а его название повторяет родительское.

Карточка товара: внутри категории или отдельно

Два подхода, и оба рабочие.

СхемаПлюсыМинусы
/product/milano-2/ Адрес не меняется при переносе товара между категориями, нет дублей Из адреса не виден раздел
/catalog/divany/milano-2/ Видна вложенность, слова раздела попадают в адрес При смене категории адрес меняется, нужен редирект

Если товар может лежать в нескольких категориях сразу — выбирайте первый вариант. Он избавляет от главной беды каталогов: одна карточка, доступная по трём разным адресам.

Фильтры — самая опасная часть

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

  • Спросовые фильтры. Есть частотный запрос — «угловые диваны серые», «диваны с доставкой завтра». Такие комбинации превращаются в статические посадочные страницы с собственным адресом, заголовком и текстом: /catalog/divany/uglovye-serye/.
  • Технические фильтры. Сортировка, показ по 60 штук, диапазон цены с точностью до рубля. Они остаются параметрами и закрываются от индексации.
Индексируем:   /catalog/divany/uglovye-serye/
Не индексируем: /catalog/divany/?sort=price&per_page=60

Подробнее о параметрах — в материале про UTM-метки и параметры в URL.

Как называть разделы

  1. Берите название так, как его формулирует покупатель, а не как оно записано в 1С.
  2. Одно понятие — одно слово в адресе: divany, а не divany-i-kresla-dlya-doma.
  3. Единственное или множественное число — выберите одно и держитесь его во всём каталоге.
  4. Не дублируйте родительский раздел в дочернем: /divany/uglovye/, а не /divany/uglovye-divany/.
  5. Адреса собирайте пачкой: выгрузите список категорий и прогоните его через пакетный режим генератора.

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

Пагинация и служебные страницы

  • Страницы пагинации: /catalog/divany/?page=2 или /catalog/divany/page-2/ — оба варианта допустимы, главное, чтобы первая страница была доступна только по одному адресу, без page-1.
  • Личный кабинет, корзина, сравнение, поиск по сайту — закрываются от индексации.
  • Акции и распродажи: отдельный раздел /sale/, а не префикс к каждому товару.

Итоговая схема

/                            главная
/catalog/                    весь каталог
/catalog/divany/             раздел
/catalog/divany/uglovye/     подраздел
/catalog/divany/uglovye-serye/  спросовый фильтр
/product/milano-2/           карточка товара
/blog/                       статьи
/delivery/                   информационные страницы

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

Чек-лист проверки схемы до наполнения

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

  1. Может ли один товар попасть в две категории? Как будет выглядеть его адрес в этом случае?
  2. Что произойдёт с адресом при переносе товара в другой раздел?
  3. Как выглядит адрес страницы фильтра и чем он отличается от параметра?
  4. Какой формат у пагинации и доступна ли первая страница по двум адресам?
  5. Есть ли слэш в конце и одинаково ли это работает во всём каталоге?
  6. Что отдаёт сервер при обращении к несуществующей категории?
  7. Как формируется адрес при поиске по сайту и закрыт ли он от индексации?
  8. Какой максимальной длины получается адрес самого глубокого товара?

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

Перенос каталога со старой схемы

Если магазин уже работает, схему меняют поэтапно:

  • Шаг 1. Выгрузите текущие адреса вместе с трафиком и позициями. Страницы без трафика можно переносить свободнее.
  • Шаг 2. Спроектируйте новую схему и опишите её словами: раздел, подраздел, карточка, фильтр.
  • Шаг 3. Соберите новые адреса пакетно. В генераторе включите режим сохранения структуры папок — вложенность разделов сохранится автоматически.
  • Шаг 4. Настройте 301-редиректы по таблице соответствия.
  • Шаг 5. Начните с одного раздела, оцените результат через три-четыре недели, затем переносите остальные.

Три ошибки, которые встречаются чаще всего

Идентификатор вместо названия. Адреса вида /catalog/section-17/element-4821/ формируются автоматически и не несут смысла. Это самый распространённый случай: схему просто не настраивали.

Категория внутри адреса товара при множественной привязке. Один товар получает три адреса, все три индексируются, сигналы делятся на три. Решение — единый адрес карточки вне категорий.

Фильтры без разделения на спросовые и технические. В индекс попадают тысячи комбинаций сортировок и диапазонов цены. Подробный разбор — в статье про параметры в URL.

Частые вопросы

Нужно ли включать бренд в адрес карточки товара?

Если бренд входит в название товара и по нему ищут — да. Дублировать его отдельным уровнем вложенности не стоит: адрес удлиняется, а смысла не добавляется.

Что делать с товарами в нескольких категориях?

Используйте единый адрес карточки вне категорий, например /product/название/. Так одна и та же страница не появится в индексе под тремя разными адресами.

Как быть с артикулом в адресе?

Артикул уместен, когда названия товаров повторяются и без него не различить модели. В остальных случаях он только удлиняет адрес.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также