pozorio

Schema.org pre potraviny s NutritionInformation a alergénmi

Pre potravinové e-shopy ako Rohlík.sk, iTesco, Fresh Box alebo špecializované BIO obchody je schema.org komplikovanejšie, lebo Schema.org má pre potraviny špecifické typy: `NutritionInformation` pre nutričné hodnoty na 100 g/ml, `suitableForDiet` pre diétne obmedzenia (vegan, bezlepkové) a `Country` pre krajinu pôvodu. Najčastejšia chyba je ukladať váhu ako string `'1L'` v jednom poli, alergény ako voľný text bez štruktúry a krajinu pôvodu ako prostý reťazec namiesto `Country` objektu. Pri čerstvých produktoch treba pridať aj `expirationDate` na úrovni Offer. Pre vrátenie tovaru pozor — pri potravinách väčšina e-shopov vracanie nepovoľuje, takže `MerchantReturnNotPermitted` musí byť explicitne uvedené.

Príklad validného Product JSON-LD

Hmotnosť cez QuantitativeValue, alergény cez additionalProperty, NutritionInformation pre nutričnú tabuľku.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Rajo Bio jablkový džús 1 l",
  "image": "https://example.sk/img/rajo-jablko.jpg",
  "description": "100% prírodný bio jablkový džús bez pridaného cukru. Z jabĺk pestovaných v ekologickom poľnohospodárstve.",
  "sku": "RAJ-BIO-JAB-1L",
  "mpn": "RAJO-9912",
  "gtin13": "8588001234560",
  "brand": {
    "@type": "Brand",
    "name": "Rajo"
  },
  "weight": {
    "@type": "QuantitativeValue",
    "value": "1",
    "unitCode": "LTR"
  },
  "countryOfOrigin": {
    "@type": "Country",
    "name": "Slovensko"
  },
  "suitableForDiet": [
    "https://schema.org/VeganDiet",
    "https://schema.org/GlutenFreeDiet"
  ],
  "nutrition": {
    "@type": "NutritionInformation",
    "servingSize": "100 ml",
    "calories": "44 kcal",
    "carbohydrateContent": "10.5 g",
    "sugarContent": "10.5 g",
    "fatContent": "0.1 g",
    "proteinContent": "0.5 g",
    "sodiumContent": "5 mg"
  },
  "additionalProperty": [
    {
      "@type": "PropertyValue",
      "name": "Bio certifikácia",
      "value": "EU Organic"
    },
    {
      "@type": "PropertyValue",
      "name": "Alergény",
      "value": "Bez alergénov"
    },
    {
      "@type": "PropertyValue",
      "name": "Skladovanie",
      "value": "Po otvorení skladovať pri teplote 2–6 °C, spotrebovať do 3 dní"
    }
  ],
  "offers": {
    "@type": "Offer",
    "url": "https://example.sk/produkt/rajo-bio-jablkovy-dzus",
    "priceCurrency": "EUR",
    "price": "3.50",
    "priceValidUntil": "2026-06-30",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock",
    "hasMerchantReturnPolicy": {
      "@type": "MerchantReturnPolicy",
      "applicableCountry": "SK",
      "returnPolicyCategory": "https://schema.org/MerchantReturnNotPermitted"
    },
    "shippingDetails": {
      "@type": "OfferShippingDetails",
      "shippingRate": {
        "@type": "MonetaryAmount",
        "value": "4.90",
        "currency": "EUR"
      },
      "shippingDestination": {
        "@type": "DefinedRegion",
        "addressCountry": "SK"
      },
      "deliveryTime": {
        "@type": "ShippingDeliveryTime",
        "handlingTime": {
          "@type": "QuantitativeValue",
          "minValue": 0,
          "maxValue": 1,
          "unitCode": "DAY"
        },
        "transitTime": {
          "@type": "QuantitativeValue",
          "minValue": 1,
          "maxValue": 2,
          "unitCode": "DAY"
        }
      }
    }
  }
}

Časté chyby (Potraviny a nápoje)

  1. 1

    Hmotnosť ako '1L' v jednom stringu

    Hodnota a jednotka spojené v stringu znemožnia strojom porovnávanie. Použi `QuantitativeValue` s `value: '1'` a `unitCode: 'LTR'` (litre) alebo `'KGM'` (kilogramy).

  2. 2

    Alergény ako voľný text bez štruktúry

    EU regulation vyžaduje povinné označenie 14 alergénov. V schema.org najčistejšie cez `additionalProperty` s presným zoznamom (napr. 'Obsahuje: lepok, mlieko, vajcia') alebo cez 'Bez alergénov' pri produktoch bez nich.

  3. 3

    Krajina pôvodu ako string

    `countryOfOrigin: 'Slovensko'` síce funguje, ale `countryOfOrigin: { @type: 'Country', name: 'Slovensko' }` je sémanticky správne a Google to lepšie indexuje pre filter 'Slovenský pôvod'.

  4. 4

    Bio ako vlastný kľúč 'organic: true'

    Schema.org property 'organic' neexistuje. Bio status patrí buď do `suitableForDiet` (sčasti) alebo lepšie do `additionalProperty` s odkazom na konkrétnu certifikáciu (EU Organic, Demeter, Bio Suisse).

  5. 5

    Chýba returnPolicyCategory pre potraviny

    Pre potraviny väčšina e-shopov vracanie nepovoľuje (zákon ich nezaväzuje). To treba explicitne uviesť cez `MerchantReturnNotPermitted`, inak Google čaká plnú return policy a hodí warning.

Časté otázky

Musím uvádzať NutritionInformation pre každý produkt?+

Pre balené potraviny v EU je nutričná tabuľka povinná na obale, takže máš tieto údaje k dispozícii. V schema.org nie je technicky povinná, ale výrazne pomáha pre Google rich snippety pri vyhľadávaniach typu 'jablkový džús bez cukru'.

Čo ak produkt obsahuje alergén — ako ho označiť?+

Cez `additionalProperty` s presnou EU formuláciou (napr. 'Obsahuje: lepok (pšenica), mlieko'). Niektoré e-shopy používajú aj custom property 'allergens' v additionalProperty, aby to mohli ľahko parsovať.

Expirácia / minimálna trvanlivosť — kde ju uviesť?+

Pre konkrétny šaržu cez `Offer.expirationDate` (ISO 8601 dátum). Pre kategorické info (napr. 'Trvanlivosť 12 mesiacov') skôr cez `additionalProperty`. Rohlík to typicky ukazuje pri čerstvých potravinách priamo v rich snippete.

Vegan a bezlepkové produkty — ako ich vyznačiť?+

Schema.org má `suitableForDiet` ako enum. Hodnoty: `VeganDiet`, `VegetarianDiet`, `GlutenFreeDiet`, `LowFatDiet`, `LowSaltDiet` atď. Plný zoznam je na schema.org/RestrictedDiet.

Bio certifikácia — additionalProperty alebo hasCertification?+

Modernejšie cez `hasCertification: Certification` (Schema.org property z 2023), kde uvedieš konkrétnu certifikačnú autoritu (napr. 'EU Organic', 'Bio Suisse'). additionalProperty je fallback ak chceš podporiť aj staršie parsery.

— DOKONČI ZA 30 SEKÚND

Vygeneruj Product JSON-LD pre Potraviny a nápoje hneď

Vygeneruj JSON-LD pre potraviny vrátane nutričných hodnôt a alergénov.

Otvoriť generátor