Статті ·
Чому Prom не приймає фід: сім причин і як їх знайти за хвилину
Розбір причин, через які Prom, Rozetka й Хорошоп відхиляють товари під час імпорту YML-фіду, і як знайти конкретні offer id без розробника.
Найгірше в імпорті фіду — не сама помилка, а те, як про неї повідомляють. Майданчик пише «завантажено 1 842 з 2 100 товарів» і не каже, які саме 258 не пройшли. Далі починається листування з розробником магазину, який теж не знає, бо у нього фід «віддається нормально».
Причин, через які товар відвалюється, насправді небагато. Ось вони в порядку від найчастішої, з поясненням, чому саме так.
1. Ціна нульова або відсутня
Класика для товарів «під замовлення» і «ціна за запитом». У магазині це може виглядати нормально, але у фіді <price>0</price> означає для майданчика некоректну позицію, і він її просто не бере.
Рішення не технічне, а комерційне: або виставити ціну, або прибрати такі товари з вивантаження. Тримати їх у фіді нема сенсу — вони все одно не імпортуються.
2. Категорія, якої немає в списку категорій
У товара стоїть categoryId, якого немає в блоці <categories>. Зазвичай так стається після чистки каталогу: категорію видалили, а товари на неї ще посилаються.
<categories>
<category id="1">Інструменти</category>
</categories>
<offers>
<offer id="103">
<categoryId>99</categoryId> <!-- категорії 99 не існує -->Такі товари не потрапляють у каталог, навіть якщо решта полів заповнена бездоганно.
3. Валюта поза блоком currencies
У товара <currencyId>USD</currencyId>, а в <currencies> оголошена лише гривня. Трапляється, коли частину каталогу завантажили від постачальника, що працює в доларах.
4. Символ & без екранування
Ця помилка ламає не окремий товар, а весь файл: XML перестає парситися, і майданчик відхиляє фід цілком. У назві «Ключі & біти» амперсанд має бути записаний як &.
5. Немає зображення
Prom і Rozetka товар без картинки приймуть, але покажуть його гірше. Google Merchant Center відхилить. Якщо ви вивантажуєте фід ще й у Merchant, це критично.
6. HTML-теги в назві
Назва Лійка <b>садова</b> у картці показується як текст із символами тегів. Виглядає це так, ніби магазин зламався.
Окремо підступний випадок: деякі парсери на такій назві повертають порожній рядок або службовий текст, і товар імпортується з назвою на кшталт [object Object].
7. Дублі id і дублі товарів
Однакові id у двох товарів — імпорт залишить лише один. Складніший випадок: id різні, але це один і той самий товар, просто від двох постачальників. Такі картки ділять між собою покази, відгуки й посилання, і жодна не набирає достатньо сигналів, щоб вийти в топ.
Як знайти конкретні товари
Усе вище перевіряється автоматично. Валідатор YML-фіду приймає посилання на фід або сам XML і повертає список offer id з поясненням, що саме не так із кожним.
Обов’язкові поля відрізняються по майданчиках, тому в інструменті окремі пресети для Prom, Rozetka, Хорошопу й Merchant Center. Наприклад, артикул vendorCode критичний для Rozetka і необов’язковий для Prom — те саме вивантаження може пройти на одному майданчику й відвалитись на іншому.
Що передати розробнику
- Вивантажте CSV зі списком проблемних offer id.
- Додайте назву перевірки — вона вже є в таблиці.
- Цього достатньо: розробнику не треба пояснювати, що таке YML, він побачить конкретні позиції й поле.
Що перевірити перед кожним вивантаженням
- усі ціни більші за нуль;
- кожен
categoryIdмає відповідник у<categories>; - валюти товарів оголошені в
<currencies>; - у текстах немає голого
&; - назви без HTML;
- id унікальні.
Це п’ять хвилин перед вивантаженням проти двох днів листування після нього.