Товарный фид Яндекса: как сделать YML для Товаров и Директа
Как собрать YML-фид для Яндекс Товаров и Директа и проверить каждый этап от выгрузки каталога до обработки файла.
Товарный фид Яндекса - это YML-файл с каталогом магазина: цены, наличие, ссылки и фото. Его публикуют по постоянному адресу на своём сайте, затем регистрируют в Яндекс Товарах и отдельно в библиотеке фидов Директа. Чаще всего путаница начинается после загрузки: ошибок XML нет, а товары в поиске так и не появились. Файл может ещё обрабатываться, цены могут расходиться с сайтом, магазин может не пройти проверку качества, и в каждом случае чинить нужно своё.
Во встроенном чате LidFly или в Claude, ChatGPT и Codex по MCP каждый этап проверяется по данным, а не по памяти. Для магазина на конструкторе LidFly сервис читает профили фидов, состав и состояние файла. В Яндекс Товарах он проверяет источники домена, показывает план, после вашего текстового подтверждения запускает загрузку и перечитывает статус обработки. В Директе проверяет регистрацию URL, число позиций и связь с кампаниями. Если магазин на внешней CMS, выгрузку готовит владелец сайта или модуль этой CMS.
Проверь готовность товарного фида моего магазина к загрузке в Яндекс Товары.
Сайт: [домен]. Источник: [сайт LidFly / моя CMS].
URL фида: [ссылка, если уже есть]. Регионы продажи: [регионы].
Для сайта LidFly прочитай профили фидов, состав выбранного профиля
и его состояние. Прочитай фиды этого домена в Яндекс Товарах.
Покажи таблицу: что проверено, что ещё неизвестно, что нужно исправить.
Если нужен новый профиль или загрузка, сначала предложи точный план.
Выполни изменения только после моего отдельного подтверждения
и затем проверь результат. Статус загрузки не называй модерацией.
Что такое товарный фид и куда его загружать
Товарный фид Яндекса в формате YML (Yandex Market Language) - это структурированный файл на основе XML, в котором магазин передаёт площадкам срез каталога: категории, названия, цены, валюту, наличие, ссылки и фото (справка о формировании фида, проверено 07.11.2026). Один каталог обычно питает два разных канала:
- В Яндекс Товары (это сервис для магазинов со своим сайтом, не маркетплейс Яндекс Маркет) фид передаёт карточки для поиска и товарных блоков. Подробности смотрите в разборе как работают Яндекс Товары и как подключить магазин.
- В Яндекс Директ фид добавляют в библиотеку кабинета для товарных кампаний и товарных объявлений в Единой перфоманс-кампании. Как карточки из Товаров и объявления из Директа соседствуют в выдаче, смотрите в статье товарная галерея: реклама в Директе и бесплатные показы в Товарах.
Публикация файла на сайте, регистрация URL, техническая обработка и показ в выдаче - разные события, и каждое подтверждается в своём месте:
| Этап | Где смотреть | Что доказано | Что ещё неизвестно |
|---|---|---|---|
| 1. Публикация файла | URL фида; на сайте LidFly - профиль и проверка собранного файла | Файл собран и отдаётся по HTTPS | Добавлен ли URL в кабинет Яндекса |
| 2. Регистрация URL | Список фидов в Яндекс Товарах или «Библиотека → Фиды» в Директе | Ссылка привязана к домену или рекламному аккаунту | Прошла ли загрузка без ошибок чтения |
| 3. Обработка файла | processStatus=OK в Товарах (API статуса) или DONE в Директе |
Платформа скачала и разобрала XML | Прошли ли карточки проверку качества и цен |
| 4. Модерация и показ | «Ошибки и рекомендации» в Товарах; кампании в Директе | Доля допущенных товаров (о фидах) и активность рекламы | Фактические клики и заказы в Метрике |
В чате LidFly напишите: «Покажи, на каком этапе мой фид». Сервис прочитает профиль магазина и список фидов домена в Товарах (или регистрацию фида в Директе) и отделит подтверждённое от того, что остаётся проверить в кабинете. Без LidFly откройте URL фида в браузере, а затем пройдите по строкам таблицы: дата и статус обработки видны в кабинете Товаров или Директа.
Важно: успешная загрузка не означает пройденную модерацию и не запускает показы.
Как сделать фид: CMS, каталог LidFly или ручной YML
Выбирайте источник, который обновляется вместе с каталогом. Цены, остатки и характеристики ИИ берёт из вашей системы и проверяет их там же, а не сочиняет.
| Источник | Как создаётся YML | Когда подходит | Ограничение |
|---|---|---|---|
| CMS (1С-Битрикс, Tilda, WooCommerce, OpenCart) | Штатный экспорт каталога или проверенный модуль выгрузки | Основной способ для действующего магазина на своей CMS | Функция зависит от версии и тарифа CMS; подключение Директа не даёт LidFly доступа к базе внешней CMS |
| Магазин на LidFly Commerce | Профили товарных фидов сайта с предпросмотром состава | Каталог, профиль YML и загрузка в Товары в одной системе | Только для магазинов на конструкторе сайтов LidFly |
| Ручной YML | Сборка XML по шаблону в текстовом редакторе | Небольшой каталог, который редко меняется (способы) | Любую смену цены или остатка приходится вносить в файл вручную |
Не переименовывайте таблицу Excel (.xlsx, .csv) в .yml: смена расширения не превращает прайс-лист в XML-структуру.
Типовой сценарий 1, часть 1: профиль фида на сайте LidFly (данные условные). В условном магазине настольных светильников lamp-example.ru на LidFly Commerce 48 товаров, часть ещё в черновиках. Владелец просит подготовить выгрузку для Яндекс Товаров:
Подготовь фид опубликованных светильников моего магазина lamp-example.ru на LidFly для Яндекс Товаров.
Прочитай существующие профили и покажи предпросмотр: какие позиции войдут в выгрузку, какие исключены и почему.
Публикацию выполняй только после моего подтверждения.
ИИ читает профили фидов и показывает предпросмотр: например, из 48 товаров в фид войдут 43, а 5 отсеются: черновики и карточки без цены или фото. Если рабочий профиль уже есть, пересоздавать его не нужно. Получив текстовое подтверждение владельца на состав и URL https://lamp-example.ru/feeds/yandex-products.xml, сервис публикует профиль и проверяет собранный файл.
Без LidFly включите экспорт YML в настройках вашей CMS (справка о формировании, проверено 07.11.2026), откройте сгенерированный URL и проверьте обновление файла после одной тестовой правки цены.
Правило актуальности: закрепите один источник данных и ответственного, чтобы цены в YML не отставали от корзины сайта.
Пример YML: какие данные проверить в каждом товаре
Ниже - компактный учебный YML-файл для Яндекс Товаров на одной позиции нашего условного магазина светильников. Названия, цены и домен example.com выдуманы для обучения: перед реальной отправкой замените ссылки на свои и обновите date.
<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2026-11-07T10:00:00+03:00">
<shop>
<name>Учебный магазин</name>
<company>Учебный продавец</company>
<url>https://example.com/</url>
<currencies>
<currency id="RUR" rate="1"/>
</currencies>
<categories>
<category id="1">Настольные светильники</category>
</categories>
<offers>
<offer id="1001" available="true">
<name>Настольный светильник Лист, белый</name>
<url>https://example.com/catalog/lampa-list</url>
<price>2490</price>
<currencyId>RUR</currencyId>
<categoryId>1</categoryId>
<picture>https://example.com/images/lampa-list.jpg</picture>
<description>Настольный светильник с белым плафоном.</description>
</offer>
</offers>
</shop>
</yml_catalog>
Сравните формат времени в корневом теге. Справка Яндекс Товаров требует RFC 3339 с часовым поясом (2026-11-07T10:00:00+03:00), не старше 10 дней и не в будущем (сформировать фид, проверено 07.11.2026). А справка Яндекс Директа описывает формат YYYY-MM-DD hh:mm (требования к YML в Директе, проверено 07.11.2026):
<yml_catalog date="2026-11-07 10:00">
Поэтому один каталог магазина может снабжать оба сервиса, но совместимость конкретного файла проверяют отдельно либо делают две выгрузки.
В таблице разобраны поля нашего учебного примера. Это не полный перечень обязательных тегов: для других категорий и типов оферов набор отличается.
| Поле нашего примера | Назначение и правила в справке | Что проверить в файле |
|---|---|---|
offer id |
Устойчивый ID варианта. Обязателен в упрощённом типе Директа (требования Директа); в Товарах должен оставаться стабильным (рекомендации, проверено 07.11.2026) | Не меняется при новой выгрузке и не дублируется |
name |
Название конкретного варианта. Обязательно для упрощённого офера Директа (у vendor.model другие поля) |
Отражает модель и цвет без капслока и промоакций |
url |
Ссылка на карточку товара; обязательна в упрощённом типе Директа | Ведёт на конкретный товар, а не на главную магазина |
price и currencyId |
Цена покупки и валюта (советы по качеству, проверено 07.11.2026); в Директе обязательность зависит от формата | Точно совпадают с карточкой и корзиной на сайте |
categoryId и categories |
Связь с разделом каталога; categoryId обязателен в упрощённом офере Директа |
Категория объявлена в блоке <categories> |
picture |
Прямая ссылка на фото товара | Открывается картинка без редиректа на HTML и водяных знаков |
available |
Фактическое наличие (true / false, ошибки фида, проверено 07.11.2026) |
Не ставить true товарам, которые нельзя купить |
date |
Момент актуальности выгрузки (RFC 3339 в Товарах, YYYY-MM-DD hh:mm в Директе) |
Обновляется только вместе с реальными данными каталога |
description |
Характеристики товара без рекламных лозунгов | Спецсимволы экранированы (& вместо сырого &) |
В LidFly по запросу «Объясни, почему позиции исключены из фида» предпросмотр и проверка собранного файла покажут список карточек и причины отсева, чтобы владелец поправил каталог и повторил проверку. Без LidFly откройте свой XML в редакторе, сверьте 3-5 карточек с сайтом и проверьте экранирование &.
Как проверить фид до загрузки: четыре слоя
Синтаксически верный XML не спасёт товары от отказа, если в нём старая цена или битая ссылка. Проверяйте фид на четырёх уровнях:
- Файл: XML читается парсером без ошибок, кодировка
UTF-8, всеoffer idуникальны, аcategoryIdсогласованы со списком категорий (валидация в Директе, проверено 07.11.2026). - Доступ: URL отдаёт XML, а не HTML-ошибку или окно входа; карточки и фото открываются. Для загрузки через LidFly в Товары нужен публичный
HTTPSURL без логина и пароля в адресе. Это требование инструмента LidFly: в веб-кабинете Яндекса фид с авторизацией описан как допустимый вариант. - Содержание: цены, валюта, наличие и названия совпадают с карточкой и корзиной сайта (работа с ошибками, проверено 07.11.2026).
- Назначение: учтены правила выбранного канала; нет неподходящих тегов от чужого экспорта (особенности фида в Товарах, проверено 07.11.2026).
По запросу «Что мешает отправить профиль фида?» LidFly выполняет предпросмотр и проверку собранного файла. Проверка идёт по файлу, собранному на стороне LidFly, и не показывает, как его скачает робот Яндекса. Без LidFly проверьте файл XML-парсером или онлайн-валидатором, посмотрите ответ сервера в приватном окне и сверьте несколько позиций с корзиной.
Частая ошибка: принять ответ HTTP 200 с HTML-страницей за валидный YML или обновлять по крону только атрибут date без обновления цен.
Как загрузить фид в Яндекс Товары и проверить результат
Базовый сервис Яндекс Товаров бесплатный для магазинов (о сервисе, проверено 07.11.2026). Работа с ним через LidFly входит в MCP-пакет без отдельной доплаты за канал (документация Яндекс Товаров); сам тариф LidFly и рекламный бюджет Директа оплачиваются отдельно. Нужен собственный сайт: сценарий Яндекса для продавцов без сайта через Яндекс KIT LidFly не подключает. Подключение Яндекс Товаров в LidFly отдельное, доступ к Директу его не заменяет. Домен сайта на LidFly доступен Товарам без дополнительной настройки, но проверки на стороне Яндекса это не отменяет.
Типовой сценарий 1, часть 2: загрузка в Яндекс Товары (продолжение условного примера). Профиль https://lamp-example.ru/feeds/yandex-products.xml проверен. Владелец отправляет команду:
Загрузи проверенный фид https://lamp-example.ru/feeds/yandex-products.xml магазина lamp-example.ru в Яндекс Товары для Москвы и области.
Сначала покажи, есть ли этот источник и что будет добавлено.
Запускай загрузку только после моего подтверждения, затем проверь статус.
Что происходит после команды:
- Сначала LidFly читает профиль фида, результат проверки файла и список источников домена в Товарах.
- Затем ИИ показывает план: домен, публичный HTTPS URL, название, регионы, что проверено локально и что проверит Яндекс.
- Владелец отдельным текстовым сообщением подтверждает отправку. Публикация файла на сайте и отправка в Яндекс подтверждаются по отдельности, а не одним действием.
- Сервис запускает загрузку через
merchants_start_feed_uploadи сохраняетrequestId. - По
requestIdвызываетсяmerchants_get_feed_upload_status, а затем сервис перечитывает список фидов домена для сверки регионов. При статусеIN_PROGRESSповторяют чтение статуса, а не саму загрузку. - Статус
processStatus=OKозначает завершённую загрузку файла (справка API, проверено 07.11.2026). Причины отказа по товарам API не возвращает - модерацию смотрят в кабинете (по справке загрузки проверка занимает до 5 рабочих дней).
Ручной маршрут в кабинете Яндекс Товаров: «Товары → Источники данных → Фиды → Добавить → Указать ссылку на файл», укажите название, регионы и URL, а после обработки откройте «Ошибки и рекомендации».
Как добавить фид в Директ и не спутать его с запуском рекламы
Ссылка из Яндекс Товаров не появляется автоматически в кабинете Директа - там своя библиотека фидов и отдельная привязка к кампаниям.
Типовой сценарий 2: внешняя CMS и регистрация фида в Директе (пример условный). Разработчик магазина на внешней CMS передал директологу ссылку https://svet-example.ru/export/direct.xml. К базе CMS LidFly не подключается, но проверяет и регистрирует URL в рекламном кабинете:
В кабинете [логин] проверь фид https://svet-example.ru/export/direct.xml для розничных товаров.
Покажи, зарегистрирован ли он, как обработан и с какими кампаниями связан.
Если его нет, предложи добавление с типом RETAIL. Не запускай рекламу.
- Через
inspect_feed_usageLidFly проверяет URL в кабинете и возвращает статус (NEW,UPDATING,DONE,ERROR), число товаров в фиде, доступные поля фильтрации и связанные кампании. - Если источника нет, ИИ формирует план
add_feedдля розничной торговли (RETAIL), при необходимости с удалением UTM-меток из ссылок фида, и ждёт текстового подтверждения директолога. Для смены адреса существующего фида готовится план обновления его настроек. - После подтверждения сервис выполняет запись и перечитывает фид через
inspect_feed_usage, показывая итоговый статус и число товаров в фиде.
Статус DONE подтверждает приём файла в библиотеку, но не запускает показы. Как дальше выстроить кампании и аналитику, описано в руководстве план рекламы интернет-магазина, а ограничения видимости товарных форматов разобраны в статье почему товарная кампания может быть не видна через API.
Без LidFly откройте в Директе «Библиотека → Фиды → Добавить фид», выберите «Розничная торговля» и загрузку по ссылке (добавление фида, проверено 07.11.2026): файл с компьютера не обновляется автоматически, а ссылку робот опрашивает по расписанию.
Фид не принят или товаров нет: где искать причину
Чините тот слой, где есть свидетельство сбоя. Если причины нет в API, откройте кабинет и передайте текст ошибки в чат.
| Симптом | Где проверить | Следующее действие | Признак исправления |
|---|---|---|---|
| Файл не скачивается / отдаёт HTML | HTTP-ответ, Content-Type, открытие URL |
Исправить доступ на сайте. В Товарах повторно отправить фид на проверку можно до шести раз: если он шесть раз подряд не пройдёт контроль качества, магазин не допустят к размещению в Поиске и потребуется обращение в поддержку (справка, проверено 07.11.2026) - не запускайте перепроверку, пока не исправили причину | По адресу отдаётся именно XML |
| Ошибка структуры или тега | Парсер и отчёт платформы | Исправить шаблон экспорта, экранирование & и обязательные поля (ошибки, проверено 07.11.2026) |
Повторная проверка не показывает ошибку |
| Цена или наличие расходятся | Фид, карточка, корзина, отчёт качества | Синхронизировать выгрузку с сайтом и проверить свежий date (советы, проверено 07.11.2026) |
Данные совпали; итог перепроверки виден в кабинете |
В Товарах OK, итог модерации неизвестен |
Кабинет Товаров → «Ошибки и рекомендации» | Открыть фактический статус в кабинете и передать текст ошибки ИИ | Подтверждён конкретный статус в кабинете |
В Директе ERROR или мало товаров |
Проверка фида в Директе через LidFly или «Библиотека → Фиды» | Проверить формат, уникальность ID и состав выгрузки | Статус DONE, число товаров в фиде сходится с каталогом |
| Фид принят, показов нет | Условия показа и кампании отдельно от фида | Проверить кампанию по чек-листу что проверить, если в Директе нет показов | Устранена причина остановки в самой кампании |
Для быстрых правок между выгрузками LidFly поддерживает обновление цен и скрытие предложений в Яндекс Товарах через API без редактирования XML (см. документацию), но цену на самом сайте всё равно нужно синхронизировать.
Типовой сценарий 3: короткий агентский аудит (пример условный). Специалист агентства проверяет фиды нескольких клиентских магазинов одним чтением:
По доступным доменам [список] собери таблицу фидов: URL, источник, время проверки, статус загрузки, что неизвестно.
Данные клиентов не смешивай. Ничего не меняй.
LidFly читает данные каждого проекта и кабинета по отдельности и сводит их в общую таблицу. По ней специалист выбирает магазин, с которого начать правку по сценарию 1 или 2. Для работы вручную сохраните шаблон паспорта фида:
Паспорт фида: домен → источник и ответственный → назначение и URL → дата в yml_catalog → проверка состава и цен → статус загрузки (OK / DONE) → статус модерации в кабинете → следующий шаг.
Частые вопросы
Что такое YML-файл и чем он отличается от XML?
YML (Yandex Market Language) - это стандарт описания товарного каталога на базе синтаксиса XML с фиксированными тегами (yml_catalog, shop, categories, offers, offer). Не путайте его с конфигурационным форматом YAML (.yml для Docker) и не переименовывайте таблицы Excel в .yml: без XML-разметки парсер такой файл отклонит.
Как создать YML-файл для своего магазина?
Используйте источник, который обновляется синхронно с ценами и остатками: штатный экспорт вашей CMS (1С-Битрикс, Tilda, WooCommerce, OpenCart) или профиль фида в конструкторе LidFly Commerce. Ручной файл подходит для изучения структуры и небольшого каталога, который редко меняется, но каждое изменение цены в нём кто-то должен вносить вручную.
Как проверить фид Яндекса перед загрузкой?
Проверьте четыре слоя: синтаксис XML и стабильность offer id, прямой доступ по HTTPS без HTML-заглушек, совпадение цен и наличия с карточкой и корзиной сайта, а также соответствие тегов и формата даты целевому сервису (Товары или Директ). Онлайн-валидатор находит незакрытые теги, но не заменяет модерацию Яндекса.
Можно ли использовать один фид для Яндекс Товаров и Директа?
Один каталог может питать оба канала, но перед отправкой одной ссылки сверьте требования обоих сервисов (особенно формат атрибута date и набор тегов) или выгрузите два отдельных профиля. Регистрировать URL в Яндекс Товарах и в библиотеке фидов Директа в любом случае нужно отдельно.
Почему фид загружен, но товары не появились?
Статус загрузки файла (processStatus=OK в API Яндекс Товаров или DONE в Директе) подтверждает только технический разбор XML. Товары не показываются, если магазин ещё проходит модерацию качества, цены разошлись с корзиной сайта или в Директе не запущена активная кампания по этому фиду.
Начните с проверки своего фида: отправьте стартовую команду из начала статьи в чат LidFly по Яндекс Товарам - ИИ проверит профили и зарегистрированные источники домена, отделит подтверждённые шаги от неизвестных и подготовит план действий. Справочник команд - в документации по фидам Яндекс Товаров.