Skip to content

Подгрузка товарного фида

Для подгрузки товаров может использоватся как файл в формате YML, так и в формате Google Merchant Feed.

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

Пример рекомендуемого YML

Чем больше полей заполнено — тем лучше

<yml_catalog date="2020-08-04 02:00">
  <shop>
    <name>Магазин</name>
    <company>Магазин</company>
    <url>https://site.ru/</url>
    <brands>
      <brand url="http://site.ru/brand/1" logo="http://site.ru/logo/1">Lego</brand>
      <brand url="http://site.ru/brand/2" logo="http://site.ru/logo/2">Лукойл</brand>
      <brand url="http://site.ru/brand/3">BMW</brand>
    </brands>
    <categories>
      <category url="http://site.ru/cat/1" id="1" imageUrl="http://site.ru/img/1">Спорт и отдых</category>
      <category url="http://site.ru/cat/2" id="2" parentId="1" imageUrl="http://site.ru/img/2">Тренажеры и фитнес</category>
      <category url="http://site.ru/cat/3" id="3" parentId="2" imageUrl="http://site.ru/img/3">Тренажеры</category>
      <category url="http://site.ru/cat/4" id="4" parentId="3">Эллиптические тренажеры</category>
    </categories>
    <offers>
      <offer type="vendor.model" available="true" id="1" group_id="1">
        <url>https://site.ru/product/1</url>
        <price>1000.00</price>
        <oldprice>1399.00</oldprice>
        <price type="opt">800.00</price>
        <price type="opt2">600.00</price>        
        <currencyId>RUR</currencyId>
        <name>Тренажер</name>
        <categoryId>4</categoryId>
        <picture>https://site.ru/images/1.png</picture>
        <typePrefix>Эллиптический тренажер</typePrefix>
        <vendor>Matrix</vendor>
        <model>A3X 2012</model>
        <description>Описание</description>        
        <vendorCode>артикул-товара</vendorCode>
        <snippet>подпись-к-товару</snippet>
        <label>ярлык-на-товар-акция-на-товар</label>
        <count>2</count>
        <pickup>true</pickup>
        <delivery>true</delivery>
        <isPreorder>true</isPreorder>
        <sales_notes>Сборка - бесплатно.</sales_notes>
        <manufacturer_warranty>true</manufacturer_warranty>

        <param name="Хит">Да</param>
        <param name="Новинка">Нет</param>
        <param name="popularity">3</param>
        <param name="Вес в упаковке" unit="кг">221</param>
        <param name="Длина" unit="м">1.8</param>
        <param name="Ширина" unit="м">0.7</param>
        <param name="Высота" unit="м">1.7</param>

        <region id="msk">
            <available>true</available>
            <price>9999</price>
            <oldprice>1399.00</oldprice>
            <count>2</count>
            <pickup>true</pickup>
            <delivery>true</delivery>
            <isPreorder>true</isPreorder>
        </region>
        <region id="spb">
            <available>false</available>
            <price>11200</price>
        </region>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Обязательные теги и поддержка множественных значений

Чтобы товар корректно индексировался, участвовал в поиске и отображался в виджете, фид должен соответствовать минимальным требованиям структуры и типов данных.

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

С официальными рекомендациями от Yandex вы можете ознакомиться в официальной документации.

1. Минимальный обязательный набор для товара (<offer>)

Для корректной загрузки и индексации каждый должен содержать:

  • @id — идентификатор товара. Положительное целое число (id="0" запрещён);

  • @available — наличие товара. Допустимые значения: true / false;

  • <url> — валидный URL карточки товара;

  • <price> — числовое значение цены;

  • <currencyId> — код валюты (RUR, RUB, USD, EUR и др.);

  • <categoryId> — существующая категория.

Название товара:

  • либо <name>;

  • либо связка typePrefix + model + vendor.

Если <name> отсутствует и невозможно собрать название из трёх тегов — товар не будет корректно проиндексирован.

2. Важные поля для качества поиска

Эти теги не обязательны технически, но сильно влияют на релевантность и поведение поиска:

  • <description> — чем подробнее описание, тем точнее поиск;

  • <picture> — ссылка на изображение товара;

  • <vendorCode> или <offerCode> — поиск по артикулу;

  • <vendor> — бренд товара для поиска и фильтрации;

  • <param> — участвуют в фильтрации и ранжировании;

  • <param name="popularity"> — может использоваться в формуле ранжирования.

Чем больше корректно переданных данных — тем стабильнее и качественнее работает поиск.

3. Поддержка множественных тегов

Некоторые теги можно передавать несколько раз внутри одного товара.

Разрешено передавать несколько:

  • <categoryId> — товар может принадлежать нескольким категориям;

  • <picture> — галерея изображений (приоритет — первая картинка);

  • <param> — характеристики (без ограничений по количеству);

  • <price type="..."> — мультицены (opt, opt2 и т.д.);

  • <region> — несколько регионов для одного товара.

Мультирегиональность

Если используется <region>, то данные о наличии, цене и остатках должны передаваться внутри соответствующего блока <region>.

Если <region> не используется — эти параметры указываются в <offer>.

4. Теги, которые должны быть единственными

Ожидается одно значение на товар:

  • <url> - ссылка на страницу товара;

  • <name> -название товара;

  • <currencyId> - валюта;

  • <vendor> - бренд;

  • <model> - наименование модели;

  • <typePrefix> - тег для альтернативного формирования названия;

  • <description> - описание;

  • <vendorCode> / <offerCode> - достаточного указать одно из значений;

  • <oldprice> - перечерктнутая цена;

  • <label> - маркетинговые бейджи на карточке товара, например "Новинки", "Хит продаж".

Для передачи нескольких <label> используйте дополнительный CSV-фид в личном кабинете.

5. Важные ограничения

  • Все id должны начинаться с 1.

  • Использование id="0" запрещено.

  • Повторяющиеся offer/@id недопустимы.

  • categoryId должен ссылаться на существующую категорию.

Типы данных должны соответствовать формату (цена — число, available — boolean и т.д.).

6. Что считается критичной ошибкой

Критичными считаются:

  • отсутствие обязательных тегов;

  • некорректная структура XML;

  • дубли offer/@id;

  • нередача неэранированных специальных символов, например &. Пример корректно передачи &amp.

  • ссылка на несуществующую категорию;

  • невозможность определить название товара;

В таких случаях товар может быть исключён из индексации.

Описание дополнительных тегов

Данные теги доступно определять как в теле тега offer для глобального поиска и в теле тега region:

  • count - может использоваться для передачи остатков товара;

  • pickup - возможность самовывоза;

  • delivery - возможность доставки;

  • isPreorder - возможность предзаказа.

Если используете region нужно использовать count внутри блока region.

Если без использования region нужно использовать count внутри блока offer.