URL и параметры Vesremont для AI-агента
Каноническая URL-грамматика Vesremont: страницы, фасеты, диапазоны, сортировка, пагинация и правила комбинирования параметров. Исходный файл для машинного чтения: /llms/url-patterns.md.
Ниже описан фактический протокол, который обрабатывают серверная часть и JavaScript сайта. В примерах {...} означает переменную часть, а не буквальный текст.
Страницы
| Назначение | Паттерн |
|---|---|
| Корень каталога | /catalog/ |
| Валидное состояние каталога | /catalog/{validated-path}/ |
| Товар | /catalog/product/{product-code}/ |
| Бренд | /catalog/brand/{brand-code}/ |
| Все бренды | /brand/ |
| Поиск | /search/?search={url-encoded-text} |
| Отзывы состояния каталога | /catalog/{validated-path}/otziv/ |
| Корзина | /personal/basket/ |
{validated-path} проверяется сервером по актуальному набору валидных URL. Не конструируйте и не переставляйте его сегменты без готового href или URL из sitemap.
Категориальные фасеты
Дополнительное значение передаётся повторяемым параметром:
filter={facet-value-code}
Несколько разных групп:
?filter={code-1}&filter={code-2}
Коды чувствительны к фактическим данным каталога. Получайте их из data-filter-value-code и используйте опубликованный href; не выводите код из видимого названия. Штатный интерфейс переключает значение внутри одной группы и комбинирует значения разных групп.
Числовые диапазоны
range={filter-id}_s_o_{min}-e_d_{max}
Фактический синтаксис содержит подчёркивание после ID, не знак =. ID, min и max — неотрицательные целые числа; текущий HTML задаёт step="1". Несколько диапазонов — повторяемые параметры:
?range={id-1}_s_o_{min-1}-e_d_{max-1}&range={id-2}_s_o_{min-2}-e_d_{max-2}
filter-id=1 зарезервирован реализацией для цены. Остальные ID обозначают числовые характеристики и должны присутствовать на текущей странице. Сервер отбрасывает неизвестные ID и корректирует выходящие за доступные границы значения.
Реальный пример существующего формата:
/catalog/krepyezh/?range=1_s_o_82704-e_d_476950&range=4283_s_o_398-e_d_1437
Сортировка товаров
sorts=id_sort
sorts=price_min
sorts=price_max
id_sort— штатный порядок «Новинки»; UI обычно удаляет параметр и использует его как default.price_min— сначала дешевле.price_max— сначала дороже.
Параметр sort в robots.txt — старое SEO-правило и не является интерфейсом текущего каталога. Используется именно sorts.
Пагинация товаров
page={positive-integer}
page=1 является начальным состоянием и обычно удаляется генератором ссылок. Ссылки пагинации публикуются в HTML. Изменение фасета или range сбрасывает page; смена сортировки может сохранить текущую страницу.
Комбинация query
Поддерживается совместное использование повторяемых filter, повторяемых range, одного sorts и одного page, например:
/catalog/{validated-path}/?filter={code}&range={id}_s_o_{min}-e_d_{max}&sorts=price_min&page=2
Порядок query-параметров не является смысловым. При кодировании используйте обычный percent-encoding; не кодируйте разделители _s_o_, -e_d_, & и = как часть значений вручную.
Отзывы категории
На URL с окончанием /otziv/ обрабатываются:
otziv_sort=old|rating_high|rating_low; отсутствие параметра означает сначала новые;otziv_rating=1|2|3|4|5;otziv_media=1;otziv_offset={positive-integer}для следующей пачки;- те же
filterиrange, что определяют исходное состояние категории.
Кнопки отзывов сейчас изменяют эти параметры через JavaScript. Агент может построить URL по указанным допустимым значениям.
Поиск
GET /search/?search={text}
Других публичных query-параметров, сортировки или пагинации у страницы поиска текущая реализация не предоставляет.