Strukturierte Daten für die KI-Suche: welches Schema wofür und was es bringt
Strukturierte Daten sind für die KI-Suche nicht erforderlich, das schreibt Google inzwischen selbst. Welches Schema für welche Seite zur Grundausstattung gehört, wie JSON-LD sauber umgesetzt wird und wie sich die Wirkung in der KI-Suche messen lässt.
Kaum ein GEO-Ratgeber kommt ohne den Tipp aus, strukturierte Daten per Schema-Markup nachzurüsten, damit ChatGPT, Perplexity und die AI Overviews einen endlich zitieren. Ich habe das im Mai in meinem Beitrag zu Thema technisches SEO als Fundament für GEO selbst noch freundlicher formuliert, als es die Belege wirklich hergeben. Seitdem hat Google einen eigenen Leitfaden zur KI-Suche veröffentlicht, Microsoft misst Zitate in Copilot offen aus, und es gibt erstmals eine Auswertung mit Kontrollgruppe, die nachrechnet, was nachträglich eingebautes JSON-LD an KI-Zitaten bringt.
Zuerst geht es darum, was strukturierte Daten in der KI-Suche nachweislich leisten und wo die Erwartungen zu hoch sind. Der praktische Teil danach ist lang und klärt, welcher Schema-Typ zu welcher Seite passt, wie das JSON-LD dafür aussieht, wie es ins CMS kommt und wie sich messen lässt, ob der Aufwand etwas bewirkt.
TL;DR
Strukturierte Daten sind für die KI-Suche keine Eintrittskarte. Google nennt sie für AI Overviews und AI Mode „nicht erforderlich“, in den KI-Unterlagen von Bing und OpenAI aus diesem Jahr kommt Schema nicht vor.
- Die einzige Auswertung mit Kontrollgruppe (Ahrefs, Mai 2026) findet nach dem Einbau von JSON-LD keinen Zuwachs an KI-Zitaten.
- In den bisher veröffentlichten Live-Abruf-Tests nutzten die getesteten Assistenten JSON-LD nicht zuverlässig als strukturelles Signal. Der dokumentierte Nutzen liegt im Suchindex von Google und Bing, bei Entitäten und Suchfunktionen.
- Zur Grundausstattung gehören Organization und WebSite, Product samt Merchant-Center-Feed im Shop und LocalBusiness samt Unternehmensprofil vor Ort. FAQ- und HowTo-Markup bringen in Google keine Rich Results mehr.
- JSON-LD aus derselben Datenquelle erzeugen wie den sichtbaren Text und, wenn neben Google weitere Such- und KI-Systeme zählen, möglichst serverseitig ausliefern. Google verarbeitet auch per JavaScript erzeugtes Markup.
- Ob es in der KI-Suche wirkt, zeigen der KI-Bericht der Search Console und AI Performance in den Bing Webmaster Tools, am besten mit Kontrollgruppe. Besuche aus ChatGPT kommen seit Oktober oft ohne
utm_source=chatgpt.coman und lassen sich nur noch lückenhaft zuordnen.
Geändert hat sich die Messung von Besuchen aus ChatGPT. Seit GPT-6 am 7. Oktober in ChatGPT eingeführt wurde, kommen viele dieser Besuche ohne utm_source=chatgpt.com an. Angepasst sind die Zusammenfassung und der Abschnitt „Messen, ob es in der KI-Suche etwas bringt“.
Was Google, Microsoft und OpenAI tatsächlich sagen
Google ist bei dem Thema ungewohnt deutlich. Im Leitfaden für die KI-Funktionen der Google-Suche, erschienen am 15. Mai und zuletzt im Juli aktualisiert, steht es unter der Überschrift „Overfocusing on structured data“ und damit in der Abteilung Mythen:
„Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add. However, it's a good idea to continue using it as part of your overall SEO strategy, as it helps with being eligible for rich results on Google Search.“
Der Rest des Leitfadens erklärt das warum und wieso. AI Overviews und AI Mode bauen auf dem normalen Suchindex und den Ranking-Systemen auf, holen sich passende Seiten per Grounding und schicken für eine Frage gleich mehrere verwandte Suchanfragen los (Google nennt das Query Fan-out). Für Google ist Optimierung für die KI-Suche deshalb „still SEO“. Strukturierte Daten tauchen auf der begleitenden Seite zu den KI-Funktionen nur als eine der weiter gültigen Grundlagen auf, mit dem knappen Hinweis, dass das Markup zum sichtbaren Text passen muss. Etwas konkreter wird Google bei Shops und lokalen Unternehmen. Produktlisten und Firmeninformationen in KI-Antworten lassen sich laut Leitfaden über das Merchant Center und das Unternehmensprofil (Google Business Profile) unterstützen – über Feeds und Profile, die Händler und Betriebe direkt bei Google pflegen.
Bei Microsoft ist die Lage weniger eindeutig, als sie in vielen Artikel zum Thema GEO verbreitet wird. Seit Februar zeigt AI Performance in den Bing Webmaster Tools, wie oft eine Website in Copilot, in den KI-Zusammenfassungen von Bing und bei ausgewählten Partnern zitiert wird. Empfohlen werden dort IndexNow, damit KI-Systeme die aktuelle Fassung einer Seite referenzieren, dazu klare Überschriften, Tabellen und belegte Aussagen. Schema.org kommt weder in diesem Beitrag noch im Update vom Juni vor. Das klang im Herbst 2025 noch anders, denn in einem Beitrag im Bing-Webmaster-Blog vom November schrieben Fabrice Canel und Krishna Madhavan, strukturierte Inhalte wie schema-ausgezeichnete Produktseiten erhöhten die Chance, in KI-Antworten zitiert zu werden. Wie die Zeiten sich doch ändern.
Auf Canel geht auch die oft zitierte Aussage aus einem Konferenzvortrag im März 2025 zurück, Schema helfe den Sprachmodellen von Copilot. Mark Williams-Cook hält deren Zuspitzung für ein Fehlzitat, Canel habe vor allem über Aktualität und IndexNow gesprochen. Ich hatte diesen Satz im Mai so übernommen – klang plausibel, stützte sich auf eine echte Autorität der Branche. Heute würde ich vorsichtiger formulieren, dass Microsoft Schema 2025 empfohlen hat und es in den Messwerkzeugen von 2026 offenbar keine Rolle spielt.
OpenAI schweigt zum Thema übrigens komplett. Die Crawler-Dokumentation regelt, welcher Bot wofür zuständig ist: Über den OAI-SearchBot läuft die Sichtbarkeit in der ChatGPT-Suche, über den GPTBot mögliches Training, und beide lassen sich getrennt steuern. In der FAQ für Publisher geht es um Crawler, Verweis-Parameter und um ARIA-Auszeichnungen, die dem Agenten in Atlas beim Bedienen von Seiten helfen. Zu Schema.org steht dort kein Wort. Beim Shopping setzt OpenAI auf das Agentic Commerce Protocol mit einem eigenen Product-Feed- und API-Schema. Von Perplexity und Anthropic habe ich keine offizielle Aussage zu strukturierten Daten gefunden, dokumentiert sind dort nur die jeweiligen KI-Crawler.
Was passiert eigentlich, wenn jemand nachmisst?
Gemessen haben in den letzten Monaten gleich mehrere Teams.
Ahrefs hat im Mai 1.885 Seiten ausgewertet, die zwischen August 2025 und März 2026 erstmals JSON-LD bekommen haben, und sie mit rund 4.000 Kontrollseiten verglichen, die vorher ähnlich oft zitiert wurden. Gemessen wurden jeweils 30 Tage vor und nach der Änderung. In AI Mode (+2,4 %) und ChatGPT (+2,2 %) war der Unterschied statistisch nicht von null zu unterscheiden, in den AI Overviews sanken die Zitate leicht, um 4,6 %. Das ist eine Herstellerstudie mit einer wichtigen Lücke, die Ahrefs benennt. Alle untersuchten Seiten wurden schon vorher häufig zitiert, und ob Schema einer bisher unsichtbaren Marke hilft, deckt die Auswertung nicht ab.
Den Gegenpol liefert ein Report von AirOps und Kevin Indig vom April. Über 16.851 Anfragen an ChatGPT hinweg wurden Seiten mit JSON-LD zu 38,5 % zitiert, Seiten ohne zu 32,0 %. Der Abstand ist eine reine Korrelation, gemessen an extrem ungleichen Gruppen (rund 13.000 gegen über 735.000 Fälle). Sauberes Markup findet sich vermutlich eher auf gepflegten Websites mit guten Inhalten und Backlinks, und das misst eine solche Korrelation mit. Den weitaus stärkeren Zusammenhang findet derselbe Report bei der Position im Retrieval: Was auf Platz 1 der abgerufenen Quellen landet, wird zu 58 % zitiert, auf Platz 10 noch zu 14 %.
Zwei kleine Versuche liefern Hinweise darauf, warum der direkte Weg so wenig bringt: searchVIU hat Ende Oktober 2025 eine Testseite mit acht Preisen in unterschiedlichen Quellen gebaut und fünf KI-Systeme danach gefragt. Den Preis, der ausschließlich im JSON-LD stand, fand keins der fünf Systeme, versteckte Microdata und RDFa ebenfalls nicht. Mark Williams-Cook hat es im Juni andersherum probiert und eine Adresse in absichtlich ungültiges JSON-LD gesteckt, mit erfundenem Typ und Fantasie-Properties. ChatGPT und Perplexity gaben die Adresse trotzdem aus, Perplexity mit Verweis auf die „structured data“. Williams-Cook schließt daraus, dass die Modelle das Markup als Text mitlesen, ohne es als Schema zu verstehen. Ob JSON-LD beim Modell ankommt, hängt davon ab, ob ein System beim Abruf das rohe HTML weiterreicht oder nur den extrahierten Seitentext. Als strukturelles Signal genutzt haben die getesteten Sprachmodelle JSON-LD in keinem der beiden Versuche. Für das Verhalten aller aktuellen Assistenten sind zwei kleine Tests ein Indiz, mehr nicht. Welche Rolle das Format im Kontext eines Modells spielt, steht im Vergleich von Datenformaten für LLMs.
Die einzige Arbeit mit einem deutlichen Plus kommt von Andrea Volpini und Kollegen, für und bei WordLift tätig (bei mir schon häufiger zitiert), einem Anbieter für strukturierte Daten. In ihrem eigenen RAG-Aufbau brachte JSON-LD allein nur „modest improvements“. Die knapp 30 % mehr Genauigkeit stammen von eigens angereicherten Entitätsseiten mit Breadcrumbs, Anweisungen für Agenten im Stil einer llms.txt und einer eigenen Suchfunktion. Das Ganze lief auf einer Testumgebung mit Googles Agent-Baukasten, mit ChatGPT oder der Google-Suche hatte der Versuch nichts zu tun.
Dazu kommen zwei Studien, die erklären, warum KI-Sichtbarkeit überhaupt eine eigene Disziplin ist. Ein Team vom New Jersey Institute of Technology hat für die SIGIR 2026 11.500 Suchanfragen durch die Google-Suche, die AI Overviews und Gemini 2.5 Flash geschickt. Die abgerufenen Quellen überschneiden sich kaum (Jaccard-Ähnlichkeit im Schnitt unter 0,2). Ein Preprint der Washington University in St. Louis, das derzeit begutachtet wird, kommt über 55.393 Anfragen zu einem ähnlichen Bild. Fast 30 % der KI-Zitate in AI Overviews verweisen auf Domains, die in den Ergebnissen der ersten Seite nicht auftauchen.
Wo strukturierte Daten belegbar helfen
Der dokumentierte Nutzen von Schema liegt im Index, bei Entitäten und bei den Suchfunktionen. Google und Bing lesen Markup beim Crawlen und verknüpfen es mit ihrem Wissen über Unternehmen, Produkte und Personen. AI Overviews und AI Mode bauen laut Google auf diesem Index auf, auf dem Ranking, auf Grounding und auf Query Fan-out, dessen Anfragen weit über die ersten zehn Treffer der Ausgangsfrage hinausreichen. Ob die bessere Zuordnung im Index anschließend die Chance auf ein KI-Zitat erhöht, ist nicht belegt, und die Ahrefs-Zahlen geben darauf keinen Hinweis. Einen indirekten Pfad halte ich trotzdem für plausibel. Olaf Kopp beschreibt Schema im Aufgesang-Blog als Hygienefaktor mit indirekter Wirkung über Index, Knowledge Graph und Retrieval.
Konkret sehe ich drei Stellen, an denen sich der Aufwand lohnt:
Entitäten zuordnen. Organization-Markup hilft Google laut Organization-Doku „behind the scenes“ dabei, ein Unternehmen von Namensvettern zu unterscheiden. Für Kennungen wie LEI oder DUNS sieht Google das Feld iso6523Code vor, dazu kommen echte sameAs-Profile.
Produkt- und Standortdaten konsistent halten. Im Shop führt Google Markup und Merchant-Center-Feed zusammen und gleicht beide ab, lokal sollten Website, Markup und Unternehmensprofil dieselben Daten zeigen. Das sind die beiden Datenquellen, die Google für KI-Antworten nennt.
Für Suchfunktionen qualifizieren. Produkt-Snippets, Google Jobs und Rezept-Ergebnisse setzen das Markup voraus, Merchant Listings und Video-Ergebnisse können davon profitieren. Das ist klassische Sichtbarkeit, und die bringt im Moment noch die Klicks. Wie schwach dagegen der Klick aus einem KI-Zitat ist, habe ich im Beitrag dazu, warum KI-Zitate kaum Anfragen bringen, ausführlich beschrieben.
Schema.org kann mit potentialAction auch Aktionen wie Buchungen oder Anfragen beschreiben, das habe ich im Text über agentisches SEO durchgespielt. Dass heutige Chat- oder Browser-Agenten dieses Markup systematisch nutzen, um eine Website zu bedienen, ist bisher nicht dokumentiert.
Schema-Markup ist Infrastruktur. Es liefert Suchmaschinen explizite, maschinenlesbare Metadaten und kann Mehrdeutigkeiten reduzieren. Als Zitat-Hebel ist es überverkauft, weglassen würde ich es nicht.
Welches Schema für welche Seite
Die Auswahl richtet sich nach der Frage, was eine Seite hauptsächlich beschreibt. Google empfiehlt dafür den spezifischsten passenden Typ, etwa BlogPosting für den Blogartikel und Electrician für den Elektrobetrieb, solange es den Untertyp gibt.
| Seitentyp | Schema-Typ | Mögliche Darstellung bei Google | Priorität |
|---|---|---|---|
| Startseite | Organization, WebSite | Website-Name, Logo, Unternehmensdaten, Abgrenzung von Namensvettern | immer |
| Autorenseite | ProfilePage mit Person | Zuordnung von Autoren über url und sameAs | hoch bei Content-Websites |
| Blog und News | BlogPosting, NewsArticle, Article | Titel, Bild, Datum, Autor im Artikel-Ergebnis | hoch |
| Produktseite | Product mit Offer | Produkt-Snippets, Merchant Listings | immer im Shop |
| Produkt mit Varianten | ProductGroup | Varianten nach Farbe, Größe usw. | immer bei Varianten |
| Standortseite | Untertyp von LocalBusiness | lokale Darstellung, zusammen mit dem Unternehmensprofil | immer vor Ort |
| Stellenanzeige | JobPosting | Google Jobs | hoch beim Recruiting |
| Videoseite | VideoObject | Video-Ergebnisse, Key Moments | mittel |
| Rezept | Recipe | Rezept-Ergebnisse, Karussell | hoch für Food |
| Datensatz | Dataset | nur noch Dataset Search | Nische |
| Seitenhierarchie | BreadcrumbList | Pfad im Suchergebnis (nur Desktop) | mitnehmen |
| FAQ | FAQPage | seit 7. Mai 2026 kein Rich Result mehr | optional |
| Anleitung | HowTo | seit 2023 kein Rich Result mehr | optional |
Die Typen im Einzelnen, mit Code
Alle Beispiele sind JSON-LD, das Format, das Google empfiehlt, auch wenn Microdata und RDFa laut Google-Richtlinien „equally fine“ sind. JSON-LD hat den praktischen Vorteil, dass es als eigener Block im HTML steht und sich aus Template-Daten erzeugen lässt, ohne das Markup der Seite anzufassen. Im ersten Beispiel zeige ich das umschließende Script-Tag, danach nur noch das JSON. Domains, Namen und Nummern sind erfunden.
Eine Regel gilt für alle Typen gleich. Ausgezeichnet wird nur, was auf der Seite auch sichtbar steht. Ein Preis, eine Bewertung oder eine Adresse, die nur im Markup existiert, verstößt gegen die allgemeinen Richtlinien und kann eine manuelle Maßnahme und den Verlust der Rich-Result-Eignung auslösen.
Das Fundament: Organization, WebSite und Person
WebSite gehört auf die Startseite. Organization kann dort stehen oder auf einer zentralen Seite wie „Über uns“, auf jeder Seite wiederholen muss man sie laut Google nicht. Die Person gehört auf ihre Autoren- oder Profilseite. Jede Entität bekommt eine feste @id, eine URL mit Fragment, die sich nie ändert. Das ist eine Konvention für einen sauberen Graphen, Google verlangt es nicht. Artikel, Produkte und Stellenanzeigen verweisen über diese IDs auf Herausgeber und Autor. Ob Google eine @id über Seitengrenzen hinweg auflöst, ist nicht dokumentiert, deshalb gebe ich an diesen Stellen zusätzlich den Namen mit.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik",
"legalName": "Beispiel GmbH",
"url": "https://www.beispiel-gmbh.de/",
"logo": {
"@type": "ImageObject",
"url": "https://www.beispiel-gmbh.de/assets/logo-512.png",
"width": 512,
"height": 512
},
"vatID": "DE123456789",
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstraße 12",
"postalCode": "30159",
"addressLocality": "Hannover",
"addressCountry": "DE"
},
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer service",
"telephone": "+49-511-1234567",
"email": "kontakt@beispiel-gmbh.de"
},
"sameAs": [
"https://www.linkedin.com/company/beispiel-gmbh",
"https://www.northdata.de/Beispiel+GmbH,+Hannover"
]
},
{
"@type": "WebSite",
"@id": "https://www.beispiel-gmbh.de/#website",
"url": "https://www.beispiel-gmbh.de/",
"name": "Beispiel Elektrotechnik",
"inLanguage": "de-DE",
"publisher": { "@id": "https://www.beispiel-gmbh.de/#organization" }
}
]
}
</script>Die Autorenseite bekommt einen eigenen Block mit ProfilePage und der Person als mainEntity:
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"@id": "https://www.beispiel-gmbh.de/team/anna-beispiel/#profilepage",
"url": "https://www.beispiel-gmbh.de/team/anna-beispiel/",
"mainEntity": {
"@type": "Person",
"@id": "https://www.beispiel-gmbh.de/team/anna-beispiel/#person",
"name": "Anna Beispiel",
"url": "https://www.beispiel-gmbh.de/team/anna-beispiel/",
"jobTitle": "Geschäftsführerin",
"worksFor": {
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik"
},
"sameAs": [
"https://www.linkedin.com/in/anna-beispiel"
]
}
}Ein paar Details aus der Organization-Doku, die oft untergehen. Das Logo muss mindestens 112 × 112 Pixel groß und crawlbar sein. Die vatID beschreibt Google als wichtiges Vertrauenssignal für Nutzer. LEI- oder DUNS-Nummern gehören über iso6523Code mit passendem Präfix ins Markup (0199 für LEI, 0060 für DUNS). In sameAs gehören nur Profile, die wirklich dem Unternehmen gehören oder es eindeutig beschreiben – zehn halbtote Social-Media-Accounts helfen keinem Knowledge Graph.
Im Quelltext von t01.li steht ein Graph aus Organization, WebSite und Person, auf jeder Seite ausgegeben, mit Verweisen auf LinkedIn, X, Bluesky und GitHub und klartxt als worksFor. Ganz sauber ist er nicht, dazu gleich mehr.
BlogPosting, NewsArticle und Article
Für redaktionelle Seiten bietet Google drei Typen an, und der spezifischste gewinnt: NewsArticle für Nachrichten, BlogPosting für Blogbeiträge, Article als Sammelbecken. Laut Article-Doku ist für Top Stories kein Markup nötig. Es hilft Google aber, Titel, Bilder, Datum und Autor eindeutig zuzuordnen. Besonders wichtig ist die Autorenangabe mit url auf eine echte Autorenseite, weil Google darüber Autoren gleichen Namens auseinanderhält, und für diese Autorenseite gibt es mit ProfilePage einen eigenen Typ, in dem die Person als mainEntity steht.
Das Beispiel zeigt den Graphen einer Artikelseite mit WebPage, BreadcrumbList und dem Beitrag. Autor und Herausgeber stehen in Kurzform mit Namen dabei, mit derselben @id wie auf Autorenseite und Startseite.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebPage",
"@id": "https://www.beispiel-gmbh.de/blog/waermepumpe-altbau/#webpage",
"url": "https://www.beispiel-gmbh.de/blog/waermepumpe-altbau/",
"name": "Wärmepumpe im Altbau: Wann sie sich rechnet",
"isPartOf": { "@id": "https://www.beispiel-gmbh.de/#website" },
"breadcrumb": { "@id": "https://www.beispiel-gmbh.de/blog/waermepumpe-altbau/#breadcrumb" },
"inLanguage": "de-DE"
},
{
"@type": "BreadcrumbList",
"@id": "https://www.beispiel-gmbh.de/blog/waermepumpe-altbau/#breadcrumb",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Start", "item": "https://www.beispiel-gmbh.de/" },
{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://www.beispiel-gmbh.de/blog/" },
{ "@type": "ListItem", "position": 3, "name": "Wärmepumpe im Altbau" }
]
},
{
"@type": "BlogPosting",
"@id": "https://www.beispiel-gmbh.de/blog/waermepumpe-altbau/#article",
"mainEntityOfPage": { "@id": "https://www.beispiel-gmbh.de/blog/waermepumpe-altbau/#webpage" },
"headline": "Wärmepumpe im Altbau: Wann sie sich rechnet",
"description": "Vorlauftemperatur, Heizkörper, Förderung: worauf es bei der Wärmepumpe im Altbau ankommt.",
"image": [
{
"@type": "ImageObject",
"url": "https://www.beispiel-gmbh.de/assets/blog/waermepumpe-altbau-1200.jpg",
"width": 1200,
"height": 675
}
],
"datePublished": "2026-09-14T08:00:00+02:00",
"dateModified": "2026-10-02T11:30:00+02:00",
"author": { "@id": "https://www.beispiel-gmbh.de/team/anna-beispiel/#person" },
"publisher": { "@id": "https://www.beispiel-gmbh.de/#organization" },
"inLanguage": "de-DE"
},
{
"@type": "Person",
"@id": "https://www.beispiel-gmbh.de/team/anna-beispiel/#person",
"name": "Anna Beispiel",
"url": "https://www.beispiel-gmbh.de/team/anna-beispiel/"
},
{
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik",
"url": "https://www.beispiel-gmbh.de/",
"logo": "https://www.beispiel-gmbh.de/assets/logo-512.png"
}
]
}dateModified verdient eine eigene Warnung. Das Feld zeigt eine echte inhaltliche Änderung an. Manche Templates setzen es bei jedem Rendern auf das aktuelle Datum, was nach außen behauptet, die Seite sei frisch, obwohl sich nichts geändert hat.
Bei t01.li steht an dieser Stelle der allgemeine Typ Article, wo BlogPosting präziser wäre, mainEntityOfPage ist nur eine URL ohne eigenen WebPage-Knoten, und das Artikelbild kommt ohne Maße. Nichts davon ist ein Fehler im Sinne des Validators. Präziser ginge es, und das steht jetzt auf meiner Liste.
Product und Offer
Im Shop ist Product der wichtigste Typ. Google unterscheidet in der Produkt-Doku zwei Fälle: Produkt-Snippets für Seiten, auf denen man nichts kaufen kann (Testberichte, Herstellerseiten), und Merchant Listings für Seiten mit Kaufmöglichkeit. Für Letztere lohnen sich Versand- und Rückgabeangaben, weil Google sie in den Shopping-Ergebnissen anzeigen kann. Gelten sie für den ganzen Shop, gehören sie laut Merchant-Listing-Doku einmal ins Organization-Markup, und am Produkt stehen nur Abweichungen. Das Beispiel zeigt sie der Vollständigkeit halber am Angebot.
{
"@context": "https://schema.org",
"@type": "Product",
"@id": "https://shop.beispiel-gmbh.de/p/akku-bohrschrauber-bx18/#product",
"name": "Akku-Bohrschrauber BX18",
"description": "18-Volt-Bohrschrauber mit bürstenlosem Motor, zwei Akkus und Ladegerät.",
"image": [
"https://shop.beispiel-gmbh.de/img/bx18-front-1200.jpg",
"https://shop.beispiel-gmbh.de/img/bx18-seite-1200.jpg"
],
"sku": "BX18-SET",
"gtin13": "4012345678901",
"brand": { "@type": "Brand", "name": "Beispiel Tools" },
"offers": {
"@type": "Offer",
"url": "https://shop.beispiel-gmbh.de/p/akku-bohrschrauber-bx18/",
"price": 189.90,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik"
},
"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": 2, "unitCode": "DAY" }
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "DE",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}Der Preis steht als Zahl mit Punkt als Dezimaltrennzeichen. Deutsche Shopsysteme, die den sichtbaren Preis mit Komma formatieren und denselben String ins JSON-LD kippen, produzieren ungültige Werte. Seit Juli dokumentiert Google auch category am Produkt und Angaben zur Laufzeit von Sonderpreisen über validFrom und validThrough.
Der wichtigere Punkt steht in einem einzigen Satz der Doku. Wer sowohl Markup als auch einen Feed im Merchant Center liefert, „maximizes your eligibility to experiences and helps Google correctly understand and verify your data“. Google gleicht beide Quellen ab. Weichen Preis oder Verfügbarkeit zwischen Seite, JSON-LD und Feed voneinander ab, hat Google ein Datenproblem, und das landet bei der Website. Der KI-Leitfaden verweist für Produktinformationen in KI-Antworten ausgerechnet auf das Merchant Center.
ProductGroup für Varianten
Vier Farben und fünf Größen eines T-Shirts sind keine zwanzig unabhängigen Produkte. Google unterstützt dafür ProductGroup mit variesBy und hasVariant. Jede Variante bleibt ein eigenes Product mit eigener SKU und eigenem Angebot.
{
"@context": "https://schema.org",
"@type": "ProductGroup",
"@id": "https://shop.beispiel-gmbh.de/p/arbeitsshirt-pro/#productgroup",
"name": "Arbeitsshirt Pro",
"description": "Strapazierfähiges Arbeitsshirt aus Baumwoll-Mischgewebe.",
"brand": { "@type": "Brand", "name": "Beispiel Workwear" },
"productGroupID": "AS-PRO",
"variesBy": [
"https://schema.org/color",
"https://schema.org/size"
],
"hasVariant": [
{
"@type": "Product",
"sku": "AS-PRO-SCHWARZ-M",
"gtin13": "4012345678918",
"name": "Arbeitsshirt Pro, Schwarz, M",
"image": "https://shop.beispiel-gmbh.de/img/as-pro-schwarz.jpg",
"color": "Schwarz",
"size": "M",
"offers": {
"@type": "Offer",
"url": "https://shop.beispiel-gmbh.de/p/arbeitsshirt-pro/?variante=schwarz-m",
"price": 29.90,
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock"
}
},
{
"@type": "Product",
"sku": "AS-PRO-SCHWARZ-L",
"gtin13": "4012345678925",
"name": "Arbeitsshirt Pro, Schwarz, L",
"image": "https://shop.beispiel-gmbh.de/img/as-pro-schwarz.jpg",
"color": "Schwarz",
"size": "L",
"offers": {
"@type": "Offer",
"url": "https://shop.beispiel-gmbh.de/p/arbeitsshirt-pro/?variante=schwarz-l",
"price": 29.90,
"priceCurrency": "EUR",
"availability": "https://schema.org/OutOfStock"
}
}
]
}Dieses Markup schreibt kaum jemand von Hand. Bei Shopify erzeugt es der Liquid-Filter structured_data, dazu weiter unten mehr.
LocalBusiness
Für Betriebe mit Standort gilt die Regel vom spezifischsten Typ besonders. Schema.org kennt Dutzende Untertypen von LocalBusiness, etwa Dentist für die Zahnarztpraxis oder AutoRepair für die Werkstatt. Bei mehreren Filialen bekommt jede Standortseite eine eigene Entität mit eigener @id und verweist per parentOrganization auf die Firma.
{
"@context": "https://schema.org",
"@type": "Electrician",
"@id": "https://www.beispiel-gmbh.de/standorte/hannover/#business",
"name": "Beispiel Elektrotechnik Hannover",
"url": "https://www.beispiel-gmbh.de/standorte/hannover/",
"image": "https://www.beispiel-gmbh.de/assets/standort-hannover.jpg",
"telephone": "+49-511-1234567",
"priceRange": "€€",
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstraße 12",
"postalCode": "30159",
"addressLocality": "Hannover",
"addressCountry": "DE"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.37589,
"longitude": 9.73201
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "07:30",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Friday",
"opens": "07:30",
"closes": "14:00"
}
],
"areaServed": "Region Hannover",
"parentOrganization": {
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik"
}
}Markup und Unternehmensprofil bei Google gehören zusammen. Name, Adresse, Telefonnummer und Öffnungszeiten müssen auf der Website, im JSON-LD und im Profil übereinstimmen. Für Bing gilt dasselbe mit Bing Places. Geänderte Öffnungszeiten an Feiertagen gehören in beide.
JobPosting
Stellenanzeigen haben den klarsten Nutzen von allen, weil sie für die eigene Jobsuche von Google qualifizieren. Die JobPosting-Doku verlangt mehr als die meisten anderen Typen, etwa einen Arbeitgeber mit Namen und einen Arbeitsort mit Land.
{
"@context": "https://schema.org",
"@type": "JobPosting",
"@id": "https://www.beispiel-gmbh.de/karriere/elektroniker-energietechnik/#job",
"title": "Elektroniker für Energie- und Gebäudetechnik (m/w/d)",
"description": "<p>Du installierst und wartest Elektro- und PV-Anlagen bei Privat- und Gewerbekunden in der Region Hannover.</p><ul><li>Abgeschlossene Ausbildung</li><li>Führerschein Klasse B</li></ul>",
"identifier": {
"@type": "PropertyValue",
"name": "Beispiel Elektrotechnik",
"value": "ELT-2026-07"
},
"datePosted": "2026-10-01",
"validThrough": "2026-11-30T23:59:59+01:00",
"employmentType": "FULL_TIME",
"hiringOrganization": {
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik",
"sameAs": "https://www.beispiel-gmbh.de/",
"logo": "https://www.beispiel-gmbh.de/assets/logo-512.png"
},
"jobLocation": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"streetAddress": "Musterstraße 12",
"postalCode": "30159",
"addressLocality": "Hannover",
"addressRegion": "Niedersachsen",
"addressCountry": "DE"
}
},
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "EUR",
"value": {
"@type": "QuantitativeValue",
"minValue": 3400,
"maxValue": 4100,
"unitText": "MONTH"
}
}
}Das Du in der Beschreibung ist Absicht, denn der Text stammt aus der sichtbaren Stellenanzeige und muss mit ihr übereinstimmen. Kritischer als jedes Feld ist der Lebenszyklus. Eine besetzte Stelle muss aus dem Markup verschwinden oder ein validThrough in der Vergangenheit bekommen, sonst landet eine Anzeige in der Jobsuche, auf die sich niemand mehr bewerben kann.
VideoObject
Für Videos auf der eigenen Website beschreibt VideoObject Titel, Vorschaubild, Upload-Datum, Länge und Speicherort. Google hat die Video-Doku erst Ende September aktualisiert und dabei creator aufgenommen (mit Hinweis, dass auch author funktioniert) sowie die zulässigen Werte für interactionStatistic präzisiert.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"@id": "https://www.beispiel-gmbh.de/videos/wallbox-installation/#video",
"name": "Wallbox installieren: Ablauf vom Termin bis zur Abnahme",
"description": "Unser Meister zeigt in zwölf Minuten, wie eine Wallbox-Installation abläuft und was vorher geklärt sein muss.",
"thumbnailUrl": [
"https://www.beispiel-gmbh.de/assets/video/wallbox-thumb-1280.jpg"
],
"uploadDate": "2026-09-22T09:00:00+02:00",
"duration": "PT12M14S",
"contentUrl": "https://media.beispiel-gmbh.de/video/wallbox-installation.mp4",
"embedUrl": "https://www.beispiel-gmbh.de/player/wallbox-installation",
"inLanguage": "de-DE",
"creator": {
"@type": "Organization",
"@id": "https://www.beispiel-gmbh.de/#organization",
"name": "Beispiel Elektrotechnik"
},
"interactionStatistic": {
"@type": "InteractionCounter",
"interactionType": { "@type": "WatchAction" },
"userInteractionCount": 4180
}
}Für Key Moments kommen per hasPart einzelne Clip-Objekte mit Start- und Endzeit dazu, alternativ bestimmt Google per SeekToAction die Sprungmarken selbst. Für Videos auf YouTube erledigt das die Plattform, das Markup lohnt sich vor allem für selbst gehostete Videos.
Recipe
Rezepte gehören zu den ältesten und weiterhin stabilsten Rich Results. Interessant am Typ ist, dass er intern auf HowToStep zurückgreift, also genau auf den Baustein, dessen eigenständiges Rich Result Google 2023 abgeschafft hat.
{
"@context": "https://schema.org",
"@type": "Recipe",
"@id": "https://www.beispiel-kocht.de/rezepte/linsensuppe/#recipe",
"name": "Linsensuppe mit geräuchertem Tofu",
"image": [
"https://www.beispiel-kocht.de/img/linsensuppe-1x1.jpg",
"https://www.beispiel-kocht.de/img/linsensuppe-4x3.jpg",
"https://www.beispiel-kocht.de/img/linsensuppe-16x9.jpg"
],
"author": { "@type": "Person", "name": "Anna Beispiel", "url": "https://www.beispiel-kocht.de/ueber-mich/" },
"datePublished": "2026-09-20",
"description": "Herzhafte Linsensuppe, die in 45 Minuten auf dem Tisch steht.",
"prepTime": "PT15M",
"cookTime": "PT30M",
"totalTime": "PT45M",
"recipeYield": "4 Portionen",
"recipeCategory": "Hauptgericht",
"recipeCuisine": "Deutsch",
"keywords": "Linsen, Eintopf, vegan",
"recipeIngredient": [
"250 g Tellerlinsen",
"200 g Räuchertofu",
"2 Karotten",
"1 Zwiebel",
"1,2 l Gemüsebrühe"
],
"recipeInstructions": [
{ "@type": "HowToStep", "name": "Gemüse schneiden", "text": "Zwiebel, Karotten und Tofu würfeln." },
{ "@type": "HowToStep", "name": "Anbraten", "text": "Zwiebel und Tofu in Öl anbraten, Karotten zugeben." },
{ "@type": "HowToStep", "name": "Köcheln", "text": "Linsen und Brühe zugeben und 30 Minuten köcheln lassen." }
],
"nutrition": { "@type": "NutritionInformation", "calories": "420 kcal" }
}aggregateRating fehlt im Beispiel mit Absicht. Bewertungen gehören nur ins Markup, wenn echte Nutzerbewertungen existieren und auf der Seite sichtbar sind.
Dataset
Dataset ist ein Nischentyp mit klarer Zielgruppe: Forschung, Behörden, Verbände und Unternehmen, die Daten offen bereitstellen. Seit November 2025 stellt Google klar, dass das Markup nur noch für die Dataset Search genutzt wird und nicht für die normale Google-Suche.
{
"@context": "https://schema.org",
"@type": "Dataset",
"@id": "https://daten.beispiel-verband.de/datensaetze/pv-ertraege-2026/#dataset",
"name": "PV-Erträge kleiner Dachanlagen in Niedersachsen 2026",
"description": "Monatliche Erträge von 1.240 Photovoltaik-Dachanlagen unter 30 kWp, erhoben von Januar bis September 2026.",
"url": "https://daten.beispiel-verband.de/datensaetze/pv-ertraege-2026/",
"keywords": ["Photovoltaik", "Ertrag", "Niedersachsen", "2026"],
"license": "https://creativecommons.org/licenses/by/4.0/",
"isAccessibleForFree": true,
"creator": {
"@type": "Organization",
"name": "Beispiel Energieverband e. V.",
"url": "https://www.beispiel-verband.de/"
},
"temporalCoverage": "2026-01-01/2026-09-30",
"spatialCoverage": { "@type": "Place", "name": "Niedersachsen" },
"distribution": [
{
"@type": "DataDownload",
"encodingFormat": "text/csv",
"contentUrl": "https://daten.beispiel-verband.de/files/pv-ertraege-2026.csv"
}
]
}Für die KI-Suche hat das keine dokumentierte Wirkung. Gut beschriebene Primärdaten können eine gefragte Quelle sein. Das liegt dann am Inhalt, das Markup sorgt bloß dafür, dass die Dataset Search ihn findet.
FAQPage und HowTo: nur noch mit gutem Grund
Seit dem 7. Mai 2026 zeigt Google keine FAQ-Rich-Results mehr, auch nicht für Behörden- und Gesundheitsseiten, die seit 2023 die letzte Ausnahme waren. Im Juni sind Doku, Search-Console-Bericht und Prüfung im Rich Results Test gefolgt. HowTo-Ergebnisse gibt es schon seit September 2023 weder auf dem Desktop noch mobil. Ratgeber, die FAQPage wegen größerer Snippets empfehlen, sind damit veraltet. Im Mai habe ich noch geschrieben, FAQPage sei „nicht zu verwechseln mit FAQ-Schema“. Doch, genau das ist es. Der Satz war Unsinn.
Verboten ist das Markup nicht, und schaden tut es auch nicht, solange die Fragen sichtbar auf der Seite stehen. Einen Nutzen in der KI-Suche hat bisher niemand belegt. Die Zeit für einen FAQ-Bereich ist in klaren Fragen als Zwischenüberschriften und guten Antworten darunter besser angelegt, denn die liest jedes System, ob mit oder ohne Markup. Für Seiten, auf denen Nutzer Fragen stellen und mehrere Antworten geben, gibt es mit QAPage ein eigenes, weiter unterstütztes Format.
Umsetzung: so gehe ich ein Schema-Projekt an
Die Beispiele oben sind die einfache Hälfte. Der Aufwand steckt darin, das Markup dauerhaft korrekt zu halten, während sich Preise, Öffnungszeiten, Stellen und Autoren ändern. Die Reihenfolge, die sich dafür bewährt, fängt bei den Templates an.
- Seitentypen inventarisieren. Welche Templates gibt es überhaupt? Startseite, Artikel, Produkt, Kategorie, Standort, Stelle, Video. Die Frage lautet zuerst, welche Dinge die Website beschreibt, und erst danach, welche Typen es dafür gibt.
- Pro Template eine Hauptentität festlegen. Eine Rezeptseite mit eingebettetem Video beschreibt ein Rezept, das Video hängt als Teil daran.
- Felder zuordnen. Für jede Property steht fest, aus welchem Datenfeld sie kommt und wo derselbe Wert sichtbar auf der Seite erscheint.
- Stabile IDs vergeben.
https://www.beispiel-gmbh.de/#organizationbleibt für immer gleich. Neue IDs bei jedem Relaunch zerlegen den Graphen. - JSON-LD aus denselben Daten erzeugen wie das HTML. Kein Copy-and-paste, keine Felder, die nur fürs Markup gepflegt werden.
- Serverseitig ausliefern. Dazu gleich mehr.
- Pilot pro Template. Einige repräsentative URLs ausrollen, prüfen, dann alles.
Für Schritt 3 reicht eine schlichte Tabelle. So sieht sie für ein Blog-Template aus:
| Datenfeld im CMS | sichtbar auf der Seite | Property |
|---|---|---|
post.title | H1 | headline |
post.feature_image | Artikelbild | image |
post.published_at | „Veröffentlicht am …“ | datePublished |
post.updated_at (nur bei inhaltlicher Änderung) | „Aktualisiert am …“ | dateModified |
author.name, author.url | Autorenbox | author |
Zu Schritt 6: Google verarbeitet auch JSON-LD, das per JavaScript eingefügt wird, das steht so in der Doku. Für andere Systeme gibt es dazu keine Zusage. Im Test von searchVIU war Gemini das einzige System, das beim Live-Abruf JavaScript ausgeführt hat. In Vercels Log-Auswertung von Ende 2024 führten die damaligen Crawler von OpenAI und Anthropic kein JavaScript aus. Eine aktuelle offizielle Zusage zum Rendering gibt es von keinem der beiden Anbieter. Per Tag-Manager nachgeladenes Markup ist damit die riskantere Wahl. Serverseitig ausgeliefertes JSON-LD funktioniert für jeden Abrufer, der etwas damit anfängt. Welche Bots tatsächlich vorbeikommen, zeigt ein Blick in die Logs, ich nutze dafür mein kleines Tool LogWerk.
WordPress, Shopify, TYPO3 und Ghost
WordPress. Yoast SEO und Rank Math geben von Haus aus einen verknüpften Graphen aus Organization, WebSite, WebPage, Person und Artikel aus und lassen sich per Filter erweitern. Das häufigste Problem entsteht, wenn mehrere Quellen gleichzeitig Markup erzeugen: das SEO-Plugin, WooCommerce, ein Rezept-Plugin, das Theme und ein selbst eingebautes Snippet. Mehrere Objekte auf einer Seite sind erlaubt. Drei verschiedene Organisationen mit drei verschiedenen Logos sind es im Sinne der Sache nicht. Bevor ein weiteres Plugin dazukommt, lohnt der Blick in den Quelltext einer Produkt- und einer Artikelseite.
Shopify. Viele Themes bringen Produkt-Markup schon mit. Bevor eine Schema-App installiert wird, gehört deshalb der Quelltext geprüft. Für eigene Themes gibt es seit einiger Zeit den Liquid-Filter structured_data, der aus einem Produkt ein Product macht, aus einem Produkt mit Varianten eine ProductGroup und aus einem Blogartikel ein Article:
<script type="application/ld+json">
{{ product | structured_data }}
</script>Das deckt die Grundlagen ab, Versand- und Rückgabeangaben, GTINs aus Metafields oder die Verknüpfung mit der Organisation fehlen aber. Wer mehr braucht, baut sich das JSON-LD in einem eigenen Snippet und gibt Werte konsequent mit dem json-Filter aus.
TYPO3. Mit der Extension schema (Composer-Paket brotkrueml/schema) lassen sich Typen per PHP-API oder ViewHelper erzeugen. Bei größeren Installationen würde ich das Mapping zentral im Code halten und Redaktionen kein JSON-LD in Inhaltselemente tippen lassen, weil getrennt gepflegte Werte früher oder später auseinanderlaufen.
Ghost. Ghost gibt über {{ghost_head}} ein Grund-Markup für Artikel, Autoren und Website aus. Erweitern oder ersetzen lässt sich das im Theme. t01.li läuft zum Zeitpunkt der Veröffentlichung dieses Artikels auf Ghost v6.70 mit dem eigenen Graphen, den ich oben beschrieben habe, inklusive der Schwächen, die mir bei der Recherche zu diesem Text aufgefallen sind.
robots.txt: Suche erlauben, Training getrennt entscheiden
Das beste Markup nützt nichts, wenn der Crawler die Seite nicht lesen darf. Google nennt Crawlbarkeit und Indexierbarkeit als Voraussetzung für die KI-Funktionen. Bei OpenAI und Anthropic lässt sich die Suche getrennt vom Training steuern. Perplexity dokumentiert keinen separaten Trainings-Crawler, seine veröffentlichten User-Agents dienen der Suche und nutzergetriggerten Abrufen. Laut OpenAI dauert es rund 24 Stunden, bis eine Änderung an der robots.txt greift.
Zwei Verwechslungen kommen oft vor. Google-Extended regelt nur, ob Inhalte in das Training und Grounding von Gemini einfließen, auf die Google-Suche und die AI Overviews hat die Zeile keinen Einfluss. Ein gesperrter Bingbot sperrt dagegen auch Copilot aus, weil Copilot auf dem Bing-Index aufsetzt.
# Suche: erlauben
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
# Training: bewusst entscheiden, hier gesperrt
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /Ob Training gesperrt wird, entscheidet die Geschäftsführung, mit SEO hat das wenig zu tun. Das Beispiel zeigt nur, wie die Trennung technisch aussieht. t01.li hat gar keine eigenen Regeln für KI-Crawler, dort gilt die Ghost-Standarddatei und damit für alle Bots freie Fahrt. Abgeholt wird die robots.txt von allen großen Anbietern, bei meiner Log-Auswertung zur llms.txt gern mehrmals am Tag. Mit gesperrten Suchbots kennt ChatGPT eine Website bestenfalls noch als Link ohne Inhalt.
Prüfen: grün heißt nicht sichtbar
Für die Prüfung gibt es zwei Werkzeuge mit unterschiedlichen Fragen. Der Schema Markup Validator prüft, ob das Markup dem Schema.org-Vokabular entspricht, und zwar „without Google-specific validation“. Der Rich Results Test prüft, ob eine Seite für die Rich Results von Google in Frage kommt. Ein HowTo kann im ersten Werkzeug fehlerfrei durchlaufen und im zweiten gar nicht auftauchen, weil Google den Typ nicht mehr auswertet.
Nach dem Rollout folgt die URL-Prüfung in der Search Console, die zeigt, was Google auf der indexierten Seite tatsächlich gefunden hat. Auf Dauer sind die Berichte zu den einzelnen Rich-Result-Typen und zu nicht parsbaren strukturierten Daten die Frühwarnung, wenn ein Theme-Update oder ein neues Plugin das Markup zerlegt. In einer Build-Pipeline lässt sich zusätzlich vor jedem Deployment automatisch prüfen, ob das JSON-LD gültiges JSON ist und die Pflichtfelder pro Template gefüllt sind. Das fängt die meisten Regressionen ab, bevor Google sie meldet.
Ein grüner Test bedeutet, dass eine Seite Rich Results bekommen kann. Eine Garantie gibt Google dafür nicht.
Messen, ob es in der KI-Suche etwas bringt
Lange war das der unangenehmste Teil, weil es keine Daten gab. Inzwischen liefern Google, Microsoft und OpenAI zumindest Teile davon selbst.
Google. Im Juni hat Google in der Search Console einen eigenen Bericht für die generativen Funktionen angekündigt, seit dem 31. August ist er laut Google weltweit für alle Websites verfügbar. Er zeigt, wie oft Links zur Website in AI Overviews und AI Mode erschienen sind, aufgeschlüsselt nach Seiten, Ländern, Zeitraum und Geräten, dazu einen eigenen Bericht für Discover. Klicks und Suchanfragen fehlen, es sind reine Impressionen.
Microsoft. AI Performance in den Bing Webmaster Tools zählt Zitate in Copilot und bei Partnern, zeigt die zitierten Seiten und eine Stichprobe der sogenannten Grounding Queries, also der Suchanfragen, die das Modell zum Belegen abgeschickt hat. Seit Juni kommen Absichten (Informational, Commercial, Local und weitere), Themencluster und der Citation Share dazu, der eigene Anteil an allen Zitaten zu einer Grounding Query. Microsoft ordnet den Wert als Beobachtungsgröße ein, die weder Rankings noch Traffic abbildet.
OpenAI. Für die ChatGPT-Suche gibt es keine Webmaster-Daten. Links aus der Suche tragen laut OpenAIs FAQ für Publisher den Parameter utm_source=chatgpt.com, damit lassen sich Besuche, Landingpages und Conversions in der Webanalyse getrennt auswerten. Zitate ohne Klick bleiben unsichtbar.
Update vom 15. Oktober 2026: Auf den Parameter ist kein Verlass mehr, seit OpenAI am 7. Oktober GPT-6 und die neue Intelligent UI in ChatGPT eingeführt hat. Profound hat ausgezählt, wie viele der eigenen gesammelten ChatGPT-Antworten mit Quellen mindestens einen Link mit dem Parameter enthalten: am 8. Oktober rund 98 %, am 9. Oktober 75 %, am 14. Oktober 66 %. Im selben Zeitraum stieg der Anteil der Antworten in der Intelligent UI von 2 auf rund 35 %. Cedric Huesler von Adobe hat laut Search Engine Roundtable beobachtet, dass GPT-6 Links mit noopener,noreferrer öffnet und den Parameter dabei weglässt. Ohne Parameter und ohne Referrer verbucht die Webanalyse einen solchen Besuch als Direct.
Ob die Änderung gewollt ist, welche Clients sie betrifft (Web, Apps, Atlas) und ob sie bleibt, ist offen. Sinken die ChatGPT-Besuche ab dem 8. Oktober, kann das allein an der fehlenden Kennzeichnung liegen. Zeiträume vor und nach dem 7. Oktober lassen sich deshalb nicht direkt vergleichen. Einen Anhaltspunkt liefern die Direct-Zugriffe auf tiefe Landingpages, die kaum jemand von Hand aufruft. Steigen sie im selben Zeitraum, spricht das für eine Verschiebung in der Messung.
Mit diesen drei Quellen lässt sich die Schema-Frage für die eigene Website zum ersten Mal halbwegs sauber beantworten. Halbwegs, weil KI-Zitate stark schwanken. Microsoft nennt als Gründe unter anderem Modell-Updates, Nachfrage und Aktualität. Eine Vorher-nachher-Messung ohne Vergleichsgruppe misst damit vor allem den Markttrend. Besser funktioniert ein Aufbau nach dem Muster der Ahrefs-Auswertung:
- Zwei Gruppen vergleichbarer Seiten bilden, etwa 50 Produktseiten mit erweitertem Markup und 50 ohne Änderung, und die Seiten zufällig auf die Gruppen verteilen.
- Mindestens vier Wochen Vorlauf speichern: KI-Impressionen in der Search Console, Bing-Zitate, ChatGPT-Besuche, klassische Klicks.
- In der Zeit keine anderen Änderungen an diesen Seiten, kein Relaunch, keine neuen Texte.
- Danach zählt die Differenz zwischen den Gruppen. Steigen beide gleich stark, war es der Markt.
Das klappt nur mit genug Daten. Bei Seiten mit einer Handvoll KI-Impressionen im Monat misst auch dieser Aufbau vor allem Rauschen.
Wie ein Messdesign für Fragen an die Assistenten selbst aussieht, habe ich im Text zur KI-Sichtbarkeit für KMU beschrieben. Und mehr Sichtbarkeit in der Antwort heißt nicht automatisch mehr Besuche. Eine Auswertung zur Wikipedia schätzt, dass die AI Overviews die Suchverweise auf englische Artikel um rund 5 % gesenkt haben, gemessen gegen die deutsche und die französische Ausgabe (Working Paper, nicht begutachtet).
Was in der Praxis schiefgeht
Markup und Seite erzählen Verschiedenes. Ein Preis im JSON-LD, der vom sichtbaren abweicht, Bewertungen ohne sichtbare Bewertungen, Fragen, die nur im Markup stehen. Damit riskiert eine Website eine manuelle Maßnahme, die Rich Results kostet.
Validiert wird mit „wird angezeigt“ verwechselt. Der Rich Results Test prüft die Eignung. Ob Google ein Rich Result zeigt, entscheidet Google je Suchanfrage.
Schema.org und Google werden gleichgesetzt. Schema.org kennt in der aktuellen Version 30.1 mehrere Hundert Typen. Google wertet für Rich Results einen Bruchteil davon aus. Welche das sind, steht in der Search Gallery.
Alte Ratgeber werden weiter befolgt. FAQPage für größere Snippets, HowTo für Schrittanzeigen, Ergebnisse für Kursinformationen oder geschätzte Gehälter: Google hat seit 2023 eine ganze Reihe dieser Funktionen eingestellt, zuletzt im Januar und im Mai 2026.
Mehrere Quellen erzeugen konkurrierende Entitäten. Theme, SEO-Plugin und Shop-Erweiterung beschreiben jeweils ihre eigene Organisation, mit unterschiedlichen Namen und Logos.
Zeitkritische Daten veralten. Abgelaufene Stellen, beendete Aktionen, ausverkaufte Produkte mit InStock. Google kann solche Seiten von Rich Results ausschließen.
Der hotte Take zum Schluss
Strukturierte Daten liefern den Systemen, die eine Website indexieren, explizite Metadaten. Dass ein Sprachmodell beim Antworten JSON-LD auswertet und eine Seite deshalb häufiger zitiert, gibt keine Messung her, und in den Unterlagen von 2026 behauptet es auch kein Anbieter. Belegt ist der Nutzen dort, wo Schema schon immer gewirkt hat, bei der Zuordnung von Entitäten, bei Suchfunktionen und bei sauberen Produkt- und Standortdaten im Index. Ob daraus über den Umweg der Suchmaschinen mehr KI-Zitate entstehen, ist offen. Für kleine Websites fehlt selbst die Ahrefs-Messung, sie hat nur Seiten untersucht, die schon vorher oft zitiert wurden, und dort stehen die meisten KMU nicht.
Für ein KMU heißt das konkret: Organization und WebSite auf der Startseite, ProfilePage auf den Autorenseiten, den passenden Typ pro Template aus denselben Daten wie der sichtbare Text, im Shop Markup plus Feed, vor Ort Markup plus Unternehmensprofil. Dazu die Suchbots in der robots.txt freigeben und die neuen Berichte von Google und Bing einmal im Monat ansehen. Das ist unspektakulär und für die meisten Websites überschaubar. Was dann noch an Budget übrig ist, gehört in Inhalte, die eine KI-Antwort zitieren will.