Diese Seite erklärt die Befunde, die der Website-Check im Bereich Produktdaten ausgibt. Der Check ruft eine Produktseite ab, liest die JSON-LD-Blöcke im Quelltext und vergleicht sie mit dem, was Google für Händlereinträge, Produkt-Snippets und Produktvarianten dokumentiert. Jeder Befund hat hier seinen eigenen Abschnitt: Das Ergebnis des Website-Checks verlinkt bei jedem Befund genau hierher.
Wichtig zum Einordnen: Google beschreibt zwei Klassen von Produktdaten. Produkt-Snippets sind für Seiten gedacht, auf denen man das Produkt nicht direkt kaufen kann, Händlereinträge für Seiten, auf denen Kunden bei dir kaufen. Wer die Pflichtfelder für Händlereinträge liefert, ist damit in der Regel auch für Produkt-Snippets geeignet.
| Produkt-Snippet | Händlereintrag | |
|---|---|---|
| Für welche Seite | Produktseite ohne direkte Kaufmöglichkeit, z. B. ein Testbericht | Seite, auf der man bei dir kauft |
| Angebot | Offer oder AggregateOffer, auch Bewertungen allein reichen | Offer verlangt, der Händler ist der Verkäufer |
| Zusätzliche Möglichkeiten | Mehr Optionen für Bewertungen, etwa Vor- und Nachteile | Detailangaben wie Größen, Versand und Rückgabe |
Quelle für die Einordnung: Google Search Central, „Introduction to Product structured data“ und „Merchant listing structured data“ (abgerufen 23.09.2026).
So liest du die Befunde: Rot heißt, eine Pflichtangabe fehlt oder zwei Angaben widersprechen sich — daran scheitert die ganze Darstellung. Gelb heißt, ein empfohlenes Feld fehlt: die Seite bleibt geeignet, zeigt aber weniger. Jeder Abschnitt hier sagt dir, was der Befund bedeutet, warum er zählt, wie du ihn behebst und woraus die Anforderung stammt.
Kein Product-Markup auf der Seite: Google kennt Preis und Verfügbarkeit nicht
Befund-Kennung: kein_markup, kein_produkt
Was das heißt
Der Check ruft deine Produktseite einmal ab und sucht im Quelltext nach strukturierten Produktdaten. Findet er gar nichts, steht im Ergebnis „Kein strukturiertes Produkt-Markup gefunden“. Findet er JSON-LD, aber keinen Typ Product oder ProductGroup, heißt der Befund „JSON-LD vorhanden, aber kein Product“ — und listet auf, welche Typen stattdessen da sind, häufig nur Organization und BreadcrumbList. Beide sind rot markiert.
Warum es zählt
Preis, Verfügbarkeit und Sterne im Suchergebnis kommen aus strukturierten Daten auf der Seite oder aus einem Merchant-Center-Feed — Google beschreibt beide Wege und empfiehlt, beides zu liefern. Ohne Markup und ohne Feed bleibt von deiner Produktseite ein blauer Link mit zwei Zeilen Text. Für KI-Antworten gilt anderes: „Structured data isn't required for generative AI search“, schreibt Google — es hilft aber weiter für Rich Results.
So behebst du es
Einen JSON-LD-Block mit Product in die Produktseite legen, mit name, image und offers als Pflichtfeldern für Händlereinträge.
- Shopify, Shopware, WooCommerce, JTL-Shop: Erst prüfen, ob dein Theme das Markup schon ausgibt und ob es nur unvollständig ist — in unseren Audits ist doppeltes Markup aus Theme plus SEO-Plugin ein häufiger Grund für Widersprüche. Was die beiden großen Systeme im Standard liefern: Shopify SEO, Shopware SEO.
- Werte immer aus dem Shop-System ziehen, nicht von Hand pflegen. Sonst steht im Markup der Preis von letztem Jahr.
- Danach im Rich-Results-Test prüfen und den Check erneut laufen lassen.
Quelle
Google Search Central: „Introduction to Product structured data“ (abgerufen 23.09.2026), Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026), Google Search Central: „AI optimization guide“ (abgerufen 23.09.2026)
Fehler im JSON-LD: Google liest den ganzen Block nicht
Befund-Kennung: jsonld_fehler
Was das heißt
Im Ergebnis steht „… JSON-LD-Block(s) mit Syntaxfehlern“ mit der Zahl der betroffenen Blöcke. Der Check versucht, den Block zu lesen, und zählt ihn als Fehler, wenn das nicht gelingt — typische Ursachen sind ein Komma zu viel vor der schließenden Klammer oder ein Anführungszeichen mitten im Produktnamen, das nicht maskiert ist.
Warum es zählt
JSON-LD ist entweder ganz lesbar oder ganz kaputt. Ein einzelnes falsches Zeichen macht nicht ein Feld ungültig, sondern den kompletten Block — Preis, Bilder, Varianten, alles. Google nennt für solche Fälle in der Fehlersuche den Bericht „Nicht parsbare strukturierte Daten“ in der Search Console. Das ist der unangenehmste Befund dieser Kategorie, weil die Daten vorhanden sind und trotzdem nichts davon ankommt.
So behebst du es
- Den Block aus dem Quelltext kopieren und im Rich-Results-Test prüfen; er zeigt die Zeile, an der es hakt.
- Die häufigste Ursache ist Text, der aus der Datenbank in das Template gesetzt wird: Produktnamen mit Anführungszeichen, Beschreibungen mit Zeilenumbrüchen.
- Deshalb im Template nie selbst JSON zusammenschreiben, sondern die JSON-Funktion deines Systems verwenden — in PHP
json_encode, in Liquid der Filterjson. Die maskiert Sonderzeichen selbst. - Nach dem Fix eine Handvoll Produkte unterschiedlicher Art prüfen, nicht nur das eine, das aufgefallen ist.
Quelle
Google Search Central: „Intro to how structured data markup works“ (abgerufen 23.09.2026), Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026) (Abschnitt „Troubleshooting“ mit dem Bericht „Unparsable structured data“)
Markup nur als Microdata: funktioniert, ist aber schwer zu pflegen
Befund-Kennung: nur_microdata
Was das heißt
Der Befund „Produkt-Markup nur als Microdata“ erscheint, wenn der Check im HTML ein itemtype mit schema.org/Product findet, in den JSON-LD-Blöcken aber weder Product noch ProductGroup steht. JSON-LD darf dabei durchaus vorhanden sein — oft ein Organization-Block —, nur die Produktdaten fehlen dort. Microdata ist die ältere Schreibweise, bei der die Daten mitten im sichtbaren HTML hängen. Der Check prüft ausschließlich JSON-LD und sagt dir das im Ergebnis — er kann deine Microdata also nicht im Detail bewerten.
Warum es zählt
Für Google sind beide Formate zulässig. Die Empfehlung ist aber klar: „In general, Google recommends using JSON-LD for structured data if your site's setup allows it, as it's the easiest solution for website owners to implement and maintain at scale“. In der Praxis sehen wir bei Microdata öfter halbe Produktdaten, weil ein Template-Umbau ein itemprop verliert, das niemand vermisst. Ein eigener Block fällt auf, wenn er fehlt. Bei Shopware ist Microdata der Normalfall: Der Storefront liefert die Produktdaten im Template statt als JSON-LD — Shopware SEO.
So behebst du es
- Auf einen JSON-LD-Block umstellen, der im
headoder am Ende desbodysteht und vollständig aus den Produktdaten des Shops gefüllt wird. - Übergangsweise beides parallel zu betreiben ist möglich, führt aber leicht zu zwei verschiedenen Preisen auf einer Seite. Nach unserer Erfahrung lieber sauber wechseln und die alten
itemprop-Attribute entfernen. - Nach dem Wechsel den Check erneut laufen lassen: jetzt bekommst du zu jedem Feld eine Rückmeldung statt nur diesen Hinweis.
Quelle
Google Search Central: „Intro to how structured data markup works“ (abgerufen 23.09.2026). Einschätzung zur Pflege: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Mehrere Produkte auf einer Seite: dafür gibt es kein Produkt-Snippet
Befund-Kennung: mehrere_produkte
Was das heißt
Im Ergebnis steht „… Produkte auf einer Seite“ mit der gefundenen Anzahl. Der Check hat mehrere getrennte Product-Knoten im Markup gefunden, die nicht als Varianten eines Produkts verknüpft sind. Das passiert auf Kategorie- und Listenseiten, und es passiert bei Varianten, die jede für sich als eigenes Produkt ausgezeichnet werden.
Warum es zählt
Google ist hier eindeutig: „Product rich results only support pages that focus on a single product (or multiple variants of the same product).“ Als Beispiel für das, was nicht geht, nennt die Dokumentation „shoes in our shop“. Solange mehrere unverbundene Produkte auf der Seite stehen, bleibt das Suchergebnis ohne Preis und Sterne, sofern kein Merchant-Center-Feed die Daten liefert — obwohl das Markup technisch fehlerfrei ist.
So behebst du es
- Sind es Varianten desselben Artikels, gehören sie in eine
ProductGroupmithasVariant. Das ist der eigentliche Fix, siehe Varianten fehlen. - Ist es eine Kategorie- oder Suchergebnisseite, bekommt sie kein
Product-Markup. Google empfiehlt ausdrücklich, das Markup auf Produktseiten zu konzentrieren statt auf Listen. - Häufige Falle in Shops: Cross-Selling-Bereiche wie „Ähnliche Artikel“ liefern eigenes Produkt-Markup mit. Das ist in unseren Audits der häufigste Grund für diesen Befund — solche Bausteine ohne Markup ausgeben.
Quelle
Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026) und Google Search Central: „Product snippet (Product, Review, Offer) structured data“ (abgerufen 23.09.2026) (Abschnitt „Technical guidelines“). Cross-Selling als Ursache: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Marke fehlt: ein Kernfeld des Händlereintrags ist leer
Befund-Kennung: marke
Was das heißt
Der Befund „Marke fehlt“ erscheint, wenn im Product kein brand mit einem Namen steht. Er ist als Warnung markiert, nicht als Fehler: die Seite bleibt für ein Suchergebnis mit Produktdaten geeignet, aber ein empfohlenes Feld fehlt.
Warum es zählt
Google formuliert es als Empfehlung: „Include the brand of the product in the name property of the Brand type if known. Include at most one brand name.“ Die Marke ist zusammen mit GTIN und Artikelnummer das, worüber Google dein Angebot demselben Produkt zuordnet, das andere Händler auch verkaufen. Ohne diese Zuordnung steht dein Angebot allein da, statt im Vergleich sichtbar zu sein.
So behebst du es
Ein Feld, meist ein Einzeiler im Template:
"brand": { "@type": "Brand", "name": "Hersteller" }
- Shopify: Marke steht üblicherweise im Feld „Anbieter“ (vendor) des Produkts.
- Shopware, WooCommerce, JTL: Hersteller ist ein eigenes Feld beziehungsweise ein Attribut am Artikel — dort pflegen und ins Markup durchreichen.
- Bei Eigenmarken den eigenen Shopnamen als Marke eintragen, nicht das Feld leer lassen.
- Nur eine Marke pro Produkt, keine Aufzählung aus Hersteller und Serie.
Quelle
Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026)
Beschreibung fehlt: Google muss sich den Text selbst suchen
Befund-Kennung: beschreibung
Was das heißt
Je nachdem, wo der Text fehlt, meldet der Check „Beschreibung fehlt“ für das Produkt oder „Beschreibung der Produktgruppe fehlt“ für die ProductGroup. Gemeint ist immer das Feld description im Markup — nicht die Meta-Description und nicht der Fließtext auf der Seite.
Warum es zählt
Google nennt das Feld ausdrücklich empfohlen: „While the product description is not mandatory, it is strongly recommended to provide a description of the product in this property.“ Für Varianten steht in der Varianten-Dokumentation zusätzlich, dass die Beschreibung der Variante genauer sein soll als die der Gruppe und idealerweise die unterscheidenden Worte wie Farbe, Größe oder Material enthält. Fehlt das Feld, muss Google sich einen Text von der Seite nehmen — in unseren Audits landet dann oft der Versandhinweis im Ergebnis statt der Produktnutzen.
So behebst du es
descriptionmit zwei bis drei Sätzen füllen, die die entscheidenden Merkmale nennen: Material, Maße, Einsatzzweck.- Den Text aus dem Produktdatenfeld des Shops ziehen und HTML-Tags entfernen, sonst stehen
<p>-Reste im Markup. - Bei Varianten: an der
ProductGroupdie gemeinsame Beschreibung, an der Variante die konkrete („… in Dunkelblau, Größe 44“). - Nicht die Meta-Description hineinkopieren — die ist auf Klickanreiz geschrieben, nicht auf Produktbeschreibung.
Wie du den Text aus dem Attributsatz baust, in einer Shop- und einer Feed-Fassung, und wie du jede Angabe gegen die Quelle prüfst: Produktbeschreibungen schreiben.
Quelle
Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026), Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026). Beobachtung zum ersatzweise gewählten Text: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Keine Artikelnummer, keine GTIN: Google kann das Produkt nicht zuordnen
Befund-Kennung: kennung
Was das heißt
Der Befund „Keine Produktkennung“ erscheint, wenn im Markup weder sku noch gtin (in einer der Formen gtin8, gtin12, gtin13, gtin14) noch mpn steht. Der Check meldet ihn als Warnung — das Produkt ist im Markup dann nur über seinen Namen identifizierbar.
Warum es zählt
Google schreibt: „Include all applicable global identifiers“ und empfiehlt, die jeweils spezifischste GTIN zu verwenden, weil sie das Produkt am genauesten abbildet. Über die GTIN erkennt Google, dass dein Artikel dasselbe Produkt ist, das auch andere anbieten — das ist die Grundlage dafür, in Produktübersichten und im Shopping-Bereich überhaupt zugeordnet zu werden. Die Artikelnummer (sku) ist zusätzlich die Klammer zwischen Markup, Feed und Warenwirtschaft.
So behebst du es
gtin13für die EAN aus dem Herstellerdatenblatt undskufür die eigene Artikelnummer ergänzen; bei Ersatzteilen zusätzlichmpn.- Shopify: Feld „Barcode“ der Variante ist die GTIN, „SKU“ die Artikelnummer.
- Shopware: „EAN“ und „Produktnummer“ am Artikel. WooCommerce: SKU unter „Inventar“, GTIN je nach Version als eigenes Feld oder Attribut. JTL: „EAN/GTIN“ und Artikelnummer aus der Wawi.
- Eigenprodukte ohne EAN: nur
skusetzen und das GTIN-Feld weglassen, statt eine Nummer zu erfinden.
Quelle
Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026)
Keine Bewertungen im Markup: keine Sterne im Suchergebnis
Befund-Kennung: bewertung
Was das heißt
„Keine Bewertungen im Markup“ heißt: im Product steht weder aggregateRating noch ein einzelnes review. Der Check meldet das als Warnung und nicht als Fehler, denn Bewertungen sind ein empfohlenes Feld — und ohne echte Bewertungen im Shop gibt es hier auch nichts zu melden.
Warum es zählt
Die Sterne im Suchergebnis entstehen aus diesen Feldern. Google setzt dafür Regeln, die du kennen solltest, bevor du das Feld füllst: „Don't aggregate reviews or ratings from other websites“ und „Don't include fake or undisclosed incentivized reviews on your page or in your structured data markup“. Verstöße kann Google mit einer manuellen Maßnahme belegen. Die Bewertung muss außerdem auf der Seite sichtbar sein, nicht nur im Markup stehen.
So behebst du es
- Erst echte Bewertungen einsammeln, dann auszeichnen. Ohne Bewertungen bleibt der Befund offen, und das ist in Ordnung.
- Sobald Bewertungen vorliegen:
aggregateRatingmitratingValueundratingCountoderreviewCountausgeben, aus derselben Quelle, die auch auf der Seite angezeigt wird. - Bewertungen von Portalen nicht in dein Produkt-Markup übernehmen. Wenn ein Bewertungsdienst das Markup selbst liefert, prüfen, ob dort deine eigenen Bewertungen stehen.
- Die Sternanzeige ist kein Selbstzweck: Sie wirkt nur, wenn die Bewertungen zum Produkt gehören und auf der Seite lesbar sind.
Quelle
Google Search Central: „Review snippet (Review, AggregateRating) structured data“ (abgerufen 23.09.2026), Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026)
Bewertung unvollständig: die Sterne bleiben trotzdem aus
Befund-Kennung: bewertung_felder
Was das heißt
Der Befund „aggregateRating unvollständig“ erscheint, wenn die Bewertung im Markup steht, aber ein Pflichtfeld fehlt — meist die Anzahl. Typisch ist ein Block mit ratingValue allein, ohne ratingCount und ohne reviewCount. Die Daten sind also da, nur nicht vollständig.
Warum es zählt
Google verlangt für AggregateRating den Durchschnittswert und mindestens eine Anzahl: „At least one of ratingCount or reviewCount is required.“ Fehlt sie, entstehen keine Sterne — der Aufwand, Bewertungen zu sammeln und auszugeben, verpufft an einem fehlenden Zahlenfeld. Das ist der Befund mit dem besten Verhältnis von Aufwand zu Wirkung in dieser Kategorie.
So behebst du es
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": 4.6,
"reviewCount": 37
}
ratingValuemit Punkt als Dezimaltrennzeichen ausgeben, nicht mit Komma.- Google geht bei Zahlen von einer Fünf-Punkte-Skala aus; wenn du anders zählst,
bestRatingundworstRatingmitgeben. - Die Zahl muss zu dem passen, was auf der Seite steht. Unterschiedliche Werte in Markup und Seite sind in unseren Audits ein häufiger Grund, warum Sterne wieder verschwinden.
Quelle
Google Search Central: „Review snippet (Review, AggregateRating) structured data“ (abgerufen 23.09.2026). Abgleich Markup und Seite: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Varianten fehlen in der Produktgruppe: Google sieht kein Sortiment
Befund-Kennung: varianten
Was das heißt
Der Befund „Keine Varianten (hasVariant)“ erscheint, wenn eine ProductGroup im Markup steht, in der keine einzige Variante aufgeführt ist. Auf Shops mit getrennten Variantenseiten kann das richtig sein — dann muss aber jede Variantenseite per isVariantOf auf die Gruppe zeigen. Fehlt beides, kennt Google nur eine leere Hülle.
Warum es zählt
Die ProductGroup ist der Rahmen, mit dem Google Größen und Farben als ein Sortiment versteht statt als fremde Produkte. Google beschreibt zwei Muster: eine Seite, auf der alle Varianten wählbar sind, und mehrere Seiten, die sich gegenseitig kennen. Mit gruppierten Varianten wird die Seite zusätzlich für die Darstellung mit Variantenangaben in Händlereinträgen geeignet.
So behebst du es
- Eine Seite für alle Varianten:
hasVariantan derProductGroupfüllen, je Ausführung einProductmit eigener Kennung, eigenen Merkmalen und eigenem Angebot. - Getrennte Variantenseiten: auf jeder Seite die
ProductGroupwiederholen und das eigeneProductperisVariantOfdarauf verweisen lassen. - In Shopify, Shopware, WooCommerce und JTL sind Varianten im System längst gepflegt — die Aufgabe liegt fast immer im Template, das nur das erste Angebot ausgibt.
- Bei Sortimenten mit sehr vielen Kombinationen zuerst eine Produktfamilie umbauen und im Rich-Results-Test prüfen, dann ausrollen.
Welche Texte die beiden Bauweisen verlangen — ein Text für die ganze Gruppe oder eigene Substanz je Seite: Produktbeschreibungen schreiben.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
Nur Verweise auf andere Variantenseiten: die eigenen Daten fehlen
Befund-Kennung: varianten_verweise
Was das heißt
Im Ergebnis steht „Nur … Verweise auf Varianten anderer Seiten“. Der Check hat in hasVariant nur Einträge gefunden, die aus einer Adresse bestehen — ohne Artikelnummer, ohne Merkmale, ohne Angebot. Die Seite zeigt also auf ihre Geschwister, beschreibt aber die Variante nicht, die man hier tatsächlich kaufen kann.
Warum es zählt
Für Shops mit getrennten Variantenseiten verlangt Google, dass jede Seite für sich vollständig ist: „each page must have full and self-contained markup for the entities defined on that page (meaning, off-page entities shouldn't be necessary to fully understand the markup on the page itself)“. Verweise allein erfüllen das nicht. Google müsste alle Nachbarseiten gelesen und im Kopf behalten haben, um diese Seite zu verstehen.
So behebst du es
- Auf jeder Variantenseite die dort wählbaren Varianten voll ausschreiben:
sku, Merkmale wiecolorundsize,offersmit Preis und Währung. - Die Verweise auf die anderen Seiten dürfen bleiben — sie ergänzen die vollen Daten, sie ersetzen sie nicht.
- Die
ProductGroupmit Name und Gruppen-ID auf jeder dieser Seiten wiederholen; laut Google hat sie im Mehr-Seiten-Muster keine eigene kanonische Adresse. - Prüfen, ob dein Shop das Muster überhaupt braucht: Wenn alle Ausführungen auf einer Seite wählbar sind, ist das Ein-Seiten-Muster der einfachere Weg.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
Keine Gruppen-ID: Google erkennt die Varianten nicht als eine Familie
Befund-Kennung: gruppe_id
Was das heißt
Der Befund „Keine Gruppen-ID“ ist rot und erscheint, wenn weder die ProductGroup ein productGroupID hat noch die Varianten ein inProductGroupWithID. Der Text nennt dir, wenn vorhanden, auch die Zahl der Varianten ohne eigene Gruppenangabe.
Warum es zählt
Google verlangt die Kennung ausdrücklich: „Each product group must have a unique ID in its corresponding structured data markup, specified with the inProductGroupWithID property in variant Product properties or the productGroupID property in the ProductGroup property.“ Diese eine Nummer ist der Klebstoff der Produktfamilie. Ohne sie zerfällt das Sortiment für Google in lauter Einzelartikel, die zufällig ähnlich heißen.
So behebst du es
{
"@type": "ProductGroup",
"name": "Winterjacke Aachen",
"productGroupID": "44E01",
"hasVariant": [ ... ]
}
- Als Wert die Eltern-Artikelnummer verwenden — in Shopware und JTL die Nummer des Vaterartikels, in Shopify die Produkt-ID beziehungsweise der Handle, in WooCommerce die SKU des variablen Produkts.
- Es reicht, die ID an der
ProductGroupzu setzen. Alternativ trägt sie jede Variante alsinProductGroupWithID. - Aus unseren Audits: denselben Wert auch im Merchant-Center-Feed als Item-Group-ID verwenden, damit Feed und Seite dieselbe Familie beschreiben. Das steht nicht in der Varianten-Dokumentation, hat uns aber Abweichungen zwischen Feed und Seite erspart.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026). Hinweis zum gleichen Wert im Merchant-Center-Feed: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Zwei verschiedene Gruppen-IDs: Variante und Gruppe widersprechen sich
Befund-Kennung: gruppe_id_konflikt
Was das heißt
„Gruppen-ID der Variante widerspricht der ProductGroup“ erscheint, wenn beide Angaben vorhanden sind, aber unterschiedliche Werte haben: die ProductGroup nennt zum Beispiel die Vaterartikelnummer, die Variante eine eigene Nummer. Der Check wertet das als Fehler, weil er hier nicht raten kann, was gilt.
Warum es zählt
Google lässt beide Wege zu, verlangt aber Übereinstimmung: Wenn die Kennung für die ProductGroup und für die Varianten angegeben ist, „they must match“. Bei zwei Werten muss Google entscheiden, welcher Familie die Variante gehört — und kann sie auch der falschen zuordnen. In unseren Audits entsteht das fast immer dadurch, dass zwei Quellen gleichzeitig arbeiten: das Theme und ein zusätzliches Markup-Plugin.
So behebst du es
- Eine Quelle festlegen: entweder das Theme oder das SEO-Plugin gibt das Produkt-Markup aus, nicht beide.
- Beide Felder auf denselben Wert setzen — die Artikelnummer des Vaterartikels, nicht die der Variante.
- Am einfachsten ist es,
inProductGroupWithIDin den Varianten weglassen, wenn dieProductGroupeinproductGroupIDträgt. Ein Feld, ein Wert, kein Widerspruch. - Danach im Quelltext nach dem Feldnamen suchen: kommt er mehr als einmal vor, ist noch eine zweite Ausgabe aktiv.
Zwei Markup-Quellen nebeneinander gehören in beiden großen Systemen zu den Standardfunden: Shopify SEO, Shopware SEO.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026). Doppeltes Markup als Ursache: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Produktgruppe ohne Namen: die einzige Pflichtangabe fehlt
Befund-Kennung: gruppe_name
Was das heißt
Der Befund „ProductGroup ohne Namen“ ist rot: im Markup steht eine ProductGroup, aber ohne name. Das ist kein Randfeld — es ist die einzige Pflichtangabe, die Google für die Produktgruppe nennt.
Warum es zählt
In der Liste der erforderlichen Eigenschaften der ProductGroup steht allein name: „The name of the ProductGroup (for example, 'Wool winter coat')“. Google ergänzt, dass die Namen der Varianten spezifischer sein sollen als der Gruppenname, zum Beispiel „Wool winter coat - green, size small“. Fehlt der Gruppenname, ist die Gruppe für Google unbenannt — und damit unbrauchbar, auch wenn alle Varianten sauber darunter hängen.
So behebst du es
- Den Namen des Vaterartikels einsetzen, so wie er als Überschrift auf der Seite steht, ohne Größen- und Farbzusatz.
- Bei den Varianten den Namen konkret machen: Produktname plus die Merkmale, nach denen sie sich unterscheiden.
- In der Praxis liegt der Wert schon im System: Shopify „Titel“ des Produkts, Shopware und JTL Name des Vaterartikels, WooCommerce Titel des variablen Produkts. Meist fehlt nur die Zeile im Template.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
variesBy fehlt: unklar, wodurch sich die Varianten unterscheiden
Befund-Kennung: varies_by
Was das heißt
Der Befund „variesBy fehlt“ ist eine Warnung. Im Markup sind Varianten vorhanden, aber die Gruppe sagt nicht, worin sie sich unterscheiden — ob es also um Größe, Farbe, Material oder Muster geht. Der Check prüft danach auch, ob die Varianten die angekündigten Merkmale wirklich tragen; ohne variesBy fällt dieser Abgleich weg.
Warum es zählt
variesBy ist Googles Weg, die unterscheidenden Eigenschaften zu benennen: „Aspects by which the variants in the ProductGroup vary, (for example, size or color)“. Damit kann Google die Ausführungen sinnvoll gruppieren und in Händlereinträgen mit Variantenangaben anzeigen. Ohne dieses Feld bleibt eine Liste ähnlicher Produkte, deren Unterschied Google selbst erraten müsste.
So behebst du es
"variesBy": [
"https://schema.org/color",
"https://schema.org/size"
]
- Die Werte als vollständige schema.org-Adresse angeben, nicht als Kurzname und nicht als deutsches Wort.
- Nur die Merkmale nennen, die sich tatsächlich unterscheiden. Bei einem Schuh in einer Farbe und acht Größen steht dort nur die Größe.
- Die Merkmale müssen dann auch in jeder Variante stehen, siehe Varianten ohne Merkmale.
- In den Shop-Systemen entsprechen sie den Variantenachsen (Shopify „Optionen“, Shopware „Eigenschaften“, WooCommerce „Attribute“, JTL „Variationen“) — dort ist die Information schon hinterlegt.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
variesBy nennt etwas, das Google nicht unterstützt
Befund-Kennung: varies_by_wert
Was das heißt
„variesBy mit nicht unterstütztem Wert“ listet die Werte auf, die der Check nicht zuordnen kann — zum Beispiel „Länge“, „variant“ oder ein eigenes Attribut aus dem Shop. Der Befund ist eine Warnung: die übrigen Werte gelten weiter, der nicht unterstützte wird verworfen.
Warum es zählt
Google unterstützt für variesBy genau sechs Eigenschaften: color, size, suggestedAge, suggestedGender, material und pattern, jeweils als schema.org-Adresse. Alles andere ist kein Fehler im Sinne von kaputt, aber es leistet nichts. Wer seine Varianten nach einer eigenen Achse sortiert, muss sie auf eine dieser sechs abbilden — oder die Angabe weglassen.
So behebst du es
- Eigene Achsen auf die unterstützten Eigenschaften übersetzen: „Farbvariante“ wird
color, „Stoff“ wirdmaterial, „Dessin“ wirdpattern. - Passt die Achse auf keine der sechs — etwa Länge oder Leistung — dann
variesByfür diese Achse weglassen und die Eigenschaft als normales Produktmerkmal ausgeben. - Die Adresse genau so übernehmen, wie Google sie auflistet:
color,size,materialundpatternklein,suggestedAgeundsuggestedGendermit großem Binnenbuchstaben. Kleingeschrieben wären die beiden ungültig. - Nach der Korrektur prüfen, ob die Varianten dieselben Merkmale tragen — sonst wandert der Befund nur eine Zeile weiter.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
Varianten ohne eigene Kennung: Google kann sie nicht auseinanderhalten
Befund-Kennung: variante_kennung
Was das heißt
Im Ergebnis steht „… von … Varianten ohne eigene Kennung“ mit beiden Zahlen. Der Check hat Varianten gefunden, die keine sku und keine gtin tragen. Der Befund ist rot, weil die Kennung laut Google keine Empfehlung, sondern eine technische Voraussetzung ist.
Warum es zählt
In den Richtlinien für Varianten steht: „Each variant must have a unique ID in its corresponding structured data markup (for example, using the sku or gtin properties).“ Ohne diese Kennung sind zwei Varianten für Google dasselbe Ding in zwei Zeilen. Preis und Verfügbarkeit lassen sich dann nicht der richtigen Ausführung zuordnen — und genau das ist der Grund, warum die Gruppierung überhaupt gemacht wird.
So behebst du es
- Je Variante
skuaus der Warenwirtschaft ausgeben, zusätzlichgtin13, wenn eine EAN je Ausführung existiert. - Die Werte stehen in allen gängigen Systemen an der Variante, nicht am Vaterartikel: Shopify SKU und Barcode der Variante, Shopware Produktnummer der Variante, WooCommerce SKU der Variation, JTL Artikelnummer des Variationskindes.
- Nicht die Nummer des Vaterartikels in alle Varianten schreiben — daraus wird der nächste Befund, siehe doppelte Kennungen.
- Keine Kennungen aus der Datenbank-ID erfinden, wenn die echte Artikelnummer existiert: sie soll zu Feed und Rechnung passen.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
Zwei Varianten mit derselben Kennung: Google hält sie für eine
Befund-Kennung: variante_kennung_doppelt
Was das heißt
Der rote Befund „Varianten teilen sich eine Kennung“ nennt die Anzahl der Kennungen, die mehrfach vorkommen. Typischer Fall: das Template gibt in jeder Variante die Artikelnummer des Vaterartikels aus, oder dieselbe EAN steht bei allen Größen.
Warum es zählt
Google verlangt je Variante eine eindeutige Kennung — dieselbe Regel wie oben, hier von der anderen Seite: „Each variant must have a unique ID in its corresponding structured data markup“. Doppelte Kennungen sind schlimmer als fehlende, weil sie eine falsche Information transportieren. Google darf daraus schließen, dass es ein Produkt mit mehreren Preisen gibt, und zeigt am Ende den falschen.
So behebst du es
- Im Template prüfen, ob die Ausgabe wirklich in der Variantenschleife steht und nicht auf das Produkt zugreift.
- EANs nur dort ausgeben, wo sie je Ausführung gepflegt sind. Steht überall dieselbe, das Feld weglassen und nur die
skuje Variante liefern. - Kurzer Selbsttest: Quelltext öffnen, nach
"sku"suchen, Werte vergleichen. Wenn sie gleich sind, ist der Fehler gefunden. - Nach dem Fix denselben Prüfschritt auf ein Produkt mit vielen Kombinationen anwenden, dort fällt es am ehesten wieder auf.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
GTIN im falschen Format: die Nummer wird verworfen
Befund-Kennung: variante_gtin_format
Was das heißt
Der Befund „… Variante(n) mit ungültiger GTIN“ zählt die Varianten, deren GTIN nicht dem erwarteten Format entspricht. Der Check rechnet die Prüfziffer nach und sieht sich die Länge an: gültig sind 8, 12, 13 oder 14 Stellen, nur Ziffern. Häufige Ursachen sind eine abgeschnittene führende Null, ein Leerzeichen oder eine Nummer in URL-Form.
Warum es zählt
Google verlangt für die GTIN die numerische Form und nennt die URL-Form ausdrücklich als nicht unterstützt; außerdem empfiehlt Google die spezifischste GTIN-Eigenschaft, die zum Produkt passt. Eine Nummer mit falscher Prüfziffer ist keine GTIN, sondern eine Ziffernfolge — Google kann dein Angebot damit nicht dem Produkt zuordnen, das andere Händler auch führen. Der Rest des Markups bleibt gültig, dieser Teil fällt weg.
So behebst du es
- Die GTIN unverändert aus der Warenwirtschaft übernehmen, ohne Leerzeichen, Bindestriche oder Präfixe.
- Führende Nullen erhalten: das Feld als Text ausgeben, nicht als Zahl. Genau hier entstehen aus 13 Stellen zwölf.
- Die passende Eigenschaft wählen:
gtin13für die EAN,gtin12für UPC,gtin14für Umkartons. - Fehlt die echte Nummer, das Feld weglassen. Eine falsche GTIN ist schlechter als keine.
Quelle
Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026), Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
Leerzeichen in der SKU: sieht harmlos aus, ist aber unzulässig
Befund-Kennung: variante_sku_format
Was das heißt
Der Befund „… Variante(n) mit Leerzeichen in der SKU“ ist eine Warnung und zählt die betroffenen Varianten. Der Check schaut nur auf das Format, nicht auf den Inhalt — er kann dir nicht sagen, ob der Wert überhaupt deine echte Artikelnummer ist. Das ist die zweite Frage, die du bei diesem Befund prüfen solltest.
Warum es zählt
Für die sku nennt Google eine klare Formatregel: „The sku value must not contain any whitespace characters (as defined by the Unicode whitespace property)“, empfohlen werden ausschließlich ASCII-Zeichen. Über diese Formatfrage hinaus ist der Befund für uns ein Hinweis auf die Datenpflege: Wenn in der SKU ein Leerzeichen und ein Zusatz wie „Gr. 44“ steht, kommt der Wert meist aus einem Textfeld statt aus der Artikelnummer — und dann passt er nicht zu Feed, Warenwirtschaft und Rechnung.
So behebst du es
- Leerzeichen entfernen und stattdessen Bindestrich oder Unterstrich verwenden, in der Datenquelle und nicht erst im Template.
- Prüfen, woher der Wert kommt: Steht dort wirklich die Artikelnummer, oder eine zusammengesetzte Bezeichnung? Im zweiten Fall auf das Artikelnummer-Feld umstellen.
- Umlaute und Sonderzeichen vermeiden, damit der Wert in Feeds und Exporten unverändert bleibt.
- Denselben Wert überall verwenden: Markup, Merchant-Center-Feed und Warenwirtschaft sollen dieselbe Nummer nennen.
Quelle
Formatregel: Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026). Einschätzung zur Datenherkunft: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Varianten ohne Farbe und Größe: das Unterscheidungsmerkmal fehlt
Befund-Kennung: variante_eigenschaft
Was das heißt
Im Ergebnis steht „… Varianten ohne die Merkmale aus variesBy“. Die Gruppe kündigt also an, dass sich die Ausführungen zum Beispiel in Farbe und Größe unterscheiden, aber in den Varianten selbst fehlen die Felder color oder size. Der Check meldet das als Warnung und nennt die Zahl der betroffenen Varianten.
Warum es zählt
Google formuliert die Merkmale in den Varianten nicht als Pflicht, zeigt sie aber in jedem Beispiel der Dokumentation und empfiehlt, die Beschreibung der Variante mit den unterscheidenden Worten wie Farbe, Größe oder Material zu füllen. Aus unserer Sicht ist der Nutzen einfach: Wenn die Variante nicht sagt, welche Ausführung sie ist, bleibt vom gruppierten Sortiment nur eine Aufzählung von Artikelnummern.
So behebst du es
- In jeder Variante die Felder ausgeben, die in
variesBygenannt sind — bei Kleidung typischerweisecolorundsize, dazu passendmaterialoderpattern. - Die Werte so schreiben, wie der Kunde sie im Shop sieht („Dunkelblau“, „44“), nicht als interne Codes.
- Ein Wert je Feld. Für Größenangaben mit Systemen (EU, UK) sieht Google ein eigenes Objekt vor; im Zweifel den sichtbaren Text verwenden.
- Die Merkmale liegen in allen gängigen Systemen an der Variante — der Fix sitzt fast immer im Template, nicht in den Daten.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026), Google Search Central: „Merchant listing (Product, Offer) structured data“ (abgerufen 23.09.2026). Bewertung des Nutzens: Erfahrungswert aus unseren Audits — keine Google-Vorgabe.
Varianten ohne eigene Adresse: Google kann sie nicht einzeln aufrufen
Befund-Kennung: variante_url
Was das heißt
„… Varianten ohne eigene URL“ heißt: der Check hat in den Varianten weder am Angebot noch am Produkt eine Adresse gefunden. Er prüft dabei beide Stellen, weil Google beide zulässt. Ohne Adresse weiß Google nicht, wie man genau diese Ausführung aufruft.
Warum es zählt
Die Richtlinie ist deutlich: „The site must have the ability to preselect each variant directly with a distinct URL (using URL query parameters)“ — und diese Vorauswahl muss das richtige Bild, den richtigen Preis, die richtige Verfügbarkeit zeigen und den Artikel in den Warenkorb legen lassen. Im Markup ist die Adresse nicht Pflicht, aber sie ist der direkte Weg, Google diese Adressen zu zeigen, statt zu hoffen, dass es sie findet.
So behebst du es
- Erst im Shop prüfen: Öffnet eine Adresse wie
/winterjacke?farbe=blau&groesse=44die Seite mit vorausgewählter Ausführung? Wenn nicht, ist das die eigentliche Aufgabe, und sie liegt im Shop, nicht im Markup. - Dann je Variante die
urlausgeben, amoffers-Objekt oder amProduct, mit genau dieser vorauswählenden Adresse. - Bei getrennten Variantenseiten ist es die jeweilige Produktseite.
- Die Gruppen-Adresse bleibt die Basisadresse ohne Variantenparameter; laut Google gibt es im Ein-Seiten-Muster nur eine kanonische Adresse für die Gruppe.
Wie die Systeme Variantenadressen bauen — Shopify über ?variant=, Shopware über eigene SEO-URLs je Variante samt Canonical-Einstellung: Shopify SEO und Shopware SEO.
Quelle
Google Search Central: „Product variant structured data (ProductGroup, Product)“ (abgerufen 23.09.2026)
In welcher Reihenfolge du das abarbeitest
Aus der Praxis hat sich diese Reihenfolge bewährt: erst überhaupt Markup ausgeben und lesbar machen, dann die Pflichtfelder, dann die Varianten, dann die Kür.
- Markup vorhanden und fehlerfrei lesbar — Product-Markup, JSON-LD-Fehler, ein Produkt je Seite.
- Pflicht- und Kernfelder — Name, Bild, Angebot, dazu Kennung, Marke, Beschreibung.
- Varianten sauber gruppieren — Gruppen-ID, hasVariant, Kennung je Variante, Adresse je Variante.
- Feinschliff — variesBy, Merkmale je Variante, Bewertungsfelder.
Und ein Hinweis, der viel Zeit spart: Bau die Korrektur an einem Produkt fertig, prüf sie im Rich-Results-Test und im Website-Check, und roll sie erst dann über das Template auf das Sortiment aus. Ein Fehler im Template ist ein Fehler auf allen Produktseiten.
Prüf deine Domain. Der Website-Check holt deine Seite ab, prüft Produktdaten, Markup, Technik, Inhalt, Vorschau, Indexierung und KI-Sichtbarkeit und nennt jeden Befund mit Namen. Das Ergebnis des Website-Checks verlinkt bei jedem Befund genau hierher, damit du nicht nur weißt, was fehlt, sondern auch, was du damit machst.