U variant nejde o jednu značku v kódu, ale o to, aby stránka, strukturovaná data a feed popisovaly tutéž variantu stejně. Tričko ve třech barvách a čtyřech velikostech je pro zákazníka jeden produkt s výběrem. Merchant Center z něj chce dvanáct samostatných produktů se společnou skupinou, Heureka dvanáct položek ve feedu a Google ve strukturovaných datech jednu skupinu s dvanácti variantami.
Návod ukazuje, jak tyto pohledy sladit: co musí mít každá varianta, kdy stačí parametr v adrese, kdy dává smysl vlastní stránka a jak skupinu zapsat do kódu i do feedů. Praktická část se týká Shoptetu a našeho vlastního e-shopu na Upgates. Co píšu o platformách, je z jejich dokumentace k 3. 10. 2026 nebo z vlastního měření ve veřejném HTML; do administrací jsem se nepřihlašoval.
Co u varianty potřebuje stroj — tři údaje a jedna shoda
Dokumentace Googlu, Merchant Center, Heureky i Zboží.cz se v detailech liší, ale u variant stojí na stejném základu:
Co musí mít každá varianta
- Vlastní identifikátor Kód, který patří jen té variantě: sku nebo gtin ve strukturovaných datech, id v Merchant Center, ITEM_ID na Heurece. Google jedinečný identifikátor u každé varianty vyžaduje.
- Vlastní adresu Google chce, aby se každá varianta dala předvolit vlastní adresou — se správným obrázkem, cenou a dostupností a s možností vložit ji do košíku. Heureka i Zboží.cz chtějí unikátní adresu pro každou variantu.
- Vazbu na skupinu Společný kód celé skupiny: productGroupID ve strukturovaných datech, item_group_id v Merchant Center, ITEMGROUP_ID na českých srovnávačích.
- Shodu všech míst Merchant Center vyžaduje, aby stránka odpovídala hodnotám varianty ve feedu — názvu, barvě, ceně, dostupnosti i obrázku.
Proč to souvisí s AI? U atributu variant_option píše Google v nápovědě Merchant Center, že ho použije, aby produkt ukázal spolu se všemi dostupnými variantami v konverzační AI i v klasickém Vyhledávání. Atribut patří do sady takzvaných konverzačních atributů, které Google 20. 5. 2026 zpřístupnil obchodníkům po celém světě a které mají podle nápovědy pomáhat v rozhraních s AI, jako je režim AI. Jak přesně je tam používá, Google nepopisuje — doložený je účel, ne efekt.
Kde tahle shoda chybí, je vidět i bez přístupu do administrace. Na šesti produktových stránkách na Shoptetu, které jsem 3. 10. 2026 přeměřil, nesla každá nabídka vlastní kód, ale všechny mířily na stejnou adresu. Na jedné z nich byly pod tou jednou adresou varianty skladem i vyprodané.
Jedna stránka, nebo stránka pro každou variantu
Google popisuje dva přístupy a žádný neoznačuje za lepší. V obou ale musí jít každá varianta otevřít vlastní adresou, která ji předvolí — rozdíl je jen v tom, jestli je to parametr na jedné stránce, nebo samostatná stránka.
| Aspekt | Jedna stránka, varianta parametrem | Samostatné stránky |
|---|---|---|
| Adresa varianty | /mikina?barva=zelena&velikost=m | /mikina-zelena?velikost=m nebo /mikina-zelena-m |
| Kanonická adresa | Jediná pro celou skupinu, bez parametru: /mikina | Každá stránka vlastní; skupina jednu kanonickou adresu nemá |
| Strukturovaná data | ProductGroup s adresou skupiny a se všemi variantami | ProductGroup znovu na každé stránce: varianty té stránky celé, ostatní jen odkazem |
| Kdy se hodí (naše doporučení) | Varianty se liší jen parametrem — velikostí, objemem, balením | Varianty mají vlastní fotky, popis a vzhled |
Poslední řádek tabulky není pokyn Googlu, ale naše doporučení. Samostatná stránka pro velikost M by byla kopie stránky pro velikost L s jiným písmenem. Zelená mikina má naproti tomu vlastní fotky a dá se popsat jinak než červená, takže samostatná stránka má co nést.
Co nefunguje: varianta za znakem
Google část adresy za znakem # při indexaci nepoužívá. V dokumentaci ke struktuře adres to ukazuje přímo na variantách: /product/t-shirt#black a /product/t-shirt#white jsou pro něj tatáž stránka. Heureka přitom ve specifikaci feedu u variant zobrazených na jedné stránce píše, že „jediným řešením“ jsou právě fragmenty typu #1 a #2 — počítá tedy se stránkou, která variantu adresou předvolit neumí. Feed pro Heureku tak může být v pořádku, zatímco Google varianty od sebe nerozliší. Parametr (?barva=cerna) dává unikátní adresu, kterou Heureka vyžaduje, a zároveň ji rozliší Google.
Pozor na robots.txt
Dva dokumenty Googlu se tu při doslovném použití srazí. Ukázka pro filtry v kategoriích zakazuje procházení adres s parametry color a size (disallow: /*?*color=). Ukázkové adresy variant v dokumentaci k variantám ale používají tytéž parametry: /coat?size=small&color=green. A u variant Google chce adresy, které může procházet a podle kterých varianty rozpozná. Kdo převezme pravidlo pro filtry doslova a varianty předvoluje stejným parametrem, zablokuje i je.
Řešení je oddělit parametr variant od parametrů filtrů, nebo pravidlo v robots.txt omezit jen na cesty výpisů. Jak s filtry zacházet obecně, rozebírá článek o filtrech v e-shopu.
ProductGroup: jak skupinu zapsat do strukturovaných dat
Podporu variant ve strukturovaných datech zavedl Google v únoru 2024. Skupinu popisuje typ ProductGroup, varianty jsou běžné produkty (Product) uvnitř ní. Kromě toho platí všechny povinné vlastnosti produktu a nabídky jako u jakékoli jiné produktové stránky.
nameskupiny je jediná vlastnost, kterou Google u samotnéhoProductGroupvede jako povinnou. Pro variantní výsledky ale nestačí: každá varianta musí splnit povinné vlastnosti produktu a nabídky, mít jedinečný identifikátor a adresu, která ji předvolí. Název varianty má být konkrétnější než název skupiny: „Mikina Basic, zelená, M“.productGroupIDje kód skupiny, typicky rodičovský kód. Když ho uvedete i u variant (inProductGroupWithID), musí se shodovat.variesByříká, podle čeho se varianty liší. Google podporuje barvu, velikost, doporučený věk, doporučené pohlaví, materiál a vzor; zapisují se celou adresou, napříkladhttps://schema.org/color.hasVariantobsahuje jednotlivé varianty. Každá máskunebogtin, vlastní název a nabídku s cenou, dostupností a adresou, která ji předvolí.urlskupiny patří jen k přístupu „jedna stránka“. U samostatných stránek ji podle Googlu neuvádějte.
Takhle vypadá skupina se dvěma variantami na jedné stránce — jedna skladem, druhá vyprodaná:
{
"@context": "https://schema.org",
"@type": "ProductGroup",
"name": "Mikina s kapucí Basic",
"description": "Bavlněná mikina s kapucí a klokaní kapsou.",
"url": "https://www.example.cz/mikina-basic",
"brand": { "@type": "Brand", "name": "Example" },
"productGroupID": "MB-100",
"variesBy": ["https://schema.org/size", "https://schema.org/color"],
"hasVariant": [
{
"@type": "Product",
"sku": "MB-100-ZEL-M",
"name": "Mikina s kapucí Basic, zelená, M",
"color": "zelená",
"size": "M",
"image": "https://www.example.cz/img/mikina-basic-zelena.jpg",
"offers": {
"@type": "Offer",
"url": "https://www.example.cz/mikina-basic?barva=zelena&velikost=m",
"price": 1290,
"priceCurrency": "CZK",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "Product",
"sku": "MB-100-ZEL-L",
"name": "Mikina s kapucí Basic, zelená, L",
"color": "zelená",
"size": "L",
"image": "https://www.example.cz/img/mikina-basic-zelena.jpg",
"offers": {
"@type": "Offer",
"url": "https://www.example.cz/mikina-basic?barva=zelena&velikost=l",
"price": 1290,
"priceCurrency": "CZK",
"availability": "https://schema.org/OutOfStock"
}
}
]
}
Společné údaje, jako je značka nebo materiál, stačí uvést jednou u skupiny. Data patří přímo do HTML, které posílá server: u produktových dat generovaných JavaScriptem Google upozorňuje, že nákupní procházení pak může být méně časté a méně spolehlivé, což u rychle se měnící ceny a dostupnosti vadí. K ověření kódu Google doporučuje Test rozšířených výsledků (Rich Results Test). Podle oznámení z února 2024 do něj kontroly variant přidal spolu s produktovými reporty v Search Console.
Shoptet a Upgates v praxi — přeměřeno 3. 10. 2026
Shoptet ve vzorku: adresa varianty fungovala, skupina v datech chyběla
Podle nápovědy se varianty na Shoptetu zakládají pomocí šablon variant — nejvýš tři parametry na šablonu a nejvýš 512 variant na produkt. Každá varianta má vlastní cenu, kód, stav skladu a dostupnost, obrázek jde přiřadit jen tehdy, když ho dostanou všechny varianty produktu.
Ve strukturovaných datech je to jinak. V srpnovém měření 38 e-shopů na Shoptetu se ProductGroup ani vazby variant neobjevily ani jednou; produktová data byla v microdatech u všech 38, v JSON-LD navíc jen u šesti. Šest stránek z toho vzorku mělo víc nabídek pod jedním produktem a ty jsem 3. 10. 2026 přeměřil:
- u všech šesti měla každá nabídka vlastní kód, ale všechny nabídky odkazovaly na stejnou adresu produktu bez parametru,
- na jedné byly pod touto adresou nabídky skladem i vyprodané — stroj dostane dva stavy bez adresy, která by je přiřadila ke konkrétní variantě,
- předvolba adresou existuje. Shoptet ve výpisech odkazuje na varianty adresou s parametrem
?parameterValueId=. Na dvou zkoušených stránkách (varianty s jedním parametrem) vrátil server po načtení takové adresy stránku s předvolenou variantou a kanonická adresa zůstala bez parametru, - robots.txt žádného z 38 e-shopů tento parametr nezakazuje.
Shoptet má tedy na zkoušených stránkách splněnou adresní část požadavků Googlu a nesplněnou datovou: chybí skupina a nabídky neodkazují na adresu své varianty. Nastavení, které by skupinu do dat přidalo, jsem v nápovědě k variantám nenašel. Je to téma pro šablonu, doplněk nebo dotaz na podporu.
MEGA DETAIL na Upgates: každá varianta svou stránku
Upgates v nápovědě uvádí, že každá varianta má vlastní adresu a do sitemapy i do XML feedů pro srovnávače se vkládá samostatně. Přesně tak to vypadá na našem vlastním e-shopu MEGA DETAIL: mikina ve dvou barvách a čtyřech velikostech má osm adres. Každá má vlastní název („… zelená velikost L“), kód, cenu, dostupnost a vlastní kanonickou adresu a stránka nabízí odkazy na ostatní varianty.
Ve strukturovaných datech ale každá z osmi stránek popisuje samostatný produkt s jednou nabídkou, bez skupiny — a stejně to bylo u všech 40 produktů ze vzorku napříč e-shopem. Vazba mezi variantami je tak jen v odkazech na stránce, ne v datech. Platí to i pro nás. E-shop běží na vlastní šabloně, takže z něj nejde usuzovat, co dělá výchozí šablona Upgates.
Feedy: jedna skupina, čtyři zápisy
Každý kanál chce varianty jako samostatné položky se společným kódem skupiny. Liší se název pole a podrobnosti:
| Kanál | Jak se zapisuje skupina | Co musí mít každá varianta | Na co si dát pozor |
|---|---|---|---|
| Google Merchant Center | item_group_id | vlastní id, odkaz s předvolbou, color, size… | item_group_id povinné u bezplatných výpisů s variantami |
| Heureka | ITEMGROUP_ID | vlastní položka, rozlišující název, unikátní URL | rozsah značky popsán dvakrát jinak |
| Zboží.cz | ITEMGROUP_ID | vlastní nabídka s unikátní URL | varianta se liší jedním parametrem |
| OpenAI (ChatGPT) | group_id | vlastní item_id, odkaz s předvolbou | jen pro schválené partnery, standardně USA |
Merchant Center k seskupení přidává pět pravidel:
- rodičovský produkt se jako samostatná položka neposílá,
- hodnota skupiny je stejná u všech variant a jedinečná pro každou skupinu,
- hodnota skupiny se nemění,
- skupina se nepoužívá u produktů, které variantou nejsou (oblek ze saka a kalhot, sada koupelnových doplňků),
- stránka po otevření odkazu ukazuje tytéž hodnoty jako feed.
K item_group_id patří dva novější atributy, item_group_title a variant_option. Oba jsou volitelné. Podle nápovědy Merchant Center se dají poslat doplňkovým zdrojem dat a na schválení stávajících produktů nemají vliv. variant_option říká přesně, podle čeho se varianty liší — třeba velikost:M,barva:zelená. Standardní atributy jako barva to samy neříkají, protože je mají i produkty bez variant (Google uvádí příklad šedé tiskárny).
Heureka má v nápovědě k ITEMGROUP_ID rozpor. Na jednom místě je značka vyhrazená jen pro oblečení a obuv, které se liší velikostí, jinde ji doporučuje i pro barvy, vzory a sady. Než ji nasadíte mimo oblečení, ověřte si u Heureky, co platí. Fragment # v adrese varianty Heurece stačí, Googlu ne.
Zboží.cz vede ITEMGROUP_ID jako doporučené a za variantu považuje nabídky stejného výrobce, řady, názvu a cenové hladiny, které se liší jedním parametrem. Výjimkou jsou varianty určené výrobcem, třeba kapacita a barva telefonu.
OpenAI má pro varianty vlastní pole, ale pro český e-shop je to zatím výhled. Přímé produktové feedy jsou podle dokumentace OpenAI k 3. 10. 2026 jen pro schválené partnery a standardní nahrání feedu je určené pro USA. Kdyby vám OpenAI potvrdilo formát kompatibilní s Googlem, skupinu převezme z item_group_id a varianty složí ze standardních atributů.
Kontrola variant v pěti krocích
-
Vyberte vzorek
Pár produktů, jejichž varianty se liší cenou nebo dostupností. Na nich se nesoulad projeví nejdřív.
-
Otevřete adresu varianty z feedu
Stránka má předvolit tutéž variantu se stejnou cenou, dostupností a obrázkem a musí ji jít vložit do košíku.
-
Porovnejte kódy
id ve feedu, sku ve strukturovaných datech a kód v e-shopu musí patřit téže variantě. Kód skupiny musí být stejný ve všech kanálech a v čase se nemění.
-
Zkontrolujte kanonickou adresu a robots.txt
U parametrů má kanonická adresa vést na adresu bez parametru. Adresy variant nesmí zakazovat pravidlo pro filtry.
-
Ověřte strukturovaná data
Projeďte stránku Testem rozšířených výsledků, který Google k ověření kódu doporučuje.
Jak zapsat stav skladem a dodací lhůtu zvlášť pro každou variantu, rozebírá článek o skladovosti a dodací lhůtě.
Šest chyb při zápisu variant
Rodičovský produkt jako samostatná položka
Merchant Center výslovně píše, že rodičovský kód se jako samostatný produkt neposílá. Do feedu jdou jen varianty, které jde koupit.
Řešení: Rodičovský kód patří do item_group_id všech variant, ne do vlastního řádku feedu.
Skupina pro věci, které variantou nejsou
Oblek ze saka a kalhot nebo sada koupelnových doplňků jsou podle Merchant Center podobné produkty, ne varianty. Skupina je pro jeden produkt v různých provedeních.
Řešení: Skupinu použijte jen pro varianty téhož produktu.
Kód skupiny, který se mění
Když se hodnota skupiny často mění, může to podle nápovědy Merchant Center vést k nekonzistentnímu seskupení a zobrazení variant.
Řešení: Použijte trvalý kód, typicky rodičovský SKU.
Varianta jen za znakem #
Google část adresy za # při indexaci nepoužívá. Pro něj je to pořád jedna stránka, i když Heurece takový zápis stačí.
Řešení: Variantu rozlište parametrem nebo vlastní cestou.
Pravidlo pro filtry, které zablokuje varianty
Ukázka Googlu pro filtry zakazuje parametry color a size. Když jimi předvolujete i varianty, zablokujete je.
Řešení: Oddělte parametr variant od parametrů filtrů, nebo omezte pravidlo na výpisy.
Všechny varianty se stejným názvem
Google chce název varianty konkrétnější než název skupiny a Heureka chce v názvu rozlišit barvu, rozměr i množství. Stejný název u dvanácti položek nic nerozliší.
Řešení: Do názvu varianty patří rozlišující parametr: Mikina Basic, zelená, M.
U variant produktu slaďte adresu, data a feed
Varianta potřebuje všude totéž: vlastní kód, vlastní adresu a společný kód skupiny. Rozhoduje to, aby stránka, strukturovaná data a feed o ní tvrdily stejnou cenu a dostupnost. Na stránkách Shoptetu, které jsem přeměřil, je slabé místo ve strukturovaných datech, ne v adresách. Na našem e-shopu na Upgates máme adresy a odkazy mezi variantami, ale skupina v datech chybí také. Než začnete s kódem, projděte pět kroků kontroly na pár produktech — ukáže se, kde vaše varianty mezi kanály nesedí.
Vzor produktové stránky se strukturovanými daty produktu a nabídky najdete v AI SEO Wireframe Packu — PDF návodu za 1 490 Kč včetně DPH; skupinu variant k němu doplníte podle tohoto článku. Když chcete vědět, jak strukturovaná data vašich produktů čte stroj, Audit AI viditelnosti za 3 600 Kč bez DPH je projde spolu s tím, z čeho může AI o vašem e-shopu čerpat.