Статті ·

Чому 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 перестає парситися, і майданчик відхиляє фід цілком. У назві «Ключі & біти» амперсанд має бути записаний як &amp;.

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 — те саме вивантаження може пройти на одному майданчику й відвалитись на іншому.

Що передати розробнику

  1. Вивантажте CSV зі списком проблемних offer id.
  2. Додайте назву перевірки — вона вже є в таблиці.
  3. Цього достатньо: розробнику не треба пояснювати, що таке YML, він побачить конкретні позиції й поле.

Що перевірити перед кожним вивантаженням

  • усі ціни більші за нуль;
  • кожен categoryId має відповідник у <categories>;
  • валюти товарів оголошені в <currencies>;
  • у текстах немає голого &;
  • назви без HTML;
  • id унікальні.

Це п’ять хвилин перед вивантаженням проти двох днів листування після нього.