YML-фід: що це і як вивантажити його з інтернет-магазину

YML-фід — це один XML-файл з усім вашим каталогом: товарами, цінами, наявністю й характеристиками. Розбираємо, як він влаштований, як вивантажити його з Хорошоп, Prom, WooCommerce чи OpenCart і що з нього бере AI-консультант.

8 хв читання

YML-фід — це один файл, у якому описано весь асортимент інтернет-магазину: назви, ціни, наявність, фото, категорії й характеристики товарів. Саме його читають Rozetka, Prom, Hotline і Google Merchant Center, коли показують ваші товари. З нього ж може відповідати покупцям AI-консультант. Якщо ви продаєте в Україні, ваша платформа майже напевно вже вміє такий файл формувати. Нижче розберемо, що всередині YML-фіду, як вивантажити його з Хорошоп, Prom, WooCommerce та OpenCart і що перевірити, перш ніж комусь давати посилання.

Що таке товарний фід

Товарний фід — це копія каталогу, яку зручно читати програмам. Вітрина магазину зроблена для людей: сторінки, меню, банери. Фід зроблено для сервісів: товар за товаром, і в кожного той самий набір полів.

Магазин формує фід зі своєї бази, зазвичай за постійним посиланням. Усі, кому потрібен ваш каталог, періодично завантажують це посилання. Ви змінили ціну в адмінці, фід оновився, і маркетплейс чи консультант побачить нову ціну при наступному завантаженні.

Що таке YML

YML розшифровується як Yandex Market Language: формат колись придумали для сервісу порівняння цін. Сьогодні він живе своїм життям і фактично став стандартом українського e-commerce. Rozetka публікує власні вимоги до YML-прайсу, Prom вивантажує й приймає YML, а більшість українських платформ уміють його генерувати.

Технічно YML — це звичайний XML з домовленим набором тегів. Як пише довідка Prom, YML заснований на стандарті XML. Тож будь-яка програма, що читає XML, прочитає і YML.

Як влаштований YML-фід

Короткий, але коректний приклад:

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2026-11-03 09:00">
  <shop>
    <name>Фарбовий куток</name>
    <url>https://farbkut.com.ua</url>
    <currencies>
      <currency id="UAH" rate="1"/>
    </currencies>
    <categories>
      <category id="10">Фарби</category>
      <category id="11" parentId="10">Фарби для дерева</category>
    </categories>
    <offers>
      <offer id="DX450" available="true">
        <name>Фарба для дерева DX-450, 2,5 л, горіх</name>
        <url>https://farbkut.com.ua/dx-450-gorih</url>
        <price>1299</price>
        <oldprice>1450</oldprice>
        <currencyId>UAH</currencyId>
        <categoryId>11</categoryId>
        <picture>https://farbkut.com.ua/img/dx450.jpg</picture>
        <vendor>Arbor</vendor>
        <vendorCode>DX-450-G</vendorCode>
        <description><![CDATA[Фарба на водній основі для дерева надворі.]]></description>
        <param name="Об'єм">2,5 л</param>
        <param name="Колір">Горіх</param>
        <param name="Призначення">Зовнішні роботи</param>
      </offer>
    </offers>
  </shop>
</yml_catalog>

Що тут головне:

Елемент Що містить Навіщо
<yml_catalog date="…"> Кореневий тег і час формування файлу Видно, наскільки фід свіжий
<shop> Назва, сайт, валюти Загальний контекст
<categories> Дерево категорій; parentId прив'язує підкатегорію до батьківської З нього відновлюється «Фарби > Фарби для дерева»
<offers> / <offer> Один <offer> на товар чи варіант Власне товари
атрибут id Унікальний незмінний код Так товар впізнають при наступному оновленні
атрибут available true або false Є в наявності чи ні
<price>, <oldprice>, <currencyId> Ціна, перекреслена ціна, валюта Те, про що питають найчастіше
<categoryId> До якої категорії належить товар Зв'язок із деревом категорій
<picture>, <url> Фото і сторінка товару Картка і посилання
<vendor>, <vendorCode> Бренд і артикул Питання про бренд, точний пошук
<param name="…"> Одна характеристика на тег: об'єм, колір, розмір, матеріал Відповіді на «а для вулиці підійде?»

У вимогах Rozetka є кілька правил, які варто дотримуватися для будь-кого, хто читатиме фід: кодування UTF-8, id лише з латиниці й цифр, який ніколи не змінюється, і екрановані спецсимволи на кшталт & та < у текстах. Двомовні магазини часто додають name_ua і description_ua поруч з основними полями.

Окремо про param. Покупці рідко питають просто назву. Вони питають «а є на 5 літрів?», «вона не боїться вологи?». Фід із заповненими характеристиками дозволяє на це відповісти. Фід, де є тільки назва й ціна, не дозволяє.

Які ще бувають формати

YML — не єдиний варіант. Той самий каталог можна описати як:

  • XML для Google Merchant. Файл RSS або Atom, де поля мають префікс g:: g:id, g:title, g:price, g:availability. Опис — у специфікації даних про товари Google. Якщо ви рекламуєтеся в Google Shopping, такий фід у вас уже є.
  • CSV або TSV. Таблиця: рядок на товар, колонка на поле.
  • JSON. Список товарів-об'єктів, частіше трапляється на самописних сайтах.

Vendigit приймає всі ці формати: XML (YML, Google Merchant RSS/Atom або інший XML із повторюваними записами товарів), CSV/TSV/TXT і JSON.

Як вивантажити YML-фід з вашої платформи

Меню в адмінках змінюються, тому до кожної платформи ми додали посилання на її офіційну довідку. Якщо у вас інтерфейс виглядає інакше, орієнтуйтеся на довідку.

Хорошоп

У Хорошоп є два шляхи. Фіди для маркетплейсів (Rozetka, Hotline, Google Shopping, Facebook) налаштовуються в розділі «Маркетинг → Маркетплейси»: вмикаєте потрібний фід, у картках товарів позначаєте «Завантажувати на маркетплейси», натискаєте «Згенерувати фід» і відкриваєте посилання кнопкою XML. Посилання розташоване на вашому домені. Обмеження за тарифами описані в довідці Хорошоп про товарні фіди.

Другий шлях — експорт для Prom: у розділі «Товари» відкрийте експорт і виберіть «XML (Prom, основна мова)», потім згенеруйте файл. У інструкції Хорошоп щодо фіду для Prom пояснено, як обрати характеристики для експорту в налаштуваннях категорій і як увімкнути автоматичну генерацію. Такий фід зручний тим, що містить характеристики. Повне підключення до Vendigit — у нашому гайді для Хорошоп.

Prom.ua

У кабінеті Prom в експорті товарів можна вибрати YML-файл і згенерувати на нього посилання. За довідкою Prom, експорт доступний на платних пакетах, а файл формується саме в момент звернення за посиланням, тож він завжди актуальний. Деталі — у статті Prom «Експорт товарів та груп товарів» і в нашому гайді для Prom.ua.

WooCommerce

Сам WooCommerce вивантажує товари в CSV: «Товари → Усі товари → Експорт» (в англійському інтерфейсі Products → All Products → Export → Generate CSV), як описано в офіційній документації. Це файл, а не посилання, що оновлюється. Для живого фіду магазини зазвичай ставлять плагін, який публікує YML або XML для Google Merchant на домені магазину. Докладніше — у гайді для WooCommerce.

OpenCart

У сучасних версіях OpenCart вбудованого YML-експорту немає. Фід дають модулі з OpenCart Marketplace: є вивантаження для українських маркетплейсів і генератори фідів для Google Merchant. Перевірте, чи модуль підтримує вашу версію OpenCart. Див. гайд для OpenCart.

Shopify і Magento

Ці платформи YML не використовують. Shopify експортує CSV через «Products → Export» (довідка Shopify), великі вивантаження надходять на пошту. Magento (Adobe Commerce) — через «System → Data Transfer → Export» з типом Products (документація Adobe). Для обох поширений фід для Google Merchant через застосунок чи модуль, і він теж підходить. Більше — у гайді для Shopify і Magento.

Що AI-консультант бере з фіду

Коли ви підключаєте фід до Vendigit, він стає для асистента єдиним джерелом правди про товари. Ось що з ним відбувається:

  1. Фід має бути на вашому домені. Спершу ви підтверджуєте домен одним DNS-записом, а посилання на фід має бути на цьому домені або його піддомені. Якщо посилання веде на інший сайт, завантажте файл (до 20 МБ).
  2. Поля зіставляються автоматично. AI-модель читає кілька товарів-прикладів і зіставляє ваші поля з полями Vendigit: код, назва, ціна, стара ціна, валюта, наявність, категорія, бренд, артикул, фото, посилання. Якщо модель недоступна, спрацьовує таблиця відомих назв полів українською, англійською та російською (назва, ціна, наявність, vendorCode, g:price…). Результат зіставлення видно в кабінеті.
  3. Категорії й характеристики відновлюються. Дерево <categories> стає каталогом, а кожен param — характеристикою, за якою асистент шукає й порівнює товари.
  4. Ціни беруться з фіду, а не з AI. Коли асистент радить товар, назву, ціну й посилання в картці товару Vendigit підставляє просто з фіду. Називати ціну чи наявність, яких модель не знайшла, їй заборонено інструкцією.
  5. Фід перечитується кожні 6 годин. Фіди за посиланням оновлюються автоматично. Завантажений файл — ні, його треба замінювати вручну.

Наскільки свіжими будуть дані насправді, залежить і від платформи. Про це — у статті як часто оновлювати товарний фід.

Коротка перевірка перед тим, як ділитися фідом

Відкрийте посилання на фід у браузері й перевірте:

  • У кожного товару є id і назва. Товари без них пропускаються.
  • id не змінюються. Якщо коди щоразу нові, будь-який сервіс щоразу бачить новий каталог.
  • Ціни записані просто числом: 1299 або 1299.00, без пробілів-роздільників тисяч і без «грн».
  • Наявність вказана для кожного товару.
  • Категорії зв'язані: кожен categoryId є в <categories>.
  • Характеристики заповнені в param для того, про що питають покупці.
  • Файл повний. Якщо в фіді раптом удвічі менше товарів, ніж зазвичай, це майже завжди збій вивантаження, а не розпродаж.

Найчастіші проблеми й способи їх виправити зібрані в статті помилки товарного фіду.

Часті запитання

YML і XML — це одне й те саме?

YML — це XML із фіксованим набором тегів для магазинів: shop, categories, offers, offer, price, param тощо. Кожен YML-файл є XML-файлом, але не кожен XML — це YML.

Чи потрібен саме YML, щоб підключити Vendigit?

Ні. Vendigit читає YML, XML для Google Merchant (RSS чи Atom), інший XML з повторюваними записами товарів, CSV/TSV і JSON. Беріть той формат, який ваша платформа вивантажує найповніше.

У мене фід українською і російською. Це проблема?

Ні. Vendigit визначає основну мову фіду і читає додаткові мовні версії назв, описів і характеристик, якщо вони є. Покупець отримує відповідь тією мовою, якою пише.

Можна завантажити файл замість посилання?

Так, до 20 МБ у форматах .xml, .yml, .csv, .txt або .json. Але файл не оновлюється сам, тож для каталогу, де часто змінюються ціни й наявність, краще посилання на вашому домені.

Якого розміру може бути фід?

Фід за посиланням — до 128 МБ (JSON — до 24 МБ). Скільки товарів потрапляє в пошук, залежить від тарифу: 10 000 на Starter, 15 000 на Growth, 50 000 на Business.