Яндекс Метрика
PETROV .pro
Кейсы Обо мне Отзывы Блог
4 мин чтения · 1 просмотр

Как выгрузить товары на Яндекс Маркет: фид без ошибок

Как собрать YML-фид для Яндекс Маркета так, чтобы цены и остатки на сайте и на площадке не расходились. Структура фида, частые ошибки и куда переносится тот же принцип для других площадок.

Как выгрузить товары на Яндекс Маркет: фид без ошибок

Фид для Маркета часто делают один раз и забывают — а потом удивляются, откуда штрафы за расхождение цены или звонки от покупателей, купивших то, чего на складе уже нет. Разберу, как устроен YML-фид и почему источник правды в нём — всегда ваш сайт, а не таблица, которую кто-то обновляет руками раз в месяц.

«Выгрузить товары на Яндекс Маркет» на практике означает одно: собрать файл фида в формате YML и отдать площадке ссылку на него. Фид строится из данных вашего сайта — цена, остаток, фото, категория, описание, — а сама ссылка не меняется никогда: меняется только содержимое за ней, каждый раз, когда обновляется каталог. Источник правды здесь всегда сайт, а не таблица в Excel, которую кто-то раз в месяц вспоминает обновить.

И вот тут чаще всего и начинаются проблемы — не с самим форматом YML (он на удивление простой), а с тем, откуда фид берёт данные и как часто.

Что реально проверяет Маркет в фиде

YML — упрощённый XML, придуманный ещё для старого «Маркета-агрегатора» и с тех пор почти не менявшийся в базовой части. Внутри — один магазин, список категорий и список офферов:

<yml_catalog date="2026-09-06 12:00">
  <shop>
    <name>Мой магазин</name>
    <url>https://site.ru</url>
    <currencies><currency id="RUR" rate="1"/></currencies>
    <categories><category id="1">Одежда</category></categories>
    <offers>
      <offer id="12345" available="true">
        <url>https://site.ru/product/12345</url>
        <price>2990</price>
        <currencyId>RUR</currencyId>
        <categoryId>1</categoryId>
        <picture>https://site.ru/img/12345.jpg</picture>
        <name>Толстовка серая, размер M</name>
        <vendor>Бренд</vendor>
        <param name="Размер">M</param>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Каждый offer — это, по сути, карточка товара с сайта, пересказанная машинным языком. Нет фото на сайте — не будет и в фиде. Категория на сайте «Разное» — в Маркете тоже «Разное». Узнаёте свой каталог? Фид не улучшает данные, он их честно копирует.

Точнее — не совсем копирует, а местами упрощает (сюрприз, о котором почти никто не предупреждает на старте): сложные комбинации вроде «цвет + размер + комплектация» разные генераторы фида переваривают по-разному, и вот тут уже начинается настоящая работа, а не экспорт по кнопке.

Где чаще всего расходится с сайтом

Свежее расхождение, которое стоило денег

Признаюсь честно: у одного клиента в нише товаров для дома я в своё время не настроил принудительное обновление фида на время распродаж. Цена на сайте упала на треть, а площадка перечитала фид только через несколько часов — по расписанию. За это время пришло больше десятка заказов по старой цене, пришлось объясняться с покупателями и частично компенсировать разницу из своего кармана.

Второй частый источник ошибок — не цена, а остаток. Если товар закончился, а available="false" в фиде не выставился, потому что сайт и фид синхронизируются по разным правилам, — заказ всё равно придёт, и его придётся отменять руками. Это бьёт по рейтингу магазина на площадке куда сильнее, чем кажется на старте.

Третий — категории. Площадка требует привязку к своему дереву категорий, а не к вашему. Сопоставление сделали один раз при подключении и забыли — а новые разделы сайта с тех пор попадают в фид вообще без категории. Итог — модерация отклоняет офферы пачками, обычно без внятного объяснения, что именно не так. Большой вопрос, часто ли это вообще кто-то в компании проверяет после запуска.

Как генерировать фид: три рабочих способа

Большинство CMS и конструкторов умеют выгружать YML сами — это самый быстрый путь, если каталог типовой. Точнее, самый быстрый только на старте: как только в товарах появляются нестандартные атрибуты или несколько площадок сразу с разными требованиями к категориям, готовый модуль начинает капризничать, и разумнее написать собственный генератор поверх базы сайта.

Способ Модуль CMS/платформы Кастомный скрипт PIM/фид-агрегатор
Настройка Пара кликов в админке Разработчик пишет под вашу схему данных Отдельный сервис, синхронизация по API
Гибкость атрибутов Ограничена шаблоном модуля Любая — что нужно, то и выводит Средняя, зависит от маппинга полей
Когда хватает Один каталог, стандартные товары Нестандартные атрибуты, несколько площадок сразу Много площадок с разными форматами разом

Кстати, если площадка у вас пока одна, тащить в проект отдельный PIM-агрегатор — это забивать гвоздь микроскопом: дорого, долго и совершенно не по задаче. Если каталог небольшой и стандартный — берите готовый модуль и не усложняйте. Если под капотом самописный сайт на Интернет-магазин под ключ от 120 000 ₽ , а модуля для выгрузки в нём попросту нет, обычно это решается за один спринт, а не за месяц: та же логика, что и у обмена с 1С, который я разбирал в статье «Интеграция сайта с 1С» — источник данных один, форматов для площадок много.

Экономия тут не в деньгах на скрипт, а в количестве раз, когда потом придётся объяснять покупателю, что «на сайте цена была другая».

Фид — зеркало вашего сайта. Кривое зеркало обманывает не покупателя, а вас самого, когда вы начинаете верить цифрам в нём больше, чем собственному складу.

Игорь Петров

Не только Маркет

По тому же принципу устроены выгрузки в Google Merchant Center, ВК Товары и большинство прайс-агрегаторов — разве что формат местами CSV вместо YML, а поля называются чуть иначе. Если вы один раз выстроили у себя нормальный источник данных на сайте — честные остатки, актуальные цены, вменяемые категории, — подключение второй и третьей площадки занимает часы, а не недели.

Обратная ситуация встречается куда чаще: пять лет каталог живёт в режиме «как получилось» — этим болеют почти все, у кого магазин рос не по плану, а по обстоятельствам, — а потом каждая новая площадка требует отдельного танца с бубном вокруг одного и того же экспорта. Знакомая история?

Фид — это ещё не продвижение

Сам по себе фид не приводит покупателей — он просто открывает витрину. Дальше в игру вступают позиции в поиске, контекст и рассылки — это отдельная тема, разбирал её в статье «Продвижение интернет-магазина». А если ещё не решили, с чего вообще начинать магазин, — до фида руки обычно доходят на третьем-четвёртом месяце, раньше, чем думаете: с чего начать интернет-магазин, я разбирал отдельно.

Фид готов к публикации?
6 пунктов, которые проверяю в первую очередь
  • Цена в фиде меняется автоматически вместе с сайтом, а не вручную
  • Товары без остатка помечены available="false", а не просто пропадают из выгрузки
  • У каждого товара свой id и рабочая ссылка на карточку сайта
  • Категории сайта сопоставлены с деревом категорий площадки
  • Картинки открываются по прямой ссылке без авторизации
  • Фид обновляется на площадке не реже раза в сутки

Настроить фид один раз — не то же самое, что держать его в порядке. Второе почему-то всегда оказывается дороже первого.

Проверим ваш фид перед публикацией?

Пришлите ссылку на фид или на сайт — гляну структуру и подскажу, где ждать отказов модерации. Бесплатно, 15 минут.

Telegram @igorPetrovPRO Email info@ipetrov.pro MAX @igorpetrovpro Позвонить +7 (950) 035-05-63