Product Schema Markup für Rich Snippets in Google
Tech-SEO

Product Schema Markup: Produkte mit Rich Snippets in Google hervorheben

Shift07 Team
16. April 2026
11 Min. Lesezeit
Tech-SEO

Für Online-Shops ist Product Schema Markup einer der wichtigsten SEO-Hebel überhaupt. Mit dem richtigen Schema.org-Code kannst du Preis, Bewertungen, Verfügbarkeit und sogar Versandinformationen direkt in den Google-Suchergebnissen anzeigen lassen — als sogenannte Product Rich Snippets. Das macht deine Produktseiten im SERP sofort sichtbarer und erhöht die Klickrate messbar.

In diesem Artikel erfährst du, welche Felder Google für Product Rich Snippets auswertet, wie du ein vollständiges und gültiges JSON-LD-Schema schreibst, und welche Fehler dich von den Rich Snippets ausschließen können.

Was ist Product Schema Markup?

Product Schema Markup ist eine Form von strukturierten Daten, die dem Google-Crawler mitteilt: "Diese Seite beschreibt ein konkretes Produkt." Auf Basis dieser Informationen kann Google ein Product Rich Snippet generieren, das im Suchergebnis Bewertungssterne, Preis und Verfügbarkeit anzeigt — alles noch bevor der Nutzer klickt.

Das ist besonders wertvoll, weil Nutzer im Online-Handel sehr preissensibel sind. Wer den Preis direkt im Suchergebnis sieht, klickt häufiger — oder filtert unpassende Angebote aus, was die Absprungrate auf der Seite reduziert. Beides ist gut für dein SEO-Signal.

Google Product Rich Snippets: Was wird angezeigt?

Google zeigt je nach Datenlage verschiedene Elemente im Product Rich Snippet an:

  • Bewertungssterne — Durchschnittsbewertung (1-5 Sterne) und Anzahl der Bewertungen
  • Preis — Aktueller Preis mit Währung (z.B. 49,99 €)
  • Verfügbarkeit — "Auf Lager", "Nicht verfügbar", "Vorbestellung möglich"
  • Versandkosten — kostenloser Versand oder Preis (seit 2023)
  • Rückgabe — Rückgabebedingungen (seit 2023)

Für das Google Shopping-Tab gibt es zusätzliche Anforderungen — dafür ist in der Regel der Google Merchant Center-Feed relevanter als das Schema Markup auf der Produktseite. Trotzdem verstärken beide sich gegenseitig.

Pflicht- und empfohlene Felder im Überblick

Pflichtfelder (ohne diese kein Rich Snippet)

  • name — Produktname
  • Mindestens eines von: review, aggregateRating oder offers

Das klingt wenig — aber Google ist bei Product Schema streng: Wenn du Bewertungssterne anzeigen willst, braucht du ein valides aggregateRating-Objekt. Wenn du den Preis anzeigen willst, braucht du ein valides offers-Objekt. Ohne diese Felder erscheint kein Rich Snippet.

Empfohlene Felder

  • description — Produktbeschreibung
  • image — Produktbild (min. 160px, empfohlen: quadratisch oder 16:9)
  • brand — Marke des Produkts
  • sku — Artikelnummer / SKU
  • gtin13 / gtin8 / mpn — Globale Produktkennung (EAN, ISBN, MPN)
  • url — URL der Produktseite

Vollständiges Beispiel: Einfaches Produkt mit Bewertungen

Hier ist ein vollständiges JSON-LD-Schema für ein einfaches Produkt mit Preis und Kundenbewertungen:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Ergonomischer Bürostuhl ProComfort 3000",
  "description": "Hochwertig verarbeiteter Bürostuhl mit verstellbarer Lordosenstütze, Armlehnen und Kopfstütze. Geeignet für bis zu 8 Stunden Sitzen pro Tag.",
  "image": [
    "https://example.de/images/burostuhl-front.jpg",
    "https://example.de/images/burostuhl-seite.jpg",
    "https://example.de/images/burostuhl-detail.jpg"
  ],
  "brand": {
    "@type": "Brand",
    "name": "ErgoSit GmbH"
  },
  "sku": "PC3000-BLK",
  "gtin13": "4012345678901",
  "mpn": "PC-3000",
  "url": "https://example.de/produkte/burostuhl-procomfort-3000",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "143",
    "bestRating": "5",
    "worstRating": "1"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.de/produkte/burostuhl-procomfort-3000",
    "priceCurrency": "EUR",
    "price": "389.00",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "name": "ErgoShop Online GmbH"
    }
  }
}
</script>

Preisangaben korrekt formulieren

Das offers-Objekt ist das Herzstück des Product Schema. Google liest hier Preis, Währung, Verfügbarkeit und Zustand aus. Achte auf diese Details:

Preis immer als Dezimalzahl

Der Preis muss als Dezimalzahl ohne Währungssymbol angegeben werden. Trennzeichen ist der Punkt, nicht das Komma:

"price": "49.99"    ✅ korrekt
"price": "49,99"    ❌ falsch
"price": "49,99 €"  ❌ falsch
"price": 49.99      ✅ korrekt (Zahl ohne Anführungszeichen auch möglich)

priceValidUntil angeben

Das Feld priceValidUntil gibt an, bis wann der Preis gültig ist. Google bevorzugt Angebote mit diesem Feld — ohne Datum kann das Snippet schnell als "veraltet" eingestuft werden. Formatiere das Datum als ISO-8601-Datum: 2026-12-31.

Verfügbarkeit korrekt setzen

Für das availability-Feld gibt es folgende gültige Werte:

  • https://schema.org/InStock — Auf Lager
  • https://schema.org/OutOfStock — Nicht verfügbar
  • https://schema.org/PreOrder — Vorbestellung
  • https://schema.org/BackOrder — Nachbestellung möglich
  • https://schema.org/Discontinued — Produkt eingestellt
  • https://schema.org/LimitedAvailability — Nur wenige vorrätig
  • https://schema.org/OnlineOnly — Nur online erhältlich

itemCondition: Neu oder gebraucht?

Für Marktplätze oder Händler mit gebrauchten Waren ist das itemCondition-Feld wichtig:

  • https://schema.org/NewCondition — Neu
  • https://schema.org/UsedCondition — Gebraucht
  • https://schema.org/RefurbishedCondition — Generalüberholt
  • https://schema.org/DamagedCondition — Beschädigt

Mehrere Angebote (verschiedene Händler oder Varianten)

Wenn ein Produkt von mehreren Händlern angeboten wird oder verschiedene Varianten (Farben, Größen) hat, kannst du mehrere Offer-Objekte als Array angeben. Google wertet alle aus und kann die günstigsten oder relevantesten Preise anzeigen:

"offers": [
  {
    "@type": "Offer",
    "priceCurrency": "EUR",
    "price": "389.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "name": "Farbe: Schwarz"
  },
  {
    "@type": "Offer",
    "priceCurrency": "EUR",
    "price": "399.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "name": "Farbe: Grau"
  },
  {
    "@type": "Offer",
    "priceCurrency": "EUR",
    "price": "289.00",
    "availability": "https://schema.org/LimitedAvailability",
    "itemCondition": "https://schema.org/UsedCondition",
    "name": "Gebraucht — guter Zustand"
  }
]

Bewertungen und AggregateRating richtig einbinden

Bewertungssterne sind das sichtbarste Element in einem Product Rich Snippet. Das aggregateRating-Objekt fasst alle Nutzerbewertungen zusammen:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.6",
  "reviewCount": "143",
  "bestRating": "5",
  "worstRating": "1"
}

Wichtige Hinweise zu Bewertungen:

  • reviewCount vs. ratingCount: reviewCount zählt Textbewertungen, ratingCount zählt alle Bewertungen (auch ohne Text). Wenn du beides hast, nutze beide Felder.
  • Keine erfundenen Bewertungen: Bewertungen müssen echt sein und von Nutzern stammen. Erfundene Sternebewertungen verstoßen gegen Googles Spam-Richtlinien und können zur Abstrafung führen.
  • Keine Eigenbewertungen: Du darfst deine eigenen Produkte nicht selbst bewerten und das als aggregateRating ausweisen.

Wenn du individuelle Bewertungen (nicht nur die Zusammenfassung) einbinden willst, kannst du diese als review-Array angeben:

"review": [
  {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5",
      "bestRating": "5"
    },
    "name": "Perfekter Bürostuhl für lange Arbeitstage",
    "author": {
      "@type": "Person",
      "name": "Michael S."
    },
    "datePublished": "2026-02-14",
    "reviewBody": "Seit drei Monaten im Einsatz und mein Rücken hat sich deutlich erholt. Sehr zu empfehlen!"
  }
]

Versand und Rückgabe: Die neuen Felder seit 2023

Google hat das Product Schema 2023 um wichtige E-Commerce-Felder erweitert. Wer Versandkosten und Rückgabebedingungen direkt in den Suchergebnissen anzeigen will, kann diese nun mit Schema Markup hinterlegen:

Versandkosten (shippingDetails)

"shippingDetails": {
  "@type": "OfferShippingDetails",
  "shippingRate": {
    "@type": "MonetaryAmount",
    "value": "0",
    "currency": "EUR"
  },
  "shippingDestination": {
    "@type": "DefinedRegion",
    "addressCountry": "DE"
  },
  "deliveryTime": {
    "@type": "ShippingDeliveryTime",
    "handlingTime": {
      "@type": "QuantitativeValue",
      "minValue": 0,
      "maxValue": 1,
      "unitCode": "DAY"
    },
    "transitTime": {
      "@type": "QuantitativeValue",
      "minValue": 1,
      "maxValue": 3,
      "unitCode": "DAY"
    }
  }
}

Rückgabebedingungen (hasMerchantReturnPolicy)

"hasMerchantReturnPolicy": {
  "@type": "MerchantReturnPolicy",
  "applicableCountry": "DE",
  "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
  "merchantReturnDays": 30,
  "returnMethod": "https://schema.org/ReturnByMail",
  "returnFees": "https://schema.org/FreeReturn"
}

Für returnPolicyCategory gibt es diese Werte:

  • MerchantReturnFiniteReturnWindow — Rückgabe innerhalb einer bestimmten Frist (dann merchantReturnDays angeben)
  • MerchantReturnUnlimitedWindow — Unbegrenzte Rückgabemöglichkeit
  • MerchantReturnNotPermitted — Keine Rückgabe möglich

Produktvarianten und Produktgruppen

Viele Online-Shops haben Produkte mit Varianten (z.B. T-Shirt in verschiedenen Größen und Farben). Hier empfehlen sich zwei Ansätze:

Ansatz 1: ProductGroup

Du kannst den Typ ProductGroup verwenden, der mehrere Varianten als hasVariant-Array zusammenfasst. Das ist ideal für Elternseiten, die alle Varianten eines Produkts listen:

{
  "@context": "https://schema.org",
  "@type": "ProductGroup",
  "name": "Basic T-Shirt — Shift07 Edition",
  "description": "Qualitativ hochwertiges T-Shirt aus 100% Bio-Baumwolle.",
  "url": "https://example.de/shirts/basic-tshirt",
  "brand": { "@type": "Brand", "name": "Shift07 Merch" },
  "productGroupID": "BASIC-TSHIRT",
  "variesBy": ["https://schema.org/color", "https://schema.org/size"],
  "hasVariant": [
    {
      "@type": "Product",
      "name": "Basic T-Shirt — Weiß, M",
      "sku": "TSHIRT-WHT-M",
      "color": "Weiß",
      "size": "M",
      "offers": {
        "@type": "Offer",
        "price": "24.99",
        "priceCurrency": "EUR",
        "availability": "https://schema.org/InStock"
      }
    },
    {
      "@type": "Product",
      "name": "Basic T-Shirt — Schwarz, XL",
      "sku": "TSHIRT-BLK-XL",
      "color": "Schwarz",
      "size": "XL",
      "offers": {
        "@type": "Offer",
        "price": "24.99",
        "priceCurrency": "EUR",
        "availability": "https://schema.org/LimitedAvailability"
      }
    }
  ]
}

Ansatz 2: Eigenes Schema pro Variantenseite

Wenn jede Variante eine eigene URL hat, schreibe für jede Variantenseite ein separates Product-Schema. Das ist einfacher zu pflegen und wird von Google zuverlässiger verarbeitet.

Typische Fehler bei Product Schema Markup

Diese Fehler verhindern das Erscheinen von Product Rich Snippets am häufigsten:

  • Preis stimmt nicht mit der Seite überein — Das ist der kritischste Verstoß. Wenn das Schema 49,99 € angibt, die Seite aber 59,99 € zeigt, bestraft Google das sofort.
  • Falsch formatierter Preis — Komma statt Punkt, oder Währungssymbol im Preis.
  • aggregateRating ohne reviewCount oder ratingCount — Google braucht eine Angabe, wie viele Bewertungen die Durchschnittsbewertung stützen.
  • ratingValue außerhalb von bestRating/worstRating — Wenn bestRating: 5 und ratingValue: 4.8, dann muss worstRating: 1 auch gesetzt sein.
  • Kein Bild angegeben — Product Rich Snippets erscheinen häufiger und prominenter, wenn ein Bild im Schema hinterlegt ist.
  • priceValidUntil in der Vergangenheit — Wenn das Datum abgelaufen ist, ignoriert Google das Preisfeld.
  • Bewertungen auf Kategorie- oder Listenpreisseiten — Aggregierte Bewertungen dürfen nur auf einzelnen Produktseiten stehen, nicht auf Seiten die viele Produkte listen.

Product Schema und Google Merchant Center

Product Schema Markup auf der Website und der Google Merchant Center-Feed sind zwei verschiedene Dinge, die sich aber ergänzen. Das Schema Markup beeinflusst die organischen Suchergebnisse (die regulären Google-Ergebnisse). Der Merchant Center-Feed steuert die Shopping-Anzeigen und Shopping-Tab-Einträge.

Wenn du beide pflegst und die Daten konsistent hält, vertraut Google deinen Produktdaten deutlich mehr — das kann sich positiv auf die Sichtbarkeit in beiden Bereichen auswirken. Achte darauf, dass Preise, Produktnamen und Verfügbarkeiten in beiden Quellen identisch sind.

Product Schema validieren

Bevor du Product Schema live schaltest, validiere es unbedingt:

  1. Google Rich Results Test — Zeigt an, ob ein Product Rich Snippet generiert wird und welche Felder erkannt wurden. Nutze unseren JSON-LD Validator für eine schnelle Browser-Prüfung.
  2. Schema Markup Validator (validator.schema.org) — Prüft die Konformität mit Schema.org-Standard.
  3. Google Search Console → Verbesserungen → Produkte — Zeigt Fehler bei bereits indizierten Produktseiten an.

Vollständige Product Schema Checkliste

Nutze diese Checkliste für jede neue Produktseite in deinem Shop:

  • name stimmt exakt mit dem Produktnamen auf der Seite überein
  • image mit mindestens einer hochwertigen Produktabbildung
  • offers mit korrektem Preis (Punkt als Dezimaltrennzeichen), Währung und Verfügbarkeit
  • priceValidUntil mit zukünftigem Datum
  • availability stimmt mit dem tatsächlichen Lagerbestand überein
  • itemCondition angegeben (neu/gebraucht)
  • aggregateRating mit echten Kundenbewertungen (wenn vorhanden)
  • brand mit Herstellername
  • sku und/oder gtin13 / mpn
  • ✅ Schema-Daten stimmen zu 100% mit sichtbarem Seiteninhalt überein
  • ✅ Validierung mit Google Rich Results Test bestanden
  • ✅ Google Search Console auf Fehler prüfen (nach Indexierung)

Product Schema Markup ist einer der wenigen SEO-Hebel, der im E-Commerce einen direkten und messbaren Effekt auf die Klickrate hat. Die Implementierung ist einmalig — und die Sichtbarkeit zahlt sich langfristig aus.

Weitere Schema-Markup-Guides findest du in unserer Reihe: Event Schema Markup, FAQPage Schema, Article Schema und LocalBusiness Schema. Validiere dein Schema mit unserem kostenlosen JSON-LD Validator oder erstelle es von Grund auf mit dem Review Schema Generator.

Teste deine Website jetzt kostenlos

Erhalte eine vollständige SEO-Analyse mit konkreten Verbesserungsvorschlägen.

Analyse starten