Яндекс.Маркет и другие сервисы Яндекса принимают товары в формате YML — упрощённой версии CommerceML для прайс-листов. В 1С-Битрикс такой фид собирается штатными средствами модуля «Торговый каталог», без сторонних решений. Разберём, где настраивается экспорт, как сопоставить свойства товаров тегам YML и как отдавать фид по стабильной ссылке с автообновлением.
Что такое YML и когда он нужен
YML (Yandex Market Language) — это XML-формат прайс-листа, разработанный Яндексом на базе стандарта CommerceML. Файл описывает магазин, валюты, дерево категорий и список товарных предложений (offer) с ценами, ссылками, картинками и характеристиками.
Фид в этом формате нужен, когда каталог передаётся во внешние сервисы: карточки товаров на Яндекс.Маркете, Яндекс.Бизнес, товарные кампании в Директе, а также многие агрегаторы и маркетплейсы принимают именно YML. Магазин генерирует один XML-файл, отдаёт его по постоянному URL, а сервис Яндекса периодически скачивает и обновляет данные.
Где в Битриксе настраивается экспорт
Выгрузка в YML — это функция модуля «Торговый каталог» (catalog). В административной панели откройте раздел Магазин → Настройки → Настройки экспорта (либо Контент → Инфоблоки → Экспорт данных для более старых сборок). Здесь создаётся профиль экспорта, где в поле формата выбирается «Яндекс.Маркет (YML)».
Каждый профиль привязан к конкретному инфоблоку каталога и формирует отдельный файл. Практически всегда используется один общий фид на весь магазин, но при необходимости можно завести несколько профилей — например, отдельный фид для распродажи или для конкретного бренда.
- Тип информационного блока и инфоблок — выбираете каталог, откуда берутся товары.
- Файл экспорта — имя и путь итогового XML, например
/yandex_market.xmlв корне сайта. - Настройка на странице — параметры магазина, валют и соответствия свойств тегам YML.
Заполнение параметров профиля
После выбора формата открывается форма с настройками фида. Ключевые блоки, которые нужно заполнить корректно:
| Параметр | Что указать |
|---|---|
Название магазина (name) | Короткое имя магазина без рекламных слов |
Компания (company) | Полное юридическое наименование продавца |
URL магазина (url) | Главная страница сайта с протоколом https |
Валюты (currencies) | RUR/RUB и курс, синхронизируется с модулем «Валюты» |
Категории (categories) | Разделы инфоблока, выгружаемые как дерево |
| Экспортируемые разделы | Отметьте только те разделы каталога, что должны попасть в фид |
Отдельно задаётся тип описания предложений: упрощённый (тип simplified, подходит для большинства товаров) или произвольный/vendor.model для техники, где важны производитель и модель. Тип влияет на то, какие теги Яндекс ждёт обязательными.
Сопоставление свойств тегам YML
Самая содержательная часть настройки — сопоставление полей и свойств инфоблока тегам предложения. Битрикс автоматически выгружает базовые поля, но остальное нужно сопоставить вручную в форме экспорта.
name— название товара, обычно из поля «Название» элемента;price— берётся из типа цены модуля «Торговый каталог», чаще всего базовой розничной;picture— детальная картинка и/или свойство типа «Файл» с дополнительными изображениями;vendor— свойство «Производитель» (часто это привязка к элементу инфоблока брендов);description— детальное описание элемента;param— произвольные характеристики (цвет, размер, материал) из свойств инфоблока.
Если у товаров есть торговые предложения (SKU) — размеры, цвета, — то каждое предложение выгружается отдельным тегом offer со своим id, ценой и наличием. Свойства родительского товара наследуются, а различающиеся характеристики берутся из самих SKU.
available="false"). Иначе Яндекс отклонит предложения при модерации.Публикация фида и подключение в Яндексе
После сохранения профиль формирует XML-файл по указанному пути. Ссылка на него — это и есть адрес фида, например https://site.ru/yandex_market.xml. Откройте её в браузере и убедитесь, что отдаётся корректный XML с корневым тегом <yml_catalog>, а не HTML-страница ошибки.
- Скопируйте прямой URL сформированного файла.
- В личном кабинете Яндекс.Маркета или Яндекс.Бизнеса в разделе загрузки прайс-листа выберите способ «по ссылке (YML)» и вставьте URL.
- Дождитесь первой проверки: сервис скачает файл, провалидирует структуру и покажет список ошибок и предупреждений.
Важно, чтобы файл был публично доступен без авторизации и отдавался с корректной кодировкой windows-1251 или utf-8 — той же, что заявлена в XML-декларации. Если сайт закрыт под .htpasswd на этапе разработки, откройте доступ хотя бы к файлу фида.
Автоматическое обновление фида
Цены и остатки меняются постоянно, поэтому фид нужно пересобирать регулярно. В Битриксе за это отвечает агент, который создаётся автоматически при сохранении профиля экспорта, либо задание в планировщике.
- Агенты Битрикса. В настройках профиля включается автоматическая выгрузка с заданным интервалом. Агент отработает при посещениях сайта или по
cron, если агенты вынесены на крон. - Cron напрямую. Для крупных каталогов надёжнее запускать пересборку по расписанию через
/bitrix/php_interface/cronили системный вызов PHP, чтобы не зависеть от трафика.
bitrix/php_interface/dbconn.php строку define("BX_CRONHIT", true) при соответствующей настройке и заведите задание cron_events.php. Так фид обновляется предсказуемо, даже когда посетителей мало.Интервал согласуйте с частотой скачивания фида Яндексом — обновлять файл чаще, чем его забирает сервис, смысла нет; для большинства магазинов достаточно раза в 1–4 часа.
Типовые ошибки и валидация
Большинство отклонений на модерации связаны не с самим Битриксом, а с содержимым каталога. На что смотреть в первую очередь:
- Битые ссылки на картинки. В теге
pictureдолжен быть абсолютный URL с доменом, а не относительный путь. - Пустые или служебные названия. В
nameне должно быть артикулов, ключевых слов и рекламных приписок. - Несоответствие валют. Валюта в
currencyIdдолжна быть объявлена в блокеcurrencies. - Категория без родителя. Каждый
categoryIdдолжен присутствовать в деревеcategories. - Кодировка. Спецсимволы и кавычки в описаниях должны экранироваться — Битрикс делает это сам, но кастомные доработки экспорта иногда ломают вывод.
Перед подключением прогоните файл через встроенный валидатор в кабинете Яндекса — он покажет строки с ошибками. Для больших фидов удобно проверять XML на корректность любым XML-парсером, прежде чем скармливать его площадке.
Итог
Экспорт каталога в YML — штатная возможность модуля «Торговый каталог» 1С-Битрикс. Порядок работы простой: создать профиль экспорта в формате «Яндекс.Маркет», аккуратно сопоставить свойства инфоблока тегам предложения, опубликовать файл по постоянному URL и настроить автообновление агентом или кроном. Основная работа приходится не на клики в админке, а на чистоту данных: корректные цены, наличие, абсолютные ссылки на изображения и валидные названия.
Если каталог большой, содержит торговые предложения со сложной матрицей характеристик или требует нестандартной структуры фида под конкретную площадку, мы настраиваем и дорабатываем выгрузку под ваши задачи — от базового YML до кастомных фидов с автоматической пересборкой и мониторингом. Обращайтесь, поможем связать 1С, каталог и маркетплейсы в один надёжный конвейер.
Частые вопросы
Чем YML отличается от обмена CommerceML с 1С?
YML — это выгрузка каталога наружу, для Яндекс.Маркета и рекламных площадок. CommerceML — двусторонний обмен товарами, ценами и заказами между 1С и сайтом. Форматы родственные, но задачи разные.
Нужен ли для экспорта в YML сторонний модуль из Маркетплейса?
Нет. Выгрузка в формате «Яндекс.Маркет (YML)» входит в штатный модуль «Торговый каталог». Сторонние решения нужны только для нестандартных фидов или дополнительных площадок.
Как выгружаются товары с размерами и цветами?
Торговые предложения (SKU) выгружаются отдельными тегами offer со своими id, ценами и наличием. Общие свойства наследуются от родительского товара, а различающиеся берутся из самих предложений.
Почему Яндекс отклоняет часть товаров?
Чаще всего из-за пустой или нулевой цены, отсутствия наличия, относительных ссылок на картинки или рекламных приписок в названии. Проверьте эти поля через встроенный валидатор в кабинете.
Как часто обновлять фид?
Достаточно пересобирать файл раз в один–четыре часа для большинства магазинов. Обновлять чаще, чем Яндекс скачивает фид, смысла нет.
Что делать, если фид не обновляется автоматически?
Проверьте, что агенты Битрикса отрабатывают, а лучше переведите их на cron. Для крупных каталогов надёжнее запускать пересборку по расписанию напрямую через планировщик.
Можно ли сделать несколько разных фидов?
Да. Создайте отдельный профиль экспорта на каждый фид — например, для распродажи или конкретного бренда. Каждый профиль формирует собственный XML-файл по своему URL.
Какая кодировка должна быть у файла?
Кодировка файла должна совпадать с заявленной в XML-декларации — обычно windows-1251 или utf-8. Битрикс формирует файл в кодировке сайта, ручные доработки экспорта проверяйте отдельно.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.