Feed produktowy: co to jest, przykład XML i typowe błędy

Feed produktowy to plik z listą produktów sklepu dla Google, Ceneo i wyszukiwarki. Zobacz przykład XML, wymagane pola, typowe błędy i sposób kontroli.

Zespół Searchkeen10 min czytania
Kobieta fotografuje buty do sklepu internetowego, obok laptop z katalogiem produktów

W skrócie

  • Feed produktowy to plik z listą produktów sklepu, najczęściej XML, dostępny pod stałym adresem i odświeżany automatycznie.
  • Google i Ceneo używają XML o innej budowie, dlatego sklep udostępnia zwykle osobny adres feedu dla każdego odbiorcy.
  • Najczęstsze błędy to brak kodu GTIN, cena inna niż na stronie, zły status dostępności, warianty bez item_group_id i tytuły bez modelu.
  • Ten sam feed zasila wyszukiwarkę w sklepie: Searchkeen buduje z niego wyniki, kategorie oraz filtry.
Spis treści
  1. Do czego służy feed produktowy?
  2. W jakim formacie zapisuje się feed: XML czy CSV?
  3. Jak wygląda feed XML w formacie Google?
  4. Czym różni się plik XML dla Ceneo?
  5. Skąd wziąć feed w PrestaShop, WooCommerce, Shoper i IdoSell?
  6. Jakie błędy w feedzie zdarzają się najczęściej?
  7. Jak sprawdzić, czy feed jest poprawny?
  8. Jeden feed, trzy zastosowania
  9. Jak z gotowego feedu uruchomić wyszukiwarkę w sklepie?

Feed produktowy to plik z listą wszystkich produktów sklepu, zapisany w ustalonym formacie (najczęściej XML), który sklep udostępnia pod stałym adresem i automatycznie odświeża. Każdy produkt ma w nim te same pola: identyfikator, nazwę, opis, link, zdjęcie, cenę i dostępność. Z feedu korzystają Google Merchant Center, Ceneo i inne porównywarki cen, a także wyszukiwarka w sklepie.

Do czego służy feed produktowy?

Feed przekazuje aktualną ofertę sklepu do systemów zewnętrznych bez ręcznego przepisywania. Sklep generuje plik, a każdy odbiorca pobiera go o ustalonych porach i sam aktualizuje u siebie ceny oraz dostępność.

  • Google Merchant Center. Na podstawie feedu Google wyświetla reklamy produktowe i bezpłatne informacje o produktach.
  • Ceneo i inne porównywarki cen. Porównywarka pobiera plik XML i zestawia Twoją ofertę z ofertami innych sklepów.
  • Katalogi reklam w mediach społecznościowych. Ten sam plik zasila reklamy, które pokazują konkretne produkty.
  • Wyszukiwarka w sklepie. Wyszukiwarka buduje z feedu własny spis produktów: nazwy, ceny, zdjęcia, kategorie i cechy, z których powstają filtry. Sklep, który ma feed dla Google, ma więc gotowe dane do lepszego wyszukiwania.

Wspólna zasada jest prosta: odbiorca pokazuje dokładnie to, co jest w pliku. Błąd w feedzie staje się błędem w reklamie, w porównywarce i w wynikach wyszukiwania jednocześnie.

W jakim formacie zapisuje się feed: XML czy CSV?

Najczęściej w XML, rzadziej w pliku tekstowym z kolumnami, takim jak CSV albo TSV. XML dobrze znosi duże katalogi, warianty i długie opisy, dlatego platformy sklepowe generują go automatycznie.

Plik tekstowy to tabela: jeden wiersz na produkt, kolumny rozdzielone przecinkiem, średnikiem albo tabulatorem. Otworzysz go w arkuszu kalkulacyjnym i poprawisz ręcznie, ale przecinek w opisie albo cudzysłów w nazwie potrafi rozsypać kolumny. XML otacza każdą wartość znacznikami, więc takie znaki mu nie szkodzą.

Google Merchant Center przyjmuje pliki XML oraz pliki tekstowe rozdzielane tabulatorami, o rozmiarze do 4 GB. Pliki tekstowe zaleca przy małych i średnich asortymentach, a XML przy dużych katalogach i systemach automatycznych. Opisuje to pomoc Merchant Center o formatach plików.

Sam format to nie wszystko. Google i Ceneo używają XML, ale o innej budowie: mają inne nazwy pól i inaczej zapisują dostępność. Dlatego sklep udostępnia zwykle osobny adres feedu dla każdego odbiorcy.

Jak wygląda feed XML w formacie Google?

Feed XML dla Google to najczęściej plik RSS 2.0, w którym każdy produkt jest osobnym elementem, a pola produktu mają przedrostek g:. Poniżej kompletny plik z jednym produktem. Sklep, marka i model są zmyślone na potrzeby przykładu.

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
  <channel>
    <title>Przykładowy sklep ogrodowy</title>
    <link>https://www.example.com</link>
    <description>Feed produktowy sklepu</description>
    <item>
      <g:id>S5-COMPACT</g:id>
      <g:title>Strumień S5 Compact myjka ciśnieniowa 145 bar, wąż 8 m</g:title>
      <g:description>Myjka ciśnieniowa do domu i ogrodu. Ciśnienie 145 bar, wąż 8 m, lanca z regulacją strumienia i pianownica w zestawie.</g:description>
      <g:link>https://www.example.com/myjka-cisnieniowa-strumien-s5-compact</g:link>
      <g:image_link>https://www.example.com/img/strumien-s5-compact.jpg</g:image_link>
      <g:price>749.00 PLN</g:price>
      <g:availability>in_stock</g:availability>
      <g:brand>Strumień</g:brand>
      <g:gtin>5901234123457</g:gtin>
    </item>
  </channel>
</rss>

Nazwy pól i zasady pochodzą ze specyfikacji danych produktów Google. Najważniejsze z nich zebraliśmy w tabeli.

Pole Co zawiera Zasada ze specyfikacji Google
id Twój identyfikator produktu Unikalny, do 50 znaków; najlepiej kod SKU
title Nazwa produktu Do 150 znaków; kupujący widzi zwykle pierwsze 70
description Opis produktu Do 5000 znaków, sam opis, bez linków i haseł promocyjnych
link Adres karty produktu W zweryfikowanej domenie sklepu
image_link Adres głównego zdjęcia Plik dostępny dla robota Google
price Cena z walutą Kropka jako separator i kod waluty, np. 749.00 PLN
availability Dostępność Jedna z wartości: in_stock, out_of_stock, preorder, backorder
brand Marka Wymagana dla nowych produktów, poza książkami, filmami i muzyką
gtin Kod kreskowy z opakowania Podajesz go, gdy producent nadał kod; w Europie to 13 cyfr kodu EAN

Przedrostek g: nie jest ozdobą. Według opisu formatu RSS 2.0 w pomocy Merchant Center atrybuty bez niego zostaną zignorowane.

Czym różni się plik XML dla Ceneo?

Plik dla Ceneo ma własną budowę: element główny offers, a w nim każda oferta jako element o. Cena, link i czas wysyłki są atrybutami tego elementu, a kategoria, nazwa, zdjęcia, opis i cechy mają osobne znaczniki.

<?xml version="1.0" encoding="utf-8"?>
<offers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1">
  <o id="S5-COMPACT" url="https://www.example.com/myjka-cisnieniowa-strumien-s5-compact" price="749.00" avail="1" stock="12">
    <cat><![CDATA[Dom i ogród/Ogród/Myjki ciśnieniowe]]></cat>
    <name><![CDATA[Strumień S5 Compact myjka ciśnieniowa]]></name>
    <imgs>
      <main url="https://www.example.com/img/strumien-s5-compact.jpg"/>
    </imgs>
    <desc><![CDATA[Myjka ciśnieniowa do domu i ogrodu, 145 bar, wąż 8 m.]]></desc>
    <attrs>
      <a name="Marka"><![CDATA[Strumień]]></a>
      <a name="Kod producenta"><![CDATA[S5-COMPACT]]></a>
      <a name="EAN"><![CDATA[5901234123457]]></a>
    </attrs>
  </o>
</offers>

Według instrukcji tworzenia pliku XML Ceneo atrybut avail oznacza czas wysyłki: 1 to wysyłka w ciągu 24 godzin, 3 do trzech dni, 7 w ciągu tygodnia, 14 do dwóch tygodni, a 99 daje status „sprawdź w sklepie”. Wśród cech Ceneo oczekuje marki, kodu producenta i kodu EAN, a także pola „Wyprodukowane przez”. Zalecane kodowanie to UTF-8.

Instrukcja stawia też dwa warunki ogólne. Dane w pliku muszą odpowiadać temu, co klient widzi na stronie sklepu, a sam plik ma być dostępny bez ograniczeń, czyli bez hasła.

Skąd wziąć feed w PrestaShop, WooCommerce, Shoper i IdoSell?

Feed generuje platforma sklepu albo jej dodatek, nie piszesz go ręcznie. W Shoper i IdoSell funkcja jest w panelu, a w PrestaShop i WooCommerce odpowiada za nią moduł albo wtyczka.

  • Shoper. W panelu wejdź w Rozwój sprzedaży, potem w Porównywarki cen. Przy wybranym serwisie (są tam między innymi Ceneo i Google) przesuń suwak w kolumnie Aktywność i skopiuj link z kolumny Adres wtyczki XML. Pomoc Shopera podaje, że do pliku trafiają produkty aktywne, z określonym czasem realizacji i oznaczone jako widoczne w danej porównywarce.
  • IdoSell. Feed dla Google jest w dziale Marketing, w sekcji Produkty i reklamy w Google. Według pomocy IdoSell towar musi być widoczny w sklepie i mieć włączoną opcję „udostępniaj poza sklepem”, a plik jest gotowy dzień po dodaniu feedu. Feedy dla Ceneo znajdziesz w sekcji Porównywarki cen i katalogi.
  • WooCommerce. Za feed odpowiada wtyczka. Rozszerzenie Google for WooCommerce według dokumentacji samo synchronizuje dane produktów z Merchant Center i pomija produkty bez tytułu, opisu, identyfikatora, linku albo zdjęcia. Gdy potrzebujesz pliku XML pod stałym adresem, na przykład dla Ceneo albo wyszukiwarki, wybierz wtyczkę, która tworzy feed w formacie odbiorcy.
  • PrestaShop. Feed tworzy moduł: osobny dla Google, osobny dla Ceneo albo jeden uniwersalny eksport XML. Przy wyborze sprawdź trzy rzeczy: zgodność z Twoją wersją PrestaShop, obsługę kombinacji (czyli wariantów) i automatyczne odświeżanie pliku według harmonogramu.

Po włączeniu zapisz adres feedu w bezpiecznym miejscu. To ten adres wklejasz potem w Merchant Center, w panelu Ceneo i w wyszukiwarce.

Jakie błędy w feedzie zdarzają się najczęściej?

Najczęstsze błędy to brak kodu GTIN, cena niezgodna ze stroną, zły status dostępności, warianty bez wspólnego identyfikatora grupy i tytuły bez marki oraz modelu. Każdy z nich obniża widoczność oferty albo kończy się jej odrzuceniem.

Błąd Skutek Naprawa
Brak GTIN (kodu EAN) Google uprzedza o ograniczonej widoczności; produkt, który ma nadany kod, a jest wysłany bez niego, może zostać odrzucony Przepisz EAN z opakowania do karty produktu. Nie zgaduj kodu; gdy produkt go nie ma, podaj markę i kod producenta w polu mpn
Cena bez waluty albo inna niż na stronie Google wymaga, żeby cena i waluta zgadzały się ze stroną docelową i z koszykiem Zapis 749.00 PLN, cena z VAT, feed odświeżany po każdej zmianie cennika
Zły status dostępności Klient klika produkt oznaczony jako dostępny, a na stronie widzi brak; dostępność w pliku ma być taka sama jak na stronie Tylko wartości ze specyfikacji i odświeżanie pliku po zmianie stanów
Warianty bez item_group_id Rozmiary i kolory wyglądają jak niepowiązane produkty; błędne użycie pola kończy się odrzuceniem produktu Ta sama wartość dla wszystkich wariantów jednego produktu, inna dla każdego kolejnego; produkt bez wariantów nie dostaje tego pola
Tytuł bez marki i modelu Kupujący widzi zwykle pierwsze 70 znaków tytułu i nie rozpoznaje produktu, którego szuka Marka, model i typ produktu na początku, potem cecha odróżniająca wariant, np. kolor albo pojemność

Te same błędy psują wyszukiwanie w sklepie. Gdy w danych brakuje kodu EAN i symbolu modelu, klient, który wpisuje numer z opakowania, trafia na pustą stronę. Searchkeen rozumie numery modeli zapisane na różne sposoby, ale każda wyszukiwarka znajdzie tylko to, co jest w danych. Inne przyczyny pustych wyników rozkładamy w tekście o braku wyników wyszukiwania w sklepie.

Jak sprawdzić, czy feed jest poprawny?

Otwórz adres feedu w przeglądarce, porównaj kilka produktów ze stroną sklepu i przeczytaj raport błędów u odbiorcy. Taka kontrola wyłapuje problemy, zanim zobaczą je klienci.

  1. Otwórz adres feedu w przeglądarce. Plik ma się wczytać bez logowania i bez komunikatu o błędzie składni.
  2. Policz produkty. Liczba elementów item w pliku Google albo o w pliku Ceneo powinna zgadzać się z liczbą aktywnych produktów w sklepie. Duża różnica oznacza, że część oferty nie spełnia warunków eksportu.
  3. Porównaj pięć produktów ze stroną. Sprawdź cenę, dostępność, link i zdjęcie. Weź przynajmniej jeden produkt z wariantami i jeden w promocji.
  4. Obejrzyj polskie znaki. Jeśli „ż”, „ł” albo „ś” w nazwach zamieniają się w krzaczki, ustaw kodowanie UTF-8.
  5. Przeczytaj raport odbiorcy. Merchant Center pokazuje odrzucone produkty i ostrzeżenia razem z nazwą pola do poprawy.
  6. Zmień cenę jednego produktu. Po najbliższym odświeżeniu pliku nowa cena powinna być w feedzie. Jeśli jej nie ma, harmonogram nie działa.

Jeden feed, trzy zastosowania

Dobrze przygotowany feed pracuje w trzech miejscach naraz: w reklamach Google, w porównywarce cen i w wyszukiwarce sklepu. Dane poprawiasz raz, w karcie produktu, a zmiana trafia wszędzie przy najbliższym odświeżeniu pliku.

  • Google. Pełne tytuły, kody EAN i zgodne ceny decydują o tym, czy produkt w ogóle zostanie pokazany.
  • Ceneo. Kod EAN, marka i kod producenta pozwalają przypisać ofertę do właściwego produktu w porównywarce.
  • Wyszukiwarka w sklepie. Z tych samych pól powstają wyniki, filtry i podpowiedzi. Marka w osobnym polu daje filtr po marce, a symbol modelu w tytule pozwala znaleźć produkt po numerze.

Co wyszukiwarka robi z tymi danymi, wyjaśniamy w tekście jak działa wyszukiwarka w sklepie internetowym, a kolejne usprawnienia znajdziesz w przewodniku jak zoptymalizować wyszukiwarkę w sklepie.

Jak z gotowego feedu uruchomić wyszukiwarkę w sklepie?

Jeśli masz feed dla Google albo Ceneo, najtrudniejszą część wdrożenia wyszukiwarki masz za sobą: dane produktów są zebrane w jednym pliku i same się odświeżają. Wyszukiwarka pobiera ten plik tak samo jak porównywarka, a sklepu nie trzeba przebudowywać.

Co wyszukiwarka bierze z feedu:

  • Nazwę, markę i model. Z nich powstają wyniki, także dla klienta, który wpisuje sam symbol produktu.
  • Kategorię i cechy. Z nich powstają kategorie i filtry obok wyników.
  • Cenę i zdjęcie. Klient widzi je od razu na liście i może sortować wyniki.

Searchkeen czyta ten sam feed XML, który sklep przygotował dla Google albo Ceneo, i buduje z niego wyniki, kategorie oraz filtry. W PrestaShop i WooCommerce może też pobierać dane przez API sklepu, zawsze tylko do odczytu. Po stronie sklepu wklejasz jeden skrypt, a klient dostaje nakładkę z wyszukiwarką, która rozumie polską odmianę słów, literówki i brak polskich znaków. Podłączenie krok po kroku pokazujemy na stronie jak działa Searchkeen, a szczegóły dla platform na stronach wyszukiwarki dla PrestaShop i wyszukiwarki dla WooCommerce.

Najczęstsze pytania

Czy feed produktowy i plik produktowy to to samo?

Tak. Feed produktowy, plik produktowy, plik XML z ofertą i data feed oznaczają to samo: plik z listą produktów sklepu w ustalonym formacie. Google Merchant Center nazywa go źródłem danych o produktach, a platformy sklepowe często adresem pliku XML dla porównywarki. Różni się tylko budowa pliku wymagana przez odbiorcę.

Jak często feed produktowy powinien się aktualizować?

Tak często, jak zmieniają się ceny i stany magazynowe, bo odbiorca pokazuje to, co jest w pliku. Platformy robią to automatycznie: Shoper podaje, że adresy plików aktualizują się w ciągu godziny od ostatniej zmiany produktów. Jeśli feed tworzy moduł, sprawdź, czy odświeżanie działa w harmonogramie, a nie tylko po kliknięciu.

Co zrobić, gdy produkt nie ma kodu EAN?

Nie wymyślaj kodu i nie wpisuj zer. Google zaleca, żeby dla produktów bez numeru GTIN nie przesyłać pola gtin wcale, a zamiast niego podać markę i kod producenta w polu mpn. Dotyczy to na przykład wyrobów własnej marki sklepu albo produktów robionych na zamówienie.

Czy feed produktowy zawiera dane klientów sklepu?

Nie. W feedzie są wyłącznie dane oferty, które i tak widać na stronie sklepu: nazwy, opisy, ceny, zdjęcia, dostępność i kody produktów. Nie ma w nim zamówień ani danych kupujących. Część platform dodatkowo chroni adres pliku losowym tokenem, który możesz wygenerować od nowa, żeby odciąć dostęp.

Źródła

O autorze

Zespół Searchkeen

Budujemy wyszukiwarkę produktów dla polskich sklepów internetowych. Na blogu opisujemy to, czym zajmujemy się na co dzień: jak klienci szukają produktów, dlaczego ich nie znajdują i co zrobić, żeby znajdowali.

Więcej o nas

Darmowe demo

Jeden feed, lepsze wyszukiwanie

Searchkeen czyta ten sam feed produktowy, który masz już dla Google lub Ceneo.

  • Na Twoich produktach
  • Bez zobowiązań
  • Bez zmian w sklepie