Товарный фид (YML)
Фид — основной способ передать каталог в SearchBooster. Мы скачиваем его по ссылке, разбираем, строим поисковый индекс и дальше обновляем по расписанию. Основной формат — YML (Yandex Market Language): его умеют выгружать почти все CMS и маркетплейс-модули. Если у вас фид для Google Merchant, он тоже подойдёт — см. другие форматы.
<offer id="110166" available="true" group_id="1101"> <url>https://shop.ru/p/110166</url> <name>Самоедская собака, щенок</name> <vendor>Nordic Kennel</vendor> <price>960</price> <oldprice>1200</oldprice> <currencyId>RUR</currencyId> <categoryId>8145</categoryId> <picture>https://shop.ru/img/110166.jpg</picture> <param name="Окрас">белый</param> <param name="Возраст" unit="мес">3</param> <description>Дружелюбный щенок…</description> </offer>
- 1
nameНазвание — главный источник для поиска - 2
price / oldpriceЦена и зачёркнутая цена; по цене работают фильтр и сортировка - 3
pictureКартинка: показывается в выдаче и используется для поиска по фото - 4
vendorБренд: фасет, подсказка-бренд, буст в ранжировании - 5
paramХарактеристики → фильтры и фасеты - 6
availableНаличие: товары не в наличии уходят вниз или скрываются - 7
categoryIdКатегория: фасет, подсказки-категории, «популярное в категории»
Минимальный фид
Заголовок раздела «Минимальный фид»<?xml version="1.0" encoding="UTF-8"?><yml_catalog date="2026-10-17T10:00:00+03:00"> <shop> <name>Мой магазин</name> <url>https://shop.ru</url> <currencies> <currency id="RUR" rate="1"/> </currencies> <categories> <category id="1">Собаки</category> <category id="8145" parentId="1">Самоедская собака</category> </categories> <offers> <offer id="110166" available="true"> <url>https://shop.ru/p/110166</url> <name>Самоедская собака, щенок</name> <price>960</price> <currencyId>RUR</currencyId> <categoryId>8145</categoryId> <picture>https://shop.ru/img/110166.jpg</picture> </offer> </offers> </shop></yml_catalog>Категории
Заголовок раздела «Категории»<categories> <category id="1" url="https://shop.ru/c/dogs" imageUrl="https://shop.ru/c/dogs.jpg">Собаки</category> <category id="8145" parentId="1" ordering="10">Самоедская собака</category></categories>| Атрибут | Что делает |
|---|---|
id |
Идентификатор категории. Не может быть 0. |
parentId |
Родитель. Если родителя нет в фиде, категория станет корневой. |
url |
Ссылка на страницу категории — используется в подсказках-категориях. |
imageUrl |
Картинка категории. Если не указана, берём фото первого товара в ней. |
ordering |
Порядок вывода в дереве категорий. |
Категории без названия пропускаются. Дерево категорий доступно через API: GET /api/{uuid}/settings.
Теги оффера
Заголовок раздела «Теги оффера»Обязательные и рекомендуемые
Заголовок раздела «Обязательные и рекомендуемые»Индексатор пропускает оффер только в трёх случаях: нет id, нет категории или нет названия (и его нельзя собрать из vendor + model). Остальные поля формально необязательны, но без них товар будет плохо искаться и некрасиво выглядеть — валидатор подсветит их как ошибки.
| Тег / атрибут | Описание | |
|---|---|---|
offer@id |
обязательно | Уникальный ID товара — строка ("110166", "A-15"). По нему работают рекомендации, события и API индексации. Не используйте 0. |
name |
обязательно | Название — главный источник для поиска. Если пусто, соберём из vendor + model. |
categoryId |
обязательно | ID категории из <categories>. Можно указать несколько тегов — первый станет основной категорией. |
url |
рекомендуется | Абсолютная ссылка на карточку товара. |
price |
рекомендуется | Цена (число, разделитель — точка). Без неё — 0. |
currencyId |
рекомендуется | RUR/RUB, BYN, UAH, KZT, USD, EUR. Конвертации валют нет — цена отдаётся как есть. |
picture |
рекомендуется | Картинки, тег можно повторять. Первая показывается в выдаче и используется для поиска по фото. |
offer@available |
рекомендуется | true / false. Не указан — считаем, что товар в наличии. |
Дополнительные
Заголовок раздела «Дополнительные»| Тег / атрибут | Описание |
|---|---|
oldprice |
Зачёркнутая цена. Скидка = oldprice > price; на ней работает виджет «Товары со скидкой». |
offer@group_id |
Группа вариантов (размеры, цвета одной модели). В выдаче варианты схлопываются в одну карточку, см. groupByGroupId. |
vendor |
Бренд: фасет, подсказки-бренды, фильтр в рекомендациях. |
vendorCode |
Артикул. Поиск по артикулу работает даже без пробелов и дефисов. |
model, typePrefix |
Модель и тип товара («Смартфон»). |
barcode |
Штрихкод, тег можно повторять. Ищется точным совпадением. |
offerCode |
Внутренний код товара. |
description |
Описание. HTML оборачивайте в <![CDATA[ … ]]> — иначе текст внутри тегов потеряется. |
param |
Характеристика: <param name="Цвет">белый</param>, <param name="Вес" unit="кг">1.5</param>. Из параметров строятся фильтры и фасеты. |
label |
Ярлык на карточке («Хит», «Новинка»), тег можно повторять. |
price type="…" / oldprice type="…" |
Дополнительные типы цен (оптовая, по карте): <price type="opt">90</price>. |
count |
Остаток. |
pickup, delivery, isPreorder |
Самовывоз, доставка, предзаказ — доступны как фильтры pickup, delivery, preorder. |
region |
Цены и наличие по регионам — см. Регионы, цены и остатки. |
snippet |
Короткий текст для подсказок. |
Свои теги
Заголовок раздела «Свои теги»Любой нестандартный тег (<rating>4.8</rating>, <margin>35</margin>) сохраняется как поле товара: по нему можно фильтровать, сортировать и строить формулы ранжирования. Если тег повторяется, сохранится последнее значение; вложенные теги и атрибуты таких полей не сохраняются.
Параметры: как сделать хорошие фильтры
Заголовок раздела «Параметры: как сделать хорошие фильтры»- Одно значение — один
<param>. Несколько цветов — несколько тегов с однимname:<param name="Цвет">белый</param><param name="Цвет">кремовый</param> - Числа — отдельно от единиц.
<param name="Мощность" unit="Вт">600</param>даёт фильтр-диапазон, а600 Втв значении — только список. - Одинаковые названия во всём фиде. «Цвет», «цвет» и «Цвет товара» станут разными фильтрами.
- Без технических параметров. ID склада, внутренние флаги лучше передавать своими тегами — они не попадут в фасеты.
Какие параметры показывать фильтрами, в каком порядке и с каким типом (список, цвет, диапазон, переключатель) — настраивается в личном кабинете, раздел Фильтры.
Несколько фидов
Заголовок раздела «Несколько фидов»К проекту можно подключить несколько ссылок — например, отдельные фиды по разделам каталога. Они разбираются по очереди и склеиваются:
- одинаковый
idкатегории — побеждает первый фид; - одинаковый
idоффера — побеждает последний; - если хоть один фид не скачался или битый, индексация не обновляется (старый индекс продолжает работать).
Доступ к файлу
Заголовок раздела «Доступ к файлу»- Фид должен открываться по прямой ссылке
https://…без авторизации. Сжатиеgzipподдерживается (feed.xml.gzилиContent-Encoding),zip— нет. - Кодировка — по декларации
<?xml encoding="…"?>; рекомендуем UTF-8. - Если сайт защищён антиботом или WAF, добавьте наши IP в белый список — адреса покажутся в уведомлении об ошибке загрузки; также их можно запросить у поддержки.
- Если вместо XML пришла HTML-страница (капча, заглушка), загрузка завершится ошибкой, а поиск продолжит работать на прошлой версии каталога.
Что происходит после загрузки, как часто обновляется индекс и как защищён каталог от «пустого» фида — в разделе Как обновляется индекс.