Знакомая ситуация: 2 000 позиций на Яндекс Маркете, цены поставщика меняются дважды в неделю, и каждое обновление — это ручная загрузка Excel через кабинет. Где-то на десятом круге все слышат слово «фид»: мол, можно отдать Маркету ссылку, и он будет забирать актуальные данные сам. Разбираемся, что такое YML-фид, из чего он состоит и какую роль в этой схеме играет подготовка данных из Excel.
Что такое YML-фид
YML (Yandex Market Language) — это XML-файл со всеми товарами магазина, который лежит на вашем сервере по постоянной ссылке. Маркет ходит по этой ссылке по расписанию и подтягивает свежие цены, остатки и описания без вашего участия.
В этом главное отличие от табличной загрузки: Excel-файл вы загружаете руками каждый раз, а фид обновляется автоматически — стоит один раз настроить генерацию, и дальше витрина синхронизируется сама. Оба пути мы разбирали в обзоре форматов прайс-листа для Маркета.
Из чего состоит фид
YML-файл выглядит пугающе только снаружи. Внутри — обычная вложенная структура:
- shop — корневой блок магазина: название, компания, ссылка на сайт.
- currencies — валюты, в которых отдаются цены (обычно одна — рубль).
- categories — дерево категорий магазина: у каждой свой числовой идентификатор и, при необходимости, родительская категория.
- offers — сами товары. Каждый offer — это карточка: уникальный offer id (ваш артикул), price, categoryId (привязка к категории из блока выше), название, ссылка на фото, остаток.
По сути, фид — это та же таблица прайса, только «завёрнутая» в XML-теги: строка таблицы становится offer'ом, колонки — его полями. Поэтому качество фида процентов на девяносто определяется качеством таблицы, из которой он собирается.
Кому нужен фид, а кому хватит Excel
Фид имеет смысл, когда обновления — постоянный поток: тысячи позиций, цены и остатки меняются каждый день, складов или поставщиков несколько. Тогда автообновление по ссылке экономит часы ежедневно.
Если у вас пара сотен товаров и цены меняются раз в неделю, проще загружать Excel-шаблон через кабинет — вот пошаговый разбор загрузки из прайса поставщика. Никакой разработки не нужно, а контроль над каждой загрузкой выше.
Честно: фид генерирует не конвертер
YML-файл должен жить на сервере и обновляться сам. Это делает либо CMS магазина (у многих движков есть готовый модуль экспорта), либо скрипт, который пишет разработчик. Онлайн-конвертер фид не генерирует — важно понимать это до того, как искать кнопку «сделать YML».
Зато конвертер закрывает самую трудоёмкую часть — подготовку данных, из которых фид собирается. Скрипту или модулю CMS нужна чистая таблица: одна строка — один товар, цена числом, без строк «Итого» и позиций с нулевым остатком. Прайс поставщика таким не бывает никогда: шапка в две строки, цены с «руб.» и пробелами-тысячами, разделы-категории вперемешку с товарами.
Как подготовить данные для фида из Excel
Откройте конвертер прайсов для Яндекс Маркета и перетащите файл поставщика на страницу. Дальше — четыре шага с живым превью:
- Структура. Укажите, с какой строки начинается таблица, схлопните двухстрочную шапку, удалите строки-разделы.
- Колонки. Переименуйте колонки под поля будущего фида: «Артикул» → offer id, «Цена опт» → price, «Группа» → categoryId. Лишние удалите.
- Действия на колонках. «Убрать пробелы» уберёт тысячные разделители из цен, «Умножить» добавит наценку (например, ×1,15), «Округлить» приведёт цены к рублям.
- Фильтры. «Остаток больше 0» отсечёт отсутствующие позиции, «Не содержит Итого» — служебные строки.

На шаге фильтров видно, сколько строк уйдёт из выгрузки ещё до того, как файл попадёт в скрипт:

На экспорте вы получаете XLSX со значениями (без формул) или CSV в UTF-8 — чистую таблицу, которую скрипт или CMS превратит в фид без ошибок валидации:

Обратная задача — разобрать чужой фид в таблицу для анализа — тоже решается через таблицу: об этом статья про преобразование YML в Excel.
Частые вопросы
Чем YML отличается от XML?
YML — это частный случай XML со своими правилами: строго заданные теги (shop, categories, offers), обязательные поля у offer'а. Обычный XML Маркет не примет — нужен именно YML, собранный по спецификации.
Может ли конвертер выдать готовый YML-файл?
Нет. Конвертер готовит чистую таблицу (XLSX или CSV): приводит колонки, чистит цены, фильтрует строки. Генерация фида из этой таблицы — задача скрипта или модуля CMS, потому что фид должен обновляться на сервере сам.
Сколько товаров — порог, после которого нужен фид?
Жёсткого правила нет. Ориентир простой: если ручная загрузка Excel занимает больше получаса в день или цены устаревают раньше, чем вы успеваете их обновить, — пора на фид. До этого Excel в кабинете справляется.
Прайс приходит каждую неделю. Всё настраивать заново?
Нет. После регистрации настройки сохраняются шаблоном: новый прайс → применить шаблон → скачать готовую таблицу → отдать её генератору фида.