Feed do Google Merchant
Produktový feed z VirtueMartu — generovaný sám a tak, aby prošel
Ceny na haléř. Varianty správně. Bez ručního exportu.
Ruční export produktů do Google Merchant Center je práce, která se musí opakovat při každé změně cen nebo skladu. SemaFeed ji dělá za vás — a hlavně ji dělá tak, aby feed prošel: ceny se počítají přes nativní API VirtueMartu, varianty jdou do feedu jednotlivě a generování nespadne ani na sdíleném hostingu.
Proč to potřebujete
Google feed nepřijme jen tak. Nejčastější důvod zamítnutí položky je nesoulad ceny mezi feedem a košíkem — a ten vznikne pokaždé, když se cena skládá ze slev, daňových pravidel a zákaznických skupin, ale do feedu se opíše ručně.
Co musí feed splnit
- Cena ve feedu shodná s cenou, kterou návštěvník vidí v košíku
- Varianty jako samostatné položky spojené jedním
g:item_group_id - Kategorie e-shopu napárované na Google taxonomii
- Kompletní povinná pole u každé položky, bez duplicitních ID
- Feed na stálé adrese, aktuální po každé změně cen a skladu
Co stojí ruční export
- Tatáž práce znovu při každé změně cen nebo skladu
- Zamítnuté položky kvůli nesouladu ceny
- Feed useknutý v půlce, když generování narazí na časový limit
- Žádný přehled o tom, které produkty vypadly a proč
Co SemaFeed řeší
Nainstalujete jeden ZIP, založíte profil feedu a napárujete kategorie na Google taxonomii. Hotovo. Dál se feed generuje sám podle plánu, který si nastavíte.
Feed, který projde
- Ceny sedí na haléř — počítají se přes nativní API VirtueMartu, takže slevy, daňová pravidla i zákaznické skupiny odpovídají košíku
- Konečná cena, ne ta základní — do feedu jde cena, kterou zákazník opravdu zaplatí, i když si ji provozovatel nastavil ručně nad základní cenu
- Varianty správně — barvy a velikosti jdou do feedu jednotlivě a spojuje je
g:item_group_id, obrázky a kategorie se dědí od rodiče - Feed nikdy nespadne v půlce — generuje se do dočasného souboru a na produkční adresu se přesune až hotový
- Funguje na sdíleném hostingu — zpracování se dělí na dávky, takže nenaráží na časový limit ani na paměť (otestováno na Wedosu)
Mapování a pravidla
- Mapování kategorií — kategorie VirtueMartu na Google taxonomii, včetně dědění na podkategorie
- Import taxonomie — stažením i ručním nahráním souboru
- Mapování atributů — barva, velikost, materiál, věková skupina, vlastní štítky
- Výběr produktů — cenový rozsah, vyloučení kategorií, jen zboží skladem, produkty bez kategorie
- Cena za jednotku — objem či hmotnost balení z vlastního pole nebo z názvu, takže Google u nabídky ukáže „cena za litr“
Provoz a kontrola
- Více profilů vedle sebe — jiný sortiment, jiná měna, jiná pravidla
- Plánované generování — přes Joomla Task Scheduler, bez zásahu ručně
- Log každého běhu — u každého vynechaného produktu důvod, export do CSV
- Kontrola feedu — chybějící pole, duplicitní ID, špatný formát ceny
- Volitelná komprese gzip — a neuhádnutelná adresa feedu
Jak to funguje
Krok za krokem
Založíte profil feedu
Vyberete sortiment, měnu a pravidla. Profilů může běžet víc vedle sebe — pro každý trh nebo kampaň jiný.
Napárujete kategorie
Kategorie e-shopu přiřadíte ke Google taxonomii. Podkategorie mapování dědí, takže se každá nenastavuje zvlášť.
Feed se generuje sám
Podle plánu v Task Scheduleru, do dočasného souboru. Na veřejnou adresu se přesune, až je celý hotový.
Pro provozovatele e-shopu
- Víte, co vypadlo a proč — Protokol běhu má u každého vynechaného produktu důvod a jde exportovat do CSV.
- Kontrola před odesláním — Hotový feed se prověří na chybějící pole, duplicitní ID i špatný formát ceny.
- Výjimky bez zásahu do katalogu — U jednotlivého produktu přepíšete hodnotu, nebo ho z feedu vyřadíte.
- Sleva jen tam, kde ji smíte tvrdit — Přeškrtnutou původní cenu ve Shoppingu vypnete jedním přepínačem. Feed pak posílá jen cenu, kterou zákazník zaplatí — hodí se tam, kde je tvrzení o slevě regulované.
- Feed jen pro Google — Adresa je neuhádnutelná a výstup lze volitelně posílat gzipovaný.
Co vše lze nastavit
| Nastavení | Popis |
|---|---|
| Profily feedů | Více profilů vedle sebe — jiný sortiment, měna i pravidla |
| Mapování kategorií | VirtueMart → Google taxonomie, dědění na podkategorie |
| Google taxonomie | Import stažením nebo ručním nahráním souboru |
| Mapování atributů | Barva, velikost, materiál, věková skupina, vlastní štítky |
| Výběr produktů | Cenový rozsah, vyloučení kategorií, jen skladem, bez kategorie |
| Výjimky u produktu | Přepsání hodnoty nebo vyřazení z feedu |
| Cena za jednotku | Objem či hmotnost balení z vlastního pole nebo z názvu |
| Akční cena | Přeškrtnutou původní cenu ve Shoppingu lze vypnout |
| Plánování | Generování přes Joomla Task Scheduler |
| Výstup | Volitelná komprese gzip, neuhádnutelná adresa feedu |
| Kontrola | Chybějící pole, duplicitní ID, špatný formát ceny |
Technické údaje
| Vlastnost | Hodnota |
|---|---|
| Joomla | 4.4, 5.x |
| VirtueMart | 4.2 a novější |
| PHP | 8.1 – 8.4 |
| Databáze | MySQL 8 / MariaDB 10.6+ |
| Formát feedu | RSS 2.0 + jmenný prostor Google |
| Lokalizace | čeština, angličtina |
| Licence | GNU GPL v2 nebo novější |
Časté dotazy
Potřebuji účet v Google Merchant Center?
Ano. SemaFeed vyrobí a zveřejní feed, načtení feedu si pak v Merchant Center nastavíte na jeho adresu.
Proč se ceny počítají přes API VirtueMartu?
Protože jinak nesedí. Cena se skládá ze slev, daňových pravidel a zákaznických skupin — přes nativní API vyjde stejná jako v košíku, a právě nesoulad ceny je nejčastější důvod zamítnutí položky.
Zvládne to sdílený hosting?
Ano. Zpracování se dělí na dávky, takže nenaráží na časový limit ani na paměť. Otestováno na Wedosu.
Co se stane, když generování selže v půlce?
Nic. Feed se staví do dočasného souboru a na produkční adresu se přesune až hotový — do té doby je online předchozí platná verze.
Jak se do feedu dostanou varianty?
Barvy a velikosti jdou do feedu jako samostatné položky a spojuje je g:item_group_id. Obrázky a kategorie se dědí od rodiče.
Můžu mít víc feedů najednou?
Ano. Profilů může běžet víc vedle sebe — každý s jiným sortimentem, měnou i pravidly.
Jak zjistím, proč se produkt do feedu nedostal?
Z protokolu běhu. U každého vynechaného produktu je uvedený důvod a celý log jde exportovat do CSV.
Jde jeden konkrétní produkt z feedu vyřadit?
Ano, přes výjimky u jednotlivých produktů. Stejným způsobem lze i přepsat jednu hodnotu, aniž byste sahali do katalogu.
Co je cena za jednotku a k čemu je?
Objem nebo hmotnost balení, kterou SemaFeed vezme z vlastního pole nebo z názvu produktu. Google pak u nabídky ukáže i „cena za litr“. Před odesláním uvidíte náhled, u kolika produktů se to podařilo určit.
Je adresa feedu veřejná?
Feed musí být dostupný, aby si ho Google stáhl, ale jeho adresa je neuhádnutelná. Výstup lze navíc volitelně posílat komprimovaný gzipem.
Musí feed ukazovat přeškrtnutou původní cenu?
Nemusí. Volba Posílat akční cenu je ve výchozím stavu zapnutá — produkt, jehož konečná cena je nižší než základní, jde do feedu jako g:price a g:sale_price, takže Shopping ukáže původní cenu přeškrtnutou. Vypnete ji tam, kde je tvrzení o slevě regulované; feed pak pošle jen cenu, kterou zákazník zaplatí.
Jak to vypadá v praxi