Seonal

← Späť na postupy

Schema typ pre produkt v e-shope: Product, Offer a Review

6. 10. 2026 · 6 min čítania

Pri produktovej stránke v e-shope neriešite, či použiť štruktúrované dáta. Riešite, ktorý typ a aké vlastnosti do neho patria. Rozdiel je praktický: so správne vyplneným Product sa vo výsledkoch vyhľadávania môže zobraziť cena, dostupnosť a hviezdičky. So zle vyplneným sa nezobrazí nič — a Search Console vám pošle chybu.

Nižšie je rozpis, ktorý schema typ patrí kam, ktoré vlastnosti sú povinné a kde sa to najčastejšie láme.

Základ: Product je nadradený typ, Offer a Review sú jeho časti

Časté nedorozumenie: že cena a recenzia sú samostatné schémy, ktoré sa na stránku pridávajú zvlášť. Nie sú. Na produktovej stránke máte jeden objekt typu Product a v ňom vnorené:

  • offers — objekt typu Offer alebo AggregateOffer (cena, mena, dostupnosť)
  • review — jednotlivé recenzie typu Review
  • aggregateRating — súhrnné hodnotenie typu AggregateRating (priemer a počet hodnotení)
  • brand — objekt typu Brand

To znamená: na stránke produktu nepíšete tri samostatné bloky JSON-LD. Píšete jeden Product so správne vnorenými podobjektami. Keď ich rozdelíte, Google ich často nespáruje a rich snippet nevznikne.

Minimálna kostra, ktorá funguje

``json { "@context": "https://schema.org", "@type": "Product", "name": "Názov produktu presne ako na stránke", "image": ["https://example.sk/obrazok.jpg"], "description": "Popis produktu", "sku": "ABC-123", "brand": { "@type": "Brand", "name": "Značka" }, "offers": { "@type": "Offer", "url": "https://example.sk/produkt", "priceCurrency": "EUR", "price": "39.90", "availability": "https://schema.org/InStock" } } ``

Toto stačí na to, aby Google rozpoznal produkt aj cenu. Hviezdičky pribudnú až s aggregateRating, a len vtedy, keď hodnotenia na stránke naozaj sú a sú viditeľné pre návštevníka.

Offer: čo je povinné a čo sa najčastejšie pokazí

V Offer sú pre produktový rich snippet kľúčové tri veci: price, priceCurrency a availability.

Cena ako číslo, nie ako text. "price": "39,90 €" je chyba. Správne je "price": "39.90" a mena zvlášť v priceCurrency. Desatinná čiarka, medzera a symbol eura hodnotu znefunkčnia. Toto je asi najčastejšia chyba v slovenských e-shopoch, lebo šablóna vypisuje cenu tak, ako ju vidí zákazník.

Dostupnosť ako URL, nie ako slovo. "availability": "Skladom" neprejde. Patrí tam jedna z hodnôt schema.org:

  • https://schema.org/InStock — skladom
  • https://schema.org/OutOfStock — vypredané
  • https://schema.org/PreOrder — predobjednávka
  • https://schema.org/BackOrder — na objednávku

Cena v schéme sa musí zhodovať s cenou na stránke. Keď šablóna vypíše do schémy cenu bez DPH a na stránke je cena s DPH, Google to môže vyhodnotiť ako nesúlad. Pri manuálnych kontrolách to býva dôvod na stratu rich snippetu.

Viac variantov = AggregateOffer. Keď má produkt viac veľkostí alebo farieb s rôznymi cenami na jednej URL, použite AggregateOffer s lowPrice, highPrice, priceCurrency a offerCount. Nevypisujte desať samostatných Offer objektov, keď je na stránke jeden výber.

priceValidUntil

Nepovinná vlastnosť, ale užitočná. Keď ju uvediete a dátum prejde, Google môže prestať zobrazovať cenu. Buď ju nechajte prázdnu, alebo ju posúvajte automaticky.

Review a AggregateRating: kde e-shopy najviac riskujú

AggregateRating je to, čo generuje hviezdičky vo výsledkoch. Potrebuje:

  • ratingValue — priemer, napríklad "4.6"
  • reviewCount alebo ratingCount — koľko hodnotení
  • voliteľne bestRating a worstRating (ak nie je 1 až 5)

Tri pravidlá, ktoré sa porušujú najčastejšie:

1. Hodnotenie musí byť viditeľné na stránke. Nie v schéme a nikde inde. Keď máte v JSON-LD priemer 4,8 z 36 hodnotení, ale na stránke nie je ani jedna recenzia, je to porušenie pravidiel pre štruktúrované dáta.

2. Hodnotenie sa musí týkať produktu, nie e-shopu. Hviezdičky z typu „sme hodnotení 4,9 na Heuréke" nepatria do Product.aggregateRating. To je hodnotenie predajcu, nie produktu. Na hodnotenie firmy slúži iný typ (Organization s vlastným aggregateRating), a ten nezobrazuje hviezdičky pri produkte.

3. Nepoužívajte aggregateRating na kategóriách. Na kategórii nie je jeden produkt, takže tam Product nepatrí vôbec. Kategória je CollectionPage, prípadne ItemList so zoznamom produktov.

Ak má produkt jedinú recenziu, použite review s objektom Review, ktorý obsahuje author, reviewRating a ideálne reviewBody. AggregateRating s počtom 1 pôsobí ako chyba.

Ktorý typ patrí na ktorú stránku

| Stránka | Hlavný typ | Doplnky | |---|---|---| | Detail produktu | Product | Offer, AggregateRating, Review, Brand, BreadcrumbList | | Kategória | CollectionPage alebo ItemList | BreadcrumbList | | Blogový článok | Article alebo BlogPosting | BreadcrumbList, Person | | Kontakt / o nás | Organization alebo LocalBusiness | PostalAddress, OpeningHoursSpecification | | FAQ sekcia | FAQPage | — | | Návod | HowTo | — |

BreadcrumbList pridávajte všade, kde máte drobčekovú navigáciu. Je to najlacnejší spôsob, ako zmeniť vzhľad URL vo výsledku na čitateľnú cestu namiesto dlhého odkazu.

JSON-LD, Microdata, RDFa: čo si vybrať

Google podporuje všetky tri. Praktická odpoveď je JSON-LD v <script type="application/ld+json"> v hlavičke alebo tele stránky. Dôvody:

  • nemusíte zasahovať do HTML šablóny produktu
  • jeden blok sa ľahko kontroluje aj opravuje
  • nemôže sa rozbiť zmenou vzhľadu

Microdata (atribúty itemprop priamo v HTML) fungujú, ale pri redizajne ich dizajnér často vymaže bez toho, aby vedel, že niečo odstraňuje. Ak máte na webe oboje naraz — Microdata zo šablóny aj JSON-LD z pluginu — vznikajú duplicitné a protirečivé údaje. V tom prípade jeden zdroj vypnite.

Ako overiť, či to funguje

Tri nástroje, každý na niečo iné:

  1. Rich Results Test od Google — ukáže, či je stránka spôsobilá na rich snippet a ktoré vlastnosti chýbajú. Testujte živú URL, nie vložený kód.
  2. Schema.org Validator — prísnejší na syntax, ukáže aj vlastnosti, ktoré Google ignoruje.
  3. Search Console, sekcia Vylepšenia > Produkty — jediný zdroj, ktorý vám povie, koľko stránok má chybu naprieč celým e-shopom. Pri tisícke produktov je to jediný rozumný vstup.

Rozdiel medzi „neplatné" a „platné s upozornením": neplatné položky nedostanú rich snippet vôbec. Upozornenia (napríklad chýbajúci brand alebo sku) rich snippet nezablokujú, ale obmedzia, čo sa zobrazí.

Čo sa stane po oprave

Rich snippet sa neobjaví hneď. Google musí stránku znova prejsť a spracovať. Pri malom e-shope to býva dni, pri veľkom aj týždne. Ak chcete rýchlejšiu kontrolu, pošlite niekoľko URL cez Kontrolu URL v Search Console na opätovnú indexáciu.

A druhá vec: rich snippet nie je nárok. Aj keď máte všetko správne, Google ho nemusí zobraziť. Ovplyvňuje to typ dopytu, zariadenie aj konkurencia vo výsledkoch. Čo viete ovplyvniť, je spôsobilosť — teda aby vám to nebránilo kvôli zlej čiarke v cene.

Ako to riešim ja

Pri prechode webu kontrolujem produktové stránky na konkrétne veci: či Product existuje, či má offers s cenou ako číslom a menou zvlášť, či availability používa URL hodnotu, či aggregateRating sedí s tým, čo je viditeľné na stránke, a či na kategóriách nie je omylom Product. K nálezom, kde viem zložiť správny výstup z obsahu stránky, napíšem hotový blok JSON-LD pripravený na vloženie — nie poznámku typu „doplňte štruktúrované dáta". Vy ho schválite a nasadíte cez plugin, API alebo export.

Potom meriam. Dopad nasadenej opravy porovnávam 28 dní pred a po, takže vidíte, či sa CTR na produktových stránkach naozaj pohlo, alebo nie.

#seoobsah


Toto píše nástroj, ktorý si viete kúpiť

Článok navrhol a napísal Seonal — ten istý, ktorý na vašom webe nájde chyby, opraví ich a výsledok zmeria. Audit je zadarmo.

Zistite zadarmo, koľko chýb má váš web Cenník