Google-Suche und -Shopping, Produktvarianten und eine zu schließende Lücke
„Eine Lücke, die es zu überbrücken gilt … Welche Lücke, welche Brücke?“
Entspannen; gib mir einen Moment. Ich habe noch kein Wort gesagt.
Lassen Sie mich zunächst die Entitäten klären, um die sich dieser Artikel dreht, damit Sie verstehen, von wem und worüber ich eigentlich spreche:
- Google-Suche: Einfach die alte Google-Suche, wie wir sie seit 1998 kennen.
- Google Shopping: Ein Google-Dienst, der Ihnen seit 2010 das Suchen, Anzeigen und Vergleichen von Produkten ermöglicht.
- Google Merchant Center (GMC): Eine Plattform, mit der Sie seit 2010 verwalten können, wie Ihre Produkte in einigen der verschiedenen Dienste von Google angezeigt werden. Diese beinhalten organische Ergebnisse in der Google-Suche [1]Google Shopping [2]Google Maps, YouTube, Google Bilder und Google Lens und Google-Anzeigen Kanäle wie die Google-Suche [1]Google Shopping [2]Google Maps, YouTube, Google Bilder und Google Discover.
Was die „Lücke“ betrifft, nach der Sie gefragt haben, hängt sie mit der komplexen Beziehung zwischen der Google-Suche, Google Shopping und ihrem Vermittler, dem Google Merchant Center, und der Tatsache zusammen, dass noch eine technische Lücke geschlossen werden muss, damit diese Beziehung beginnen kann effizient arbeiten.
Sie haben in den letzten drei bis vier Jahren gemeinsam daran gearbeitet, diese Lücke zu schließen, doch sie muss noch vollständig geschlossen werden.
Es ist eine Lücke, die sich in der Art und Weise zeigt, wie wir (a) dürfen Verwenden Sie GMC, um Produktvarianten in Google Shopping einzubinden und zu aktualisieren vs. (b) kann nicht tun Sie dies effizient durch strukturiertes Datenmarkup und Google-Suche.
Dies macht Produkt-Feeds in der Praxis immer noch zur bevorzugten und solidesten Lösung für jeden Händler da draußen.
Widersprüchliche Markup-Anforderungen für strukturierte Daten
Diese Lücke erstreckte sich lange Zeit auch auf einige der Markup-Anforderungen für strukturierte Daten, die beide Parteien einhielten.
Diese Diskrepanzen führten häufig dazu, dass das Google Merchant Center damit nicht zufrieden war, obwohl unser Produkt- und Angebotsmarkup für die Google-Suche in Ordnung war – und umgekehrt.
Oftmals konnten wir dieses Problem nur lösen, indem wir einen Teil unseres Markups duplizierten und ihn ganz leicht anders modellierten.
Dies zwang uns dazu, überflüssige Informationen zu veröffentlichen, da die verschiedenen Seiten von Google die Anforderungen der jeweils anderen nicht (oder zumindest nicht ausreichend) berücksichtigten – und überließ es uns, dieses Durcheinander zu verstehen und zu bewältigen.
Verschiedene Teile von Google begannen schließlich mit dem Bau einer Brücke
Schließlich begannen die verschiedenen beteiligten Google-Parteien, ihre Markup-Anforderungen für strukturierte Daten anzugleichen.
Dies geschah noch bevor angekündigt wurde, dass Google Shopping mit der Einbeziehung organischer Ergebnisse beginnen würde, was ein sehr wichtiger Fortschritt war, da Produkte nun endlich kostenlos in Google Shopping aufgenommen werden konnten.
Ein Hoch auf uns, die Leute, die die benötigten strukturierten Daten erstellen müssen, sich dabei aber oft in der Vorgehensweise verlieren – und auch die Leute, die schon immer in Google Shopping aufgenommen werden wollten, es sich aber nicht leisten konnten.
Dies signalisierte eine Änderung der Haltung, deren Auswirkungen wir auf schema.org bereits Mitte 2019 beobachten konnten, als die ersten Anfragen nach Änderungen am Wortschatz eingingen und veröffentlicht wurden.
Um diesen Punkt zu veranschaulichen, finden Sie hier eine Liste der Typen, Eigenschaften und Aufzählungen, die im ersten Jahr nach diesem Zeitpunkt hinzugefügt und/oder geändert wurden:
- 01.07.2019, schema.org-Version 3.8: ProductReturnPolicy, gtin.
- 21.01.2020, schema.org Version 6.0: MerchantReturnPolicy.
- 01.05.2020, schema.org Version 8.0: OfferShippingDetails, DeliveryTime, DoesNotShip, ShippingDestination, ShippingLabel, ShippingRate, ShippingSettingsLink, TransitTimeLabel, ShippingDeliveryTime, DefinedRegion, PostalCodeRangeSpecification, OfferShippingDetails, ShippingRateSettings.
- 21.07.2020, schema.org Version 9.0: Größe, Muster, Produktgruppe, variiertBy, hasVariant, produktGruppeID, isVariantOf, Produktsammlung.
- 07.09.2020, schema.org-Version 10.0: hasEnergyConsumptionDetails, EnergyConsumptionDetails, hasEnergyEfficiencyCategory, EnergyEfficiencyEnumeration, EUEnergyEfficiencyEnumeration, EnergyStarEnergyEfficiencyEnumeration, EnergyEfficiencyScaleMax, EnergyEfficiencyScaleMin.
- Eine vollständige Übersicht aller Updates finden Sie auf der Release-Seite von schema.org (jetzt in Version 23.0).
Hindernisse werden durch semantische Bausteine ersetzt
Seitdem wurden viele Produktattribute von GMC in neue schema.org-Typen, Eigenschaften und Datenformen übersetzt.
Dies ist ein ernsthafter Versuch, uns zu ermöglichen, alles auszudrücken, was wir in GMC-Produkt-Feeds durch schema.org-Annotationen ausdrücken können – und so die Abhängigkeit von Google von Feeds zu verringern und uns gleichzeitig eine neue Möglichkeit zu bieten, dasselbe zu erreichen.
Es ist ein Prozess, der noch lange nicht abgeschlossen ist, auch wenn er inzwischen nicht mehr nur eine Theorie ist.
Wir alle haben die Veränderungen in den letzten Jahren gesehen, darunter Änderungen in der Google-Suche und den Google Shopping-Ergebnissen, im Google Merchant Center und in der Dokumentation zu strukturierten Daten von Google sowie in den Berichten der Google Search Console.
Aber es kommt noch mehr, allen voran der größte (SEO-)Elefant im Raum für E-Commerce-Seiten: die effiziente Unterstützung von Produktvarianten über die Google-Suche.
Google Shopping zeigt Produktvarianten in einem einzigen Ergebnis, die Google-Suche (noch?) nicht
Ein Google Shopping-Anzeigentyp, aber auch eine Funktion für die Auflistung organischer Produktvarianten.
Produktvarianten werden über das in Produkt-Feeds zusammengefasst [item_group_id] Attribut, zusammen mit anderen Produkt-Feed-Attributen wie [color], [size], [material], [pattern]usw.
Dies ist ein Attribut, das bis vor nicht allzu langer Zeit kein schema.org-Äquivalent hatte und daher in keiner Form von strukturierten Daten außerhalb von GMC-Produkt-Feeds ausgedrückt werden konnte – was uns daran hinderte, Produktvariantenbeziehungen in strukturierten Daten auszudrücken Markup und hält uns von GMC abhängig.
Wir stellen ein (etwas neues) grundlegendes Teil des Puzzles vor
Eine Übersetzung eines GMC-Produktattributs in die schema.org-Sprache, die im Juli 2020 zu schema.org hinzugefügt wurde, aber erst im September 2022 in der Dokumentation von GMC oder im Funktionsleitfaden für strukturierte Daten von Google erschien:
- [item_group_id] = schema.org/inProductGroupWithID
Dies ist eine Eigenschaft, die auf den ersten Blick den Eindruck erwecken könnte, dass das Problem gelöst wurde, da sie es uns ermöglicht, ein Produkt-Markup zu erstellen, das die gleichen Beziehungen beschreibt, die unsere GMC-XML-Feeds haben:
{"@context": "https://schema.org","@type": "Product","name": "Yellow summer t-shirt XL","description": "Extra large yellow t-shirt for the summer months.","image": "https://behmaster.ir/wp-content/uploads/2023/12/localimages/yellow-summer-t-shirt.jpg","inProductGroupWithID": "abc123","gtin": "8710123456789","color": "yellow","size": { // Make sure to also look into the new size property. It is a beast."@type": "SizeSpecification","name": "XL","sizeSystem": "https://schema.org/WearableSizeSystemUS","sizeGroup": ["https://schema.org/WearableSizeGroupBig","https://schema.org/WearableSizeGroupTall"]},"offers": {"@type": "Offer","url": "https://www.example.com/products/summer-t-shirt?size=xl","priceCurrency": "USD","price": 19.99,"itemCondition": "https://schema.org/NewCondition","availability": "https://schema.org/InStock"}}
Notiz: Sie müssen die Eigenschaft inProductGroupWithID zum Markup aller Produktvarianten-Detailseiten hinzufügen, die Teil einer Gruppe sind – obwohl genau hier auch das nächste Problem auftritt.
XML-Feeds vs. Semantische Annotationen – Ein Kampf um Effizienz
Viele denken nicht lange darüber nach, aber die Realität ist, dass das Sammeln strukturierter Datenmarkierungen über Webseiten – im Webmaßstab – eine ziemlich komplexe und ressourcenintensive Aufgabe ist.
Das bedeutet, dass Google viel Aufwand (und Geld) investieren muss, um all diese Informationen zu sammeln. Und damit ist es noch nicht getan.
Nach dem Sammeln all dieser Informationen muss Google noch alle Produktvarianteninformationen kombinieren und herausfinden, wie all diese verschiedenen Produkte zusammenpassen.
Oh, und dann ist da noch die Tatsache, dass es mit der enormen Menge an Markup-Fehlern klarkommen muss – was die Verarbeitung solcher Informationen noch schwieriger macht.
Es ist ein Prozess, der niemals aufhört, da Google auch hinsichtlich Werten wie Verfügbarkeit, Preis, Versandkosten usw. auf dem Laufenden bleiben muss – Informationen, die in der Regel nicht sehr statisch sind.
Und das muss Google für jede einzelne Produktdetailseite Ihrer Website immer wieder tun.
Kanonische URLs sind kontraproduktiv, wenn es darum geht, Produktvarianteninformationen auf dem neuesten Stand zu halten
Möglicherweise wissen Sie nicht, dass sowohl die Google-Suche als auch GMC einige Richtlinien zu Produktvarianten und deren Kanonisierung haben.
Dies ist etwas, was beide in ihrem Funktionsleitfaden für strukturierte Daten sowie in ihrer Merchant Center-Dokumentation erwähnen – Informationen, die ich auf jeden Fall zur Lektüre empfehle.
Wenn Sie sich jedoch schon einmal mit technischem SEO beschäftigt haben, dürfte Ihnen das nichts Neues sein. Wenn dies tatsächlich der Fall ist, wissen Sie möglicherweise auch, dass Google-Bots dazu neigen, kanonisierte URLs wesentlich seltener zu crawlen als die URLs, die dies tun bezieht sich auf.
Eine Crawling-Rate, die tendenziell weiter sinkt, je länger eine kanonische Empfehlung an Ort und Stelle bleibt.
Der Grund dafür ist, dass es sich um ein klares Signal an die Google-Suche handelt, das auf (nahezu) doppelten Inhalt sowie den Speicherort der wichtigsten Version dieses (fast) doppelten Inhalts hinweist.
Dadurch kann Google leicht herausfinden, welche URLs die meiste Aufmerksamkeit erhalten sollten – was für Google wichtig ist, da es Ihrer/Ihren Website(s) nur eine begrenzte Anzahl an Ressourcen zuweisen kann.
Das ist für die Google-Suche sehr effizient, aber nicht für Sie und beispielsweise diejenigen Ihrer Produkte, die eine Zeit lang nicht vorrätig waren und jetzt wieder zum Verkauf angeboten werden – aber das tun Sie nicht! Denn die Google-Bots nehmen sich die Zeit, Ihre Produktseiten erneut zu crawlen. Das bedeutet, dass Ihre Produktsuchergebnisse auf Seite 3 immer noch darauf hinweisen, dass sie nicht vorrätig sind oder noch weiter unten in der Schwebe sind.
Oh, und wie wäre es mit Ihren Google Shopping-Einträgen für vergriffene organische Produkte? Wie läuft es bei Ihnen?
Natürlich können Sie das ändern
Dann diese
Da fliegt die „Aktualisierung Ihrer Google Shopping- und Google-Suchergebnisse über strukturiertes Daten-Markup“ aus dem Fenster.
GMC-Feeds – immer noch die effektivste Möglichkeit, Google über Produktaktualisierungen zu informieren
Google muss nur eine begrenzte Anzahl an Produkt-Feeds abrufen. Dadurch bieten sie Google eine viel einfachere und kostengünstigere Möglichkeit, an vollständige und aktuelle Produktdatensätze zu gelangen.
Ich sage nicht, dass die in Feeds enthaltenen Daten immer perfekt sind. (Überraschung! Sie sehen oft auch aus wie eine explodierte Piñata.) Aber zumindest muss Google nicht im Vorfeld ganze Domains crawlen, um ein vollständiges Bild zu erhalten.
Diese Situation bringt uns zum nächsten Teil des Puzzles: einer neuen Klasse, die uns hilft, einige dieser Informationen an zentraleren Orten auf unseren Websites zu bündeln – wahrscheinlich an den gleichen Orten wie Ihre Produktvariante URLs verweisen auf.
Dies macht es für Google einfacher, zu einigen wichtigen Puzzleteilen zu gelangen, bevor jedes einzelne Produkt gecrawlt wird, da alle auf diese zentralere Version Ihres strukturierten Daten-Markups verweisen können.
Und da Ihre kanonischen Ziel-URLs viel häufiger gecrawlt werden, werden auch Ihre Produktsuchergebnisse häufiger aktualisiert, wodurch ein Großteil der Effizienzlücke zwischen Produkt-Feeds und strukturiertem Daten-Markup geschlossen wird.
Wir stellen vor: Schema.org/ProductGroup
Beachten Sie, dass ich nicht alles wiederhole, was in der Beschreibung bereits zum Ausdruck kommt (Tipp: Lesen Sie immer das Handbuch!).
Dennoch werde ich versuchen, ein Szenario zu erklären, in dem diese neue Klasse meiner Meinung nach sehr nützlich ist und wahrscheinlich in naher Zukunft irgendwo in der Dokumentation von Google auftaucht.
Aber zuerst ein Wort der Vorsicht
Der Grund, warum ich „wahrscheinlich“ betont habe, liegt darin, dass bis zu dem Moment, in dem Google endlich seine Ankündigung(en) macht, niemand genau wissen wird, wie es diesen neuen Typ implementieren und nutzen wird – und auch nicht, wie andere Verbraucher derselben Daten darauf reagieren werden es oder nicht (z. B. Bing, Facebook, Pinterest usw.).
Dies bedeutet, dass, bis Google i Aufgrund dieser Ankündigungen sollten Sie sehr vorsichtig sein, wenn jemand behauptet zu wissen, wie sich dies im Laufe der Zeit entwickeln wird. Sogar die Leute bei schema.org und Google wissen es nicht genau, also lassen Sie sich von niemand anderem sagen, dass sie es wissen.
Eines ist jedoch sicher: Viele zukünftige Entwicklungen werden stark vom Feedback von Kunden und Kollegen abhängen. Das bedeutet, dass es wahrscheinlich auch einen sehr agilen Evolutionsprozess durchlaufen wird.
Das zeigt sich schon daran, dass Google schon seit Jahren dabei ist und immer noch nicht jedes einzelne Detail fertiggestellt hat – um noch Spielraum zum Wackeln zu lassen.
Worauf Sie sich vorbereiten müssen, bevor die Produktgruppe bekannt gegeben wird
Angesichts der Tatsache, dass ich zu den Personen gehöre, die seit sehr langer Zeit an den Diskussionen zu diesem Thema auf schema.org beteiligt sind, und der Tatsache, dass einige Google-Mitarbeiter ebenfalls eine sehr aktive Rolle in diesen Diskussionen gespielt haben, Ich bin zuversichtlich genug, Ihnen zumindest einige Einblicke in das Warum und Wie hinter einigen Dingen zu geben, die in der (nahen) Zukunft auf uns zukommen werden.
Dadurch hoffe ich, dass Sie genügend Zeit haben, sich mit der Angelegenheit zu befassen, bevor Google irgendwelche Ankündigungen macht – denn die Wahrscheinlichkeit ist hoch, dass die Implementierung dieser Art von Markup mit einigen technischen Herausforderungen verbunden sein wird.
Ich gehe davon aus, dass Sie etwas Zeit brauchen werden, um sich mit allem vertraut zu machen, was damit verbunden ist, damit Sie herausfinden können, was getan werden muss, bevor es zur Realität wird. Zum Beispiel:
- Stehen Ihnen die benötigten Daten zur Verfügung?
- Können Ihre Systeme alle Teile des Markups zum richtigen Zeitpunkt produzieren?
- Können Sie auf der kanonischen URL ein anderes Markup bereitstellen als auf den anderen Produktvarianten-URLs?
- Falls Sie Feeds haben, wie stellen Sie sicher, dass die Daten in Ihrem Markup und Ihren Feeds synchron bleiben?
- Usw.
Und wenn Sie sich nicht darauf vorbereiten, ist die Wahrscheinlichkeit groß, dass Sie überrascht werden, wenn Google endlich seine Ankündigungen macht, und sich anschließend in ein Rattenrennen begeben, in dem Sie verzweifelt versuchen, mit Ihren Konkurrenten gleichzuziehen.
Haftungsausschluss
Sie sollten vorsichtig sein, wenn Sie meine Ansichten dazu als Tatsachen betrachten. Die Dinge, die ich als Nächstes beschreibe, sind voreingenommen von den Absichten und Anwendungsfällen, die ich im Sinn hatte, als ich die Diskussion auf schema.org neu begann.
Und da ich „nur Jarno“ bin, eine einzelne Person, bedeutet das nicht, dass andere (also die Konsumenten dieses „Zeugs“) es genauso nutzen werden, wie ich es gerne hätte, und auch nicht, dass sie genau das haben Ich hatte die gleichen Anwendungsfälle im Sinn wie ich.
Dennoch bin ich sicher, dass ich einen Teil des Vorhangs für Sie öffnen kann, damit Sie sich Ihre eigenen Vorstellungen und Meinungen darüber bilden können, wohin dies führt und wie Sie es nutzen könnten.
Informieren Sie Google darüber, wo Produktgruppeninformationen zu finden sind
Wenn wir mit dem zuvor verwendeten Markup-Beispiel fortfahren, werden Sie feststellen, dass es recht einfach ist, Verbraucher über die Existenz von Seiten mit Produktgruppeninformationen zu informieren.
Wir müssen lediglich ein paar neue Markupzeilen zum Markup auf allen Detailseiten Ihrer Produktvarianten hinzufügen, die Teil einer Produktgruppe sind.
{"@context": "https://schema.org","@type": "Product","name": "Yellow summer t-shirt XL","description": "Extra large yellow t-shirt for the summer months.","image": "https://behmaster.ir/wp-content/uploads/2023/12/localimages/yellow-summer-t-shirt.jpg","inProductGroupWithID": "abc123","gtin": "8710123456789","color": "yellow","size": { // Make sure to also look into the new size property. It is a beast."@type": "SizeSpecification","name": "XL","sizeSystem": "https://schema.org/WearableSizeSystemUS","sizeGroup": ["https://schema.org/WearableSizeGroupBig","https://schema.org/WearableSizeGroupTall"]},"offers": {"@type": "Offer","url": "https://www.example.com/products/summer-t-shirt?color=yellow&size=xl","priceCurrency": "USD","price": 19.99,"itemCondition": "https://schema.org/NewCondition","availability": "https://schema.org/InStock"},"isVariantOf": {"@type": "ProductGroup","productGroupID": "abc123","url": "https://www.example.com/products/summer-t-shirt"}}
Obwohl während der Diskussionen auf schema.org vorgeschlagen wurde, dass „Konsumenten solcher Daten“ eine noch kompaktere Form der Annotation von isVariantOf-Informationen ermöglichen sollten, nämlich:
- „isVariantOf“: „https://www.example.com/products/summer-t-shirt“
Der Grund dafür ist, dass dies aus der Sicht eines Herausgebers viel einfacher zu erstellen ist und dennoch zum gleichen Endergebnis führt: ein Verweis auf einen Einstiegspunkt, an dem die eigentlichen ProductGroup-Informationen gefunden werden können, ohne den Großteil Ihrer Informationen mit einer Menge Markup-Füllung zu versehen Seiten.
Wir hoffen, dass Google diesem Vorschlag zuhört. (Hinweis: Es ist besser darin, auf Vorschläge zu hören, als viele ihm zutrauen.)
Was die Veröffentlichung von ProductGroup-Informationen angeht – wie ich bereits gesagt habe, gehe ich davon aus, dass Google uns anweisen wird, das Markup auf der kanonischen URL der Produktvarianten zu veröffentlichen, die Teil einer Gruppe sind, um mit den aktuellen Richtlinien dazu konform zu bleiben Umgang mit Produktvarianten-URLs.
Einige hoffnungsvolle Spekulationen
Vielleicht wird dies eines Tages dazu führen, dass wir nicht immer für jede einzelne Produktvariante eine kanonische URL auswählen müssen – eine ziemlich umständliche und technisch komplexe Aufgabe.
Als ob das nicht schon genug Aufgabe wäre, kommt noch hinzu, dass viele E-Commerce-Plattformen solche Out-of-the-Box-Funktionen nicht bieten.
Stattdessen verfügen viele Plattformen über eine Art ProductGroup-ähnliche Seite in Form einer Produktdetailseite ohne festgelegte variable Eigenschaften (die auf Benutzerinteraktion warten).
Wäre es nicht wirklich praktisch, wenn Sie das ProductGroup-Markup einfach unter dieser einzigen URL veröffentlichen könnten, die Ihnen zur Verfügung steht (pro Produktgruppe), und dass es auch alle Informationen zur Produktvariante enthält?
Stellen Sie sich vor, wir könnten das tun, ohne Rich-Suchergebnisse zu verlieren – was sich irgendwie anfühlt, als würden wir dafür bestraft, dass wir versuchen, transparent zu sein und die vollständige (Daten-)Geschichte Ihrer Webseiten zu erzählen!
Wer weiß; vielleicht schaffen wir es eines Tages. Mit ProductGroup gibt es nun zumindest eine schema.org-Klasse, die theoretisch eine funktionierende Lösung bietet.
Ich schätze, die Zeit wird zeigen, ob Google auch den Wert und die Notwendigkeit dafür erkennt.
„Jetzt reicht es mit dem ganzen Blabla, Jarno! Gib mir die guten Sachen. Zeigen Sie mir schon jetzt, was ich mit ProductGroup alles machen kann.“
…OK, OK, OK, ich höre dich. Behaltet eure Hüte, Jungs und Mädels, los geht’s.
Einstieg ins Wesentliche von ProductGroup: Eine Blaupause für seine Mitglieder
Bevor ich mich mit einem anschaulichen Markup-Beispiel befasse (das wahrscheinlich nicht alles abdeckt, was Sie über Ihre Produkte zu sagen haben), möchte ich zunächst die Idee hinter der zweiten Funktion von ProductGroup erläutern:
- Als Prototyp/Vorlage/Blaupause für die Produktvarianten, die Teil einer Produktgruppe sind.
Das bedeutet, dass fast alle Eigenschaften (und ihre Werte), die Sie einer Produktgruppe hinzufügen, von deren Produktvarianten geerbt werden – und dass Sie gleichzeitig über die Eigenschaft „variableBy“ ausdrücken können, um welche Eigenschaften sich die Produkte unterscheiden.
Das ist ziemlich genial (wenn es von Verbrauchern wie vorgesehen genutzt wird), da es uns erspart, Unmengen sich wiederholender Informationen hinzuzufügen.
Da die ProductGroup in meinem Beispiel beispielsweise über das Eigenschafts-Wert-Paar „Material“: „Baumwolle“ verfügt, erben alle Produktvarianten in der ProductGroup automatisch dasselbe Eigenschafts-Wert-Paar.
Dies bedeutet, dass das Hauptmaterial aller Produktvarianten Baumwolle ist, ohne dass diese Informationen zu jeder einzelnen Produktvariante hinzugefügt werden müssen.
Gleichzeitig können wir Verbraucher auch darüber informieren, dass die Produktvarianten je nach Farbe und Größe variieren und dass sie damit rechnen können, diese Informationen als Teil des Markups der Produktvarianten zu finden.
Dies sorgt für viele Querverweise zwischen Entitäten – ohne dass unbedingt viele URI/IRI-Identifikatoren verwendet werden müssen (über die @id von JSON-LD, die itemid von Microdata, die Ressource von RDFa).
Wenn Sie glauben, dass dies keinen großen Unterschied machen wird, denken Sie noch einmal darüber nach. Die Menge an Produktinformationen, die sich wiederholen, summiert sich sehr schnell.
Allein in meinem Beispiel habe ich problemlos bis zu 30–40 Zeilen Code eingespart, etwa 20–25 % des gesamten Markups, da ich unter ProductGroup die Eigenschaften Material, Marke, Gesamtbewertung und Angebot definiert habe.
Und zwar durch die Nutzung der Referenzierung über Bezeichner, wodurch das Markup bereits stark verdichtet wird. Ohne das und wenn man es – vollständig – ausschreibt, werden leicht zusätzliche 100–150 Zeilen Markup hinzugefügt.
Abschließend sollte ich erwähnen, dass jedes Produkt immer noch sein eigenes Angebots-Markup hat, die sich wiederholenden Teile jedoch unter ProductGroup.offers.Offer platziert werden.
Schauen Sie sich das Markup selbst an (und testen Sie es vielleicht im Validator von schema.org oder im Rich Results Test).
{"@context": "https://schema.org","@type": "ProductGroup","productGroupID": "abc123","url": "https://www.example.com/products/summer-t-shirt","material": "cotton","brand": {"@type": "Brand","name": "Some brand"},"aggregateRating": {"@type": "AggregateRating","ratingValue": 4.4,"reviewCount": 89,"bestRating": 5,"worstRating": 1},"offers": {"@type": "Offer","priceCurrency": "USD","itemCondition": "https://schema.org/NewCondition","hasMerchantReturnPolicy": {"@type": "MerchantReturnPolicy","applicableCountry": "CH","returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow","merchantReturnDays": 60,"returnMethod": "https://schema.org/ReturnByMail","returnFees": "https://schema.org/FreeReturn"},"shippingDetails": {"@type": "OfferShippingDetails","shippingRate": {"@type": "MonetaryAmount","currency": "USD","value": 3.49},"shippingDestination": {"@type": "DefinedRegion","addressCountry": "US"},"deliveryTime": {"@type": "ShippingDeliveryTime","handlingTime": {"@type": "QuantitativeValue","minValue": 0,"maxValue": 1,"unitCode": "DAY"},"transitTime": {"@type": "QuantitativeValue","minValue": 1,"maxValue": 5,"unitCode": "DAY"}}}},"variesBy": ["https://schema.org/color","https://schema.org/size"],"hasVariant": [{"@type": "Product","name": "Yellow summer t-shirt XL","description": "Extra large yellow t-shirt for the summer months.","image": "https://behmaster.ir/wp-content/uploads/2023/12/localimages/yellow-summer-t-shirt.jpg","inProductGroupWithID": "abc123","gtin": "8710123456789","color": "yellow","size": { // Make sure to also look into the new size property. It is a beast."@type": "SizeSpecification","name": "XL","sizeSystem": "https://schema.org/WearableSizeSystemUS","sizeGroup": ["https://schema.org/WearableSizeGroupBig","https://schema.org/WearableSizeGroupTall"]},"offers": {"@type": "Offer","url": "https://www.example.com/products/summer-t-shirt?color=yellow&size=xl","price": 19.99,"availability": "https://schema.org/InStock"}}, {"@type": "Product","name": "Yellow summer t-shirt L","description": "Large yellow t-shirt for the summer months.","image": "https://behmaster.ir/wp-content/uploads/2023/12/localimages/yellow-summer-t-shirt.jpg","inProductGroupWithID": "abc123","gtin": "8711234567890","color": "yellow","size": { // Make sure to also look into the new size property. It is a beast."@type": "SizeSpecification","name": "L","sizeSystem": "https://schema.org/WearableSizeSystemUS","sizeGroup": ["https://schema.org/WearableSizeGroupBig","https://schema.org/WearableSizeGroupTall"]},"offers": {"@type": "Offer","url": "https://www.example.com/products/summer-t-shirt?color=yellow&size=l","price": 18.99,"availability": "https://schema.org/InStock"}}, {"@type": "Product","name": "Light blue summer t-shirt XL","description": "Extra large light blue t-shirt for the summer months.","image": "https://behmaster.ir/wp-content/uploads/2023/12/localimages/light-blue-summer-t-shirt.jpg","inProductGroupWithID": "abc123","gtin": "8712345678901","color": "light blue","size": { // Make sure to also look into the new size property. It is a beast."@type": "SizeSpecification","name": "XL","sizeSystem": "https://schema.org/WearableSizeSystemUS","sizeGroup": ["https://schema.org/WearableSizeGroupBig","https://schema.org/WearableSizeGroupTall"]},"offers": {"@type": "Offer","url": "https://www.example.com/products/summer-t-shirt?color=yellow&size=xl","price": 19.99,"availability": "https://schema.org/InStock"}}, {"@type": "Product","name": "Light blue summer t-shirt L","description": "Large light blue t-shirt for the summer months.","image": "https://behmaster.ir/wp-content/uploads/2023/12/localimages/light-blue-summer-t-shirt.jpg","inProductGroupWithID": "abc123","gtin": "8713456789012","color": "light blue","size": { // Make sure to also look into the new size property. It is a beast."@type": "SizeSpecification","name": "L","sizeSystem": "https://schema.org/WearableSizeSystemUS","sizeGroup": ["https://schema.org/WearableSizeGroupBig","https://schema.org/WearableSizeGroupTall"]},"offers": {"@type": "Offer","url": "https://www.example.com/products/summer-t-shirt?color=light-blue&size=l","price": 18.99,"availability": "https://schema.org/OutOfStock"}}]}
„Tolles Beispiel Jarno – nicht! Sie sollten Ihre Inhalte vor der Veröffentlichung testen, da dies zu Fehlern und Warnungen führt und die Produkte keine einzige Eigenschaft erben!“
Ja, das ist mir durchaus bewusst. Das liegt aber nicht daran, dass mir die Fähigkeiten oder das Bewusstsein fehlen, dies richtig zu machen. Unterstützung für dieses Zeug ist in Sicht, aber noch nicht da.
Dies spiegelt sich immer noch darin wider, wie die verschiedenen Validatoren/Testtools auf diese Art von Markup reagieren.
Wir werden die Produktgruppe erst sehen, wenn Google sicher ist, dass sie bereit ist (ausreichend)
Aufgrund der Anzahl möglicher Markup-Kombinationen sowie der Reihenfolge, in der diese Art von Markup ausgedrückt werden kann und wie alles vermasselt werden kann, muss es aus vielen verschiedenen Blickwinkeln betrachtet und getestet werden, bevor es veröffentlicht wird Welt.
Sorgfalt ist von größter Bedeutung, da sowohl für Verleger als auch für Verbraucher leicht etwas schrecklich schiefgehen kann.
Auf schema.org gibt es noch viele kleine und große Details zu besprechen, aber vorerst liegt es in den Händen der daran beteiligten Google-Mitarbeiter (und ihrer Kollegen).
Sie brauchen Zeit, um herauszufinden, wie sie dies in ihren Systemen zum Laufen bringen und innerhalb welcher Einschränkungen zu Beginn. Anschließend müssen sie es tatsächlich zum Laufen bringen und die richtige Dokumentation dafür schreiben, damit wir lernen können, wie wir es so verwenden, wie sie es möchten uns dazu.
Dies bedeutet auch, dass meine Markup-Beispiele keinesfalls als „die Art und Weise, wie es gemacht wird“ betrachtet werden sollten, was die Reihenfolge, in der ich sie geschrieben habe, die darin enthaltenen Informationen oder die Anzahl der Eigenschaften, für die die Vererbung funktioniert, betrifft.
Meine Beispiele basieren auf den Diskussionen, die wir auf schema.org geführt haben, und sollen Ihnen helfen, mit Ihren eigenen Untersuchungen zu beginnen.
Lassen Sie auf einem Cliffhanger zurück
Wir alle warten auf die nächste Folge – produziert von Google. Ich hoffe, dass wir nicht zu lange darauf warten müssen, denn ich möchte wirklich herausfinden, wie das wirklich endet – oder besser gesagt, beginnt.
Und während wir warten, sollten Sie die Angelegenheit aus möglichst vielen Blickwinkeln betrachten, um die möglichen Auswirkungen für Sie, Ihre Kunden oder Ihren Arbeitgeber herauszufinden, bevor Sie überrascht werden.
Eine letzte Anmerkung
Bei Schema.org geht es darum, ein funktionsfähiges öffentliches Vokabular zu erstellen, das eine „Sprache“ bietet, die wir zum Veröffentlichen und Konsumieren semantischer Anmerkungen verwenden können.
Schema.org definiert nicht, wie Herausgeber oder Verbraucher ihrer Typen und Eigenschaften sie verwenden sollen – so ziemlich genauso, wie Wörterbücher uns nicht sagen, wie man schreibt.
Die an schema.org beteiligten Personen haben absolut keinen Einfluss darauf, wie Verbraucher des Vokabulars seine Sprache verwenden, noch haben sie Einfluss auf die Anforderungen, die Parteien wie Google, Bing und andere dokumentieren und veröffentlichen.
Mehr Ressourcen:
- Google Shopping: Ein ausführlicher Leitfaden
- Was ist Schema-Markup und warum ist es für SEO wichtig?
- So verwenden Sie strukturierte Daten zur Unterstützung von EAT
Ausgewähltes Bild: BestForBest/Shutterstock