{"id":11939,"date":"2026-03-20T06:45:00","date_gmt":"2026-03-20T05:45:00","guid":{"rendered":"https:\/\/code78.de\/blog\/?p=11939"},"modified":"2026-03-20T06:35:12","modified_gmt":"2026-03-20T05:35:12","slug":"schema-typen-geo","status":"publish","type":"post","link":"https:\/\/code78.de\/blog\/schema-typen-geo\/","title":{"rendered":"10 Schema.org Markup-Typen f\u00fcr GEO und Google-Verst\u00e4ndlichkeit"},"content":{"rendered":"\n<p>Wenn GEO die neue B\u00fchne ist, dann ist Schema.org das Mikrofon. Ohne Mikrofon k\u00f6nnt ihr schreien, so viel ihr wollt \u2013 die Maschinen im Publikum h\u00f6ren nur \u201eirgendwas mit Buchstaben\u201c.<\/p>\n\n\n\n<p>Also: 10 Schema-Typen f\u00fcr GEO, die auf der B\u00fchne z\u00e4hlen \u2013 inklusive dem ganzen Kabel-Ged\u00f6hnse und Verst\u00e4rkern: Implementierung, Code-Snippets und ein Validierungs-Workflow, der nicht nach \u201eTrial-and-Error bis zur Rente\u201c schmeckt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exkurs: Was ist GEO?<\/h2>\n\n\n\n<p>Bevor wir die Kabel verlegen: SEO (Search Engine Optimization) war gestern. Heute reden wir \u00fcber GEO (Generative Engine Optimization). W\u00e4hrend Google fr\u00fcher nur Links sortiert hat, bauen KI-Systeme heute fertige Antworten zusammen. <\/p>\n\n\n\n<p>GEO ist die Kunst, euren Content so aufzubereiten, dass die KI ihn nicht nur findet, sondern als vertrauensw\u00fcrdige Quelle f\u00fcr diese Antworten ausw\u00e4hlt. <\/p>\n\n\n\n<p>Und Schema.org kann euch dabei unterst\u00fctzen.<\/p>\n\n\n\n<nav>\n<h2>Inhaltsverzeichnis<\/h2>\n<ul>\n<li><a href=\"#geo\">Warum Schema.org f\u00fcr GEO pl\u00f6tzlich sexy ist<\/a><\/li>\n<li><a href=\"#grundlagen\">JSON-LD, Entit\u00e4ten und der gro\u00dfe Missverst\u00e4ndnis-Zoo<\/a><\/li>\n<li><a href=\"#typen\">Die 10 wichtigsten Markup-Typen<\/a><\/li>\n<li><a href=\"#wordpress\">Implementierung in WordPress ohne Bauchschmerzen<\/a><\/li>\n<li><a href=\"#validierung\">Validieren, debuggen und nicht wahnsinnig werden<\/a><\/li>\n<li><a href=\"#fehler\">H\u00e4ufige Fehler und wie ihr sie vermeidet<\/a><\/li>\n<li><a href=\"#fazit\">Fazit<\/a><\/li>\n<\/ul>\n<\/nav>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"geo\">Warum Schema.org f\u00fcr GEO pl\u00f6tzlich sexy ist<\/h2>\n\n\n\n<p>Schema.org ist ein Vokabular, mit dem ihr Inhalte so beschreibt, dass Maschinen sie strukturiert interpretieren k\u00f6nnen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wer ist Autor*in?<\/li>\n\n\n\n<li>Was ist die Hauptentit\u00e4t einer Seite?<\/li>\n\n\n\n<li>Welche Fragen werden beantwortet?<\/li>\n\n\n\n<li>Welches Objekt ist ein Produkt?<\/li>\n\n\n\n<li>Welche Organisation steckt dahinter?<\/li>\n<\/ul>\n\n\n\n<p><a aria-label=\"Google formuliert das in nett: Strukturierte Daten helfen Google, eine Seite besser zu verstehen und k\u00f6nnen zu besseren Darstellungen in den Suchergebnissen beitragen (opens in a new tab)\" href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/article\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">Google formuliert das in nett: Strukturierte Daten helfen Google, eine Seite besser zu verstehen und k\u00f6nnen zu besseren Darstellungen in den Suchergebnissen beitragen<\/a>. <\/p>\n\n\n\n<p>Und bevor ihr jetzt euphorisch wie mit einer Axt 2000 durchs SEO-Unterholz rennt: Strukturierte Daten sind kein \u201eRanking-Button\u201c. Sie sind eher ein \u00dcbersetzer, der eure Inhalte so in Form bringt, dass Suchsysteme sie effizienter einordnen k\u00f6nnen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Was bringt Schema f\u00fcr GEO?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Es macht Entit\u00e4ten explizit, statt sie nur zu erahnen: Person, Organization, Product, LocalBusiness<\/li>\n\n\n\n<li>Es reduziert Mehrdeutigkeit durch klare Typisierung: Artikel, Blogbeitrag, Anleitung<\/li>\n\n\n\n<li>Es liefert zitierf\u00e4hige, maschinenlesbare Faktenpunkte: Autor*in, Datum, Struktur, Fragen und Antworten<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group has-border-color has-accent-5-border-color has-accent-4-background-color has-background is-layout-flow wp-container-core-group-is-layout-77846902 wp-block-group-is-layout-flow\" style=\"margin-top:2em;margin-bottom:2em;padding-top:1em;padding-right:1em;padding-bottom:1em;padding-left:1em;box-shadow:var(--wp--preset--shadow--deep)\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading\">Markup ist Datenstrategie<\/h2>\n<\/div>\n\n\n\n<p>Wenn euer Schema wie ein ordentliches Datenmodell aufgebaut ist, k\u00f6nnen generative Systeme eure Aussagen leichter extrahieren und korrekt zuordnen.<\/p>\n\n\n\n<p>Weitere Best Practices, Anleitungen und Insights findet ihr auf der \u00dcbersichtsseite:<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/code78.de\/blog\/category\/suchmaschinenoptimierung\/geo\/\">Generative Engine Optimization<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"grundlagen\">JSON-LD, Entit\u00e4ten und der gro\u00dfe Missverst\u00e4ndnis-Zoo<\/h2>\n\n\n\n<p>Wenn ihr nur eine Sache mitnehmt: Nutzt JSON-LD. Das ist die Variante, bei der ihr ein JSON-Snippet einbettet, statt euer HTML mit Microdata zu \u201et\u00e4towieren\u201c.<\/p>\n\n\n\n<p>Google zeigt in seinen Beispielen f\u00fcr Article sowohl JSON-LD als auch Microdata, aber die g\u00e4ngige Praxis und die wartungsfreundlichste L\u00f6sung ist JSON-LD, weil ihr es template-basiert ausrollen k\u00f6nnt, ohne eure Content-Struktur zu verbiegen. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-Definitionen<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Entit\u00e4t<\/strong>: Ein eindeutig identifizierbares \u201eDing\u201c, das ihr im Markup als Objekt beschreibt. Zum Beispiel: eine Person, die Marke, ein Ort, ein Produkt<\/li>\n\n\n\n<li><strong>Property<\/strong>: Ein Attribut einer Entit\u00e4t. Das sind beispielsweise <em>author<\/em>, <em>datePublished<\/em>, <em>image<\/em>.<\/li>\n\n\n\n<li><strong>@context<\/strong>: Meist \u201ehttps:\/\/schema.org\u201c \u2013 der Hinweis, welches Vokabular ihr sprecht<\/li>\n\n\n\n<li><strong>@type<\/strong>: Der Typ eurer Entit\u00e4t, z.B. \u201eArticle\u201c oder \u201eFAQPage\u201c.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"typen\">Die 10 wichtigsten Markup-Typen<\/h2>\n\n\n\n<p>Hier kommt die Liste, die ihr wahrscheinlich wollt, aber nicht nur als \u201eSchema-Bingo\u201c. Ich sage euch jeweils: Wof\u00fcr, wann, und ein Code-Beispiel, das nicht nach Lehrbuch riecht.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"blogposting\">1) Article oder BlogPosting<\/h3>\n\n\n\n<p>F\u00fcr Blogartikel ist \u201eBlogPosting\u201c oft der passendste Untertyp von Article. Google nennt als Grundlage f\u00fcr Article-Markup explizit \u201eArticle\u201c, \u201eNewsArticle\u201c oder \u201eBlogPosting\u201c. <\/p>\n\n\n\n<p>Ziel: Klar machen, dass die Seite ein Artikel ist, wer ihn geschrieben hat, wann er ver\u00f6ffentlicht und zuletzt aktualisiert wurde.<\/p>\n\n\n\n<p><strong>JSON-LD Beispiel<\/strong> (anpassen, nicht stumpf kopieren):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script type=\"application\/ld+json\"&gt;\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": &#91;\n    {\n      \"@type\": \"BlogPosting\",\n      \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#article\",\n      \"headline\": \"&#91;EURE \u00dcBERSCHRIFT]\",\n      \"description\": \"&#91;EURE KURZE ZUSAMMENFASSUNG F\u00dcR DIE KI]\",\n      \"datePublished\": \"YYYY-MM-DDTHH:MM:SS+01:00\",\n      \"dateModified\": \"YYYY-MM-DDTHH:MM:SS+01:00\",\n      \"mainEntityOfPage\": {\n        \"@type\": \"WebPage\",\n        \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/\"\n      },\n      \"author\": {\n        \"@type\": \"Person\",\n        \"@id\": \"https:\/\/eure-domain.de\/#autor\",\n        \"name\": \"&#91;NAME DER AUTORIN \/ DES AUTORS]\",\n        \"url\": \"https:\/\/eure-domain.de\/autor\/\",\n        \"sameAs\": &#91;\n          \"https:\/\/www.linkedin.com\/in\/&#91;PROFIL-ID]\/\",\n          \"https:\/\/github.com\/&#91;NUTZERNAME]\"\n        ]\n      },\n      \"publisher\": {\n        \"@id\": \"https:\/\/eure-domain.de\/#organization\"\n      },\n      \"image\": &#91;\n        \"https:\/\/eure-domain.de\/uploads\/bild-16x9.jpg\",\n        \"https:\/\/eure-domain.de\/uploads\/bild-1x1.jpg\"\n      ]\n    },\n    {\n      \"@type\": \"Organization\",\n      \"@id\": \"https:\/\/eure-domain.de\/#organization\",\n      \"name\": \"&#91;EUER UNTERNEHMEN \/ MARKE]\",\n      \"url\": \"https:\/\/eure-domain.de\/\",\n      \"logo\": {\n        \"@type\": \"ImageObject\",\n        \"url\": \"https:\/\/eure-domain.de\/logo.png\"\n      }\n    }\n  ]\n}\n&lt;\/script&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"webpage\">2) WebPage (und mainEntity)<\/h3>\n\n\n\n<p>\u201eWebPage\u201c ist der \u201eRahmen\u201c: Diese URL ist eine Seite, Punkt. Wenn ihr dann zus\u00e4tzlich ein Article markiert, k\u00f6nnt ihr \u00fcber <em>mainEntity<\/em> sauber ausdr\u00fccken, was das Hauptding auf dieser Seite ist (der Artikel, das Produkt, die Organisation).<\/p>\n\n\n\n<p>Das ist GEO-freundlich, weil es Mehrdeutigkeit reduziert: nicht \u201ehier ist Content\u201c, sondern \u201ehier ist Content \u00fcber genau dieses Ding\u201c.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"WebPage\",\n  \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#webpage\",\n  \"url\": \"https:\/\/eure-domain.de\/artikel-url\/\",\n  \"name\": \"&#91;TITEL DER SEITE]\",\n  \"isPartOf\": {\n    \"@id\": \"https:\/\/eure-domain.de\/#website\"\n  },\n  \"mainEntity\": {\n    \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#article\"\n  },\n  \"inLanguage\": \"de-DE\",\n  \"description\": \"&#91;META-DESCRIPTION DER SEITE]\"\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum die MainEntity euer GEO-Anker ist<\/h3>\n\n\n\n<p>Wenn ihr dieses Puzzleteil in euren Graphen einsetzt, bewirkt ihr Folgendes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fokus f\u00fcr die KI: Generative Engines m\u00fcssen oft entscheiden, was auf einer Seite \u201eRauschen\u201c (Sidebar, Footer, Ads) und was \u201eSignal\u201c (der Text) ist. \u00dcber <code>mainEntity<\/code> zeigt ihr mit dem Finger direkt auf den relevanten Content.<\/li>\n\n\n\n<li>Logische Hierarchie: Ihr definiert die <code>WebPage<\/code> als den Container und den <code>Article<\/code> als das prim\u00e4re Objekt darin. Das ist f\u00fcr die Indexierung sauberer als zwei isolierte Bl\u00f6cke.<\/li>\n\n\n\n<li>Vermeidung von Fehlinterpretationen: Ohne diese Verkn\u00fcpfung k\u00f6nnte eine KI f\u00e4lschlicherweise die Biografie des Autors oder ein <code>LocalBusiness<\/code> im Footer als Hauptthema der URL missverstehen.<\/li>\n\n\n\n<li>Wichtiger Einbau-Hinweis: Achtet darauf, dass die <code>@id<\/code> im <code>mainEntity<\/code>-Feld der <code>WebPage<\/code> exakt mit der <code>@id<\/code> eures BlogPosting- oder Article-Objekts \u00fcbereinstimmt (in meinem Beispiel: <code>...\/#article<\/code>). Nur so schnappt die Verbindung ein.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3) FAQPage \u2013 aber nur, wenn ihr wirklich FAQs habt<\/h3>\n\n\n\n<p>FAQ-Markup ist ein Klassiker, aber Google ist inzwischen deutlich strenger: <a href=\"https:\/\/developers.google.com\/search\/docs\/appearance\/structured-data\/faqpage?hl=de\" target=\"_blank\" aria-label=\"FAQ Rich Results sind laut Google nur noch f\u00fcr Websites im Gesundheits- oder Beh\u00f6rdenkontext verf\u00fcgbar (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">FAQ Rich Results sind laut Google nur noch f\u00fcr Websites im Gesundheits- oder Beh\u00f6rdenkontext verf\u00fcgbar<\/a>. <\/p>\n\n\n\n<p>F\u00fcr GEO kann es trotzdem sinnvoll sein, weil ihr Fragen und Antworten als Struktur anbietet. Nutzt das Schema <strong>aber nur, wenn die Inhalte wirklich sichtbar auf der Seite stehen<\/strong>. \u201eUnsichtbares\u201c FAQ-Markup wird von Suchmaschinen als Spam gewertet.<\/p>\n\n\n\n<p><strong>JSON-LD Mini-Beispiel<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"FAQPage\",\n  \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#faq\",\n  \"isPartOf\": {\n    \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#webpage\"\n  },\n  \"mainEntity\": &#91;\n    {\n      \"@type\": \"Question\",\n      \"name\": \"&#91;EURE ERSTE FRAGE]\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"&#91;EURE PR\u00c4ZISE ANTWORT (DARF HTML ENTHALTEN, Z.B. LINKS ODER LISTEN)]\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"&#91;EURE ZWEITE FRAGE]\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"&#91;EURE ZWEITE PR\u00c4ZISE ANTWORT]\"\n      }\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum das f\u00fcr euch im GEO-Kontext z\u00e4hlt<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>KIs wie Perplexity oder SearchGPT extrahieren Antworten bevorzugt aus strukturierten FAQ-Bereichen, weil die Semantik bereits perfekt aufbereitet ist.<\/li>\n\n\n\n<li><code>isPartOf<\/code> Verkn\u00fcpfung: Indem ihr die FAQPage an eure <code>#webpage<\/code> bindet, macht ihr klar: \u201eDiese Antworten geh\u00f6ren zum Kontext dieses Artikels.\u201c Das erh\u00f6ht die Relevanz eurer gesamten Seite f\u00fcr spezifische Suchanfragen.<\/li>\n\n\n\n<li>Vollst\u00e4ndigkeit: Ihr deckt damit Long-Tail-Anfragen ab (\u201eWie&#8230;\u201c, \u201eWas ist&#8230;\u201c), die im Flie\u00dftext manchmal untergehen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) HowTo<\/h3>\n\n\n\n<p>HowTo ist euer Format, wenn ihr echte Schritt-f\u00fcr-Schritt-Anleitungen habt: ein Ziel, mehrere Schritte, optional Tools\/Materialien. <a href=\"https:\/\/schema.org\/HowTo\" target=\"_blank\" aria-label=\"Schema.org beschreibt HowTo als \u201eInstructions that explain how to achieve a result by performing a sequence of steps\u201c (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Schema.org beschreibt HowTo als \u201eInstructions that explain how to achieve a result by performing a sequence of steps\u201c<\/a>.<\/p>\n\n\n\n<p>Wichtig: Nicht jede Liste ist ein HowTo. \u201e10 Tipps\u201c ist eher kein HowTo. \u201eSo implementiert ihr JSON-LD in WordPress\u201c kann eins sein, wenn es wirklich sequenziell ist.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"HowTo\",\n  \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#howto\",\n  \"name\": \"&#91;TITEL EURER ANLEITUNG]\",\n  \"description\": \"&#91;ZUSAMMENFASSUNG: WAS LERNT MAN IN DIESER ANLEITUNG?]\",\n  \"totalTime\": \"PT15M\", \n  \"supply\": &#91;\n    {\n      \"@type\": \"HowToSupply\",\n      \"name\": \"&#91;BEN\u00d6TIGTES MATERIAL 1]\"\n    }\n  ],\n  \"tool\": &#91;\n    {\n      \"@type\": \"HowToTool\",\n      \"name\": \"&#91;BEN\u00d6TIGTES WERKZEUG\/SOFTWARE 1]\"\n    }\n  ],\n  \"step\": &#91;\n    {\n      \"@type\": \"HowToStep\",\n      \"name\": \"&#91;NAME SCHRITT 1]\",\n      \"text\": \"&#91;DETAILLIERTE BESCHREIBUNG VON SCHRITT 1]\",\n      \"url\": \"https:\/\/eure-domain.de\/artikel-url\/#schritt1\"\n    },\n    {\n      \"@type\": \"HowToStep\",\n      \"name\": \"&#91;NAME SCHRITT 2]\",\n      \"text\": \"&#91;DETAILLIERTE BESCHREIBUNG VON SCHRITT 2]\",\n      \"url\": \"https:\/\/eure-domain.de\/artikel-url\/#schritt2\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum das HowTo eure GEO-Sichtbarkeit boostet:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pr\u00e4zision durch Zeit und Tools: Felder wie <code>totalTime<\/code> (im ISO 8601 Format) und <code>tool<\/code> helfen der KI, die Komplexit\u00e4t eurer Anleitung einzusch\u00e4tzen.<\/li>\n\n\n\n<li>Strukturierte Schritte: Jedes <code>HowToStep<\/code>-Objekt ist eine klare Einheit. KIs nutzen diese Einheiten oft, um nummerierte Listen in ihren Antworten zu generieren.<\/li>\n\n\n\n<li>Anker-Links: \u00dcber die <code>url<\/code> innerhalb der Steps k\u00f6nnt ihr direkt auf die entsprechenden Sprungmarken in eurem Text verweisen. Das f\u00fchrt punktgenau zum Inhalt.<\/li>\n\n\n\n<li>Profi-Tipp: Nutzt f\u00fcr die Beschreibungen in <code>text<\/code> einen aktiven Schreibstil. Das passt perfekt zur Erwartungshaltung von Sprachmodellen, die hilfreiche Anweisungen extrahieren wollen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5) Product<\/h3>\n\n\n\n<p>Wenn ihr ein Produkt habt, ist Product-Markup der Weg, Preis, Verf\u00fcgbarkeit, Marke und Varianten strukturiert zu beschreiben. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"Product\",\n  \"@id\": \"https:\/\/eure-domain.de\/produkt-url\/#product\",\n  \"name\": \"&#91;NAME EURES PRODUKTS]\",\n  \"image\": &#91;\n    \"https:\/\/eure-domain.de\/bilder\/produkt-vorne.jpg\",\n    \"https:\/\/eure-domain.de\/bilder\/produkt-seite.jpg\"\n  ],\n  \"description\": \"&#91;PR\u00c4ZISE PRODUKTBESCHREIBUNG F\u00dcR DIE KI]\",\n  \"sku\": \"&#91;ARTIKELNUMMER]\",\n  \"brand\": {\n    \"@type\": \"Brand\",\n    \"name\": \"&#91;MARKENNAME]\"\n  },\n  \"offers\": {\n    \"@type\": \"Offer\",\n    \"url\": \"https:\/\/eure-domain.de\/produkt-url\/\",\n    \"priceCurrency\": \"EUR\",\n    \"price\": \"&#91;PREIS, Z.B. 49.99]\",\n    \"availability\": \"https:\/\/schema.org\/InStock\",\n    \"priceValidUntil\": \"YYYY-MM-DD\"\n  },\n  \"aggregateRating\": {\n    \"@type\": \"AggregateRating\",\n    \"ratingValue\": \"&#91;Z.B. 4.8]\",\n    \"reviewCount\": \"&#91;Z.B. 124]\"\n  }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum das f\u00fcr euch im GEO-Kontext z\u00e4hlt:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vergleichbarkeit: KI-Shopping-Assistenten (wie in SearchGPT oder Google Shopping) nutzen diese Daten, um Produkte direkt in Tabellen zu vergleichen. Ohne <code>price<\/code> und <code>availability<\/code> seid ihr f\u00fcr diese Systeme \u201eunsichtbar\u201c.<\/li>\n\n\n\n<li>Vertrauen durch Ratings: Das <code>aggregateRating<\/code> signalisiert der KI soziale Bew\u00e4hrtheit. Produkte mit strukturierten Bewertungen werden in generativen Antworten oft bevorzugt als \u201eTop-Empfehlung\u201c gelistet.<\/li>\n\n\n\n<li>Pr\u00e4zision: Durch Felder wie <code>sku<\/code> (Stock Keeping Unit) oder <code>brand<\/code> helft ihr den Systemen, euer Produkt eindeutig von Konkurrenzangeboten zu unterscheiden.<\/li>\n\n\n\n<li>Pricing-Tipp: Achtet darauf, dass der <code>price<\/code> im Markup exakt mit dem Preis auf der Seite \u00fcbereinstimmt. Abweichungen f\u00fchren schnell zu einer Ablehnung der Rich Results durch Google. Das Feld <code>priceValidUntil<\/code> ist zudem euer Freund, um bei zeitlich begrenzten Angeboten f\u00fcr Klarheit zu sorgen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Organization<\/h3>\n\n\n\n<p>Organization ist der \u201eWer steckt dahinter?\u201c-Baustein. F\u00fcr Marken- und Publisher-Signale ist das n\u00fctzlich, weil ihr euren Absender klar macht: Name, URL, Logo, ggf. Social-Profile via <code>sameAs<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"Organization\",\n  \"@id\": \"https:\/\/eure-domain.de\/#organization\",\n  \"name\": \"&#91;EUER UNTERNEHMENSNAME \/ MARKE]\",\n  \"url\": \"https:\/\/eure-domain.de\/\",\n  \"logo\": {\n    \"@type\": \"ImageObject\",\n    \"@id\": \"https:\/\/eure-domain.de\/#logo\",\n    \"url\": \"https:\/\/eure-domain.de\/logo.png\",\n    \"width\": \"600\",\n    \"height\": \"60\"\n  },\n  \"address\": {\n    \"@type\": \"PostalAddress\",\n    \"streetAddress\": \"&#91;STRASSE UND HAUSNUMMER]\",\n    \"addressLocality\": \"&#91;STADT]\",\n    \"postalCode\": \"&#91;POSTLEITZAHL]\",\n    \"addressCountry\": \"DE\"\n  },\n  \"sameAs\": &#91;\n    \"https:\/\/www.linkedin.com\/company\/&#91;EURE-ID]\",\n    \"https:\/\/www.instagram.com\/&#91;EUER-PROFIL]\/\",\n    \"https:\/\/twitter.com\/&#91;EUER-HANDLE]\",\n    \"https:\/\/www.youtube.com\/@&#91;EUER-KANAL]\",\n    \"https:\/\/www.facebook.com\/&#91;EURE-SEITE]\"\n  ],\n  \"contactPoint\": {\n    \"@type\": \"ContactPoint\",\n    \"telephone\": \"&#91;+49-NUMMER]\",\n    \"contactType\": \"customer service\",\n    \"email\": \"hallo@eure-domain.de\"\n  }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum die Organization mit sameAs euer GEO-Fundament ist:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Identit\u00e4ts-Clustering: KIs sammeln Informationen \u00fcber verschiedene Quellen hinweg. Durch <code>sameAs<\/code> helft ihr ihnen, Informationen von LinkedIn, Twitter und eurer Website zu einem einzigen, starken Wissensknoten zusammenzuf\u00fcgen.<\/li>\n\n\n\n<li>Trust-Signal: Ein Unternehmen mit physischer Adresse (<code>PostalAddress<\/code>) und verifizierbaren Social-Media-Profilen wird von generativen Suchmaschinen als deutlich vertrauensw\u00fcrdiger eingestuft als eine reine Affiliate-Seite ohne Hintergrund.<\/li>\n\n\n\n<li>Logo-Pr\u00e4senz: Indem ihr euer Logo im Markup definiert, erh\u00f6ht ihr die Chance, dass es in den KI-Antwortboxen oder Knowledge Panels direkt neben eurem Namen angezeigt wird.<\/li>\n\n\n\n<li>Identit\u00e4ts-Check: Nutzt in <code>sameAs<\/code> nur Profile, die ihr auch wirklich aktiv pflegt. Es dient als Beweis eurer Autorit\u00e4t \u2013 verwaiste Profile k\u00f6nnen hier eher das Gegenteil bewirken.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7) Person (Autor*in)<\/h3>\n\n\n\n<p>Google empfiehlt bei Article-Markup explizit eine saubere Autor*innen-Auszeichnung und r\u00e4t, \u00fcber <code>author.url<\/code> auf eine Seite zu verlinken, die die Autor*in eindeutig identifiziert. <\/p>\n\n\n\n<p>Das Person-Markup ist euer sch\u00e4rfstes Schwert im Kampf um E-E-A-T. Suchmaschinen und GEO-Systeme wollen wissen: \u201eWer spricht hier eigentlich?\u201c. Mit diesem Markup verwandelt ihr  namenlose Autor*in in greifbare Expert*in mit Geschichte und Reputation.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"Person\",\n  \"@id\": \"https:\/\/eure-domain.de\/#autor\",\n  \"name\": \"&#91;EUER VOLLER NAME]\",\n  \"jobTitle\": \"&#91;EURE POSITION, Z.B. SOFTWARE ENGINEER]\",\n  \"description\": \"&#91;EURE KURZ-BIO: WAS MACHT EUCH ZUR EXPERTIN \/ ZUM EXPERTEN?]\",\n  \"image\": \"https:\/\/eure-domain.de\/bilder\/autor-portrait.jpg\",\n  \"url\": \"https:\/\/eure-domain.de\/ueber-mich\/\",\n  \"sameAs\": &#91;\n    \"https:\/\/www.linkedin.com\/in\/&#91;EURE-ID]\/\",\n    \"https:\/\/github.com\/&#91;EUER-NUTZERNAME]\",\n    \"https:\/\/twitter.com\/&#91;EUER-HANDLE]\",\n    \"https:\/\/eure-domain.de\/author\/&#91;NUTZERNAME]\/\"\n  ],\n  \"worksFor\": {\n    \"@id\": \"https:\/\/eure-domain.de\/#organization\"\n  },\n  \"knowsAbout\": &#91;\n    \"&#91;THEMA 1, Z.B. SCHEMA.ORG]\",\n    \"&#91;THEMA 2, Z.B. GEO]\",\n    \"&#91;THEMA 3, Z.B. KI-STRATEGIE]\"\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum die Person f\u00fcr euer GEO-Ranking entscheidend ist:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>knowsAbout<\/code>: Dieses Feld ist ein verstecktes Juwel. Hier nennt ihr explizit eure Fachgebiete. KIs nutzen dies, um eure Autorit\u00e4t f\u00fcr bestimmte Themencluster zu validieren.<\/li>\n\n\n\n<li><code>sameAs<\/code> in der pers\u00f6nlichen Edition: Hier verlinkt ihr nicht das Unternehmen, sondern eure pers\u00f6nlichen Profile. Das hilft Systemen wie Google, eure Ver\u00f6ffentlichungen \u00fcber verschiedene Plattformen hinweg euch als Individuum zuzuordnen.<\/li>\n\n\n\n<li><code>worksFor<\/code>: Durch die Verkn\u00fcpfung mit der <code>@id<\/code> eurer Organisation schafft ihr ein stabiles Vertrauensnetzwerk.<\/li>\n\n\n\n<li>Autorit\u00e4ts-Tipp: Nutzt in <code>description<\/code> Keywords, die eure Expertise untermauern, aber bleibt nat\u00fcrlich.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8) LocalBusiness<\/h3>\n\n\n\n<p>Wenn ihr lokal arbeitet, ist LocalBusiness ein starker Typ: <a aria-label=\"Schema.org definiert LocalBusiness als \u201eA particular physical business or branch of an organization\u201c (opens in a new tab)\" href=\"https:\/\/schema.org\/LocalBusiness\" target=\"_blank\" rel=\"noreferrer noopener\" class=\"ek-link\">Schema.org definiert LocalBusiness als \u201eA particular physical business or branch of an organization\u201c<\/a>. <\/p>\n\n\n\n<p>F\u00fcr GEO ist das relevant, weil \u201eOrt\u201c und \u201eOrganisation\u201c harte Anker sind, an die Systeme Antworten andocken k\u00f6nnen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"LocalBusiness\",\n  \"@id\": \"https:\/\/eure-domain.de\/#localbusiness\",\n  \"name\": \"&#91;NAME EURES STANDORTS \/ FILIALE]\",\n  \"image\": \"https:\/\/eure-domain.de\/bilder\/ladenfront-oder-buero.jpg\",\n  \"@id\": \"https:\/\/eure-domain.de\/#localbusiness\",\n  \"url\": \"https:\/\/eure-domain.de\/kontakt\/\",\n  \"telephone\": \"&#91;+49-EURE-NUMMER]\",\n  \"address\": {\n    \"@type\": \"PostalAddress\",\n    \"streetAddress\": \"&#91;STRASSE 123]\",\n    \"addressLocality\": \"&#91;STADT]\",\n    \"postalCode\": \"&#91;PLZ]\",\n    \"addressCountry\": \"DE\"\n  },\n  \"geo\": {\n    \"@type\": \"GeoCoordinates\",\n    \"latitude\": \"&#91;BREITENGRAD, Z.B. 51.4556]\",\n    \"longitude\": \"&#91;L\u00c4NGENGRAD, Z.B. 7.0116]\"\n  },\n  \"openingHoursSpecification\": &#91;\n    {\n      \"@type\": \"OpeningHoursSpecification\",\n      \"dayOfWeek\": &#91;\n        \"Monday\",\n        \"Tuesday\",\n        \"Wednesday\",\n        \"Thursday\",\n        \"Friday\"\n      ],\n      \"opens\": \"09:00\",\n      \"closes\": \"18:00\"\n    }\n  ],\n  \"priceRange\": \"$$\"\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum LocalBusiness eure GEO-Pr\u00e4senz vor Ort sichert:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>geo<\/code>-Koordinaten: Textliche Adressen sind gut, aber L\u00e4ngen- und Breitengrade sind f\u00fcr KIs unmissverst\u00e4ndlich. Sie erm\u00f6glichen es Systemen wie Google Maps oder KI-Assistenten, eure Entfernung zum Nutzer pr\u00e4zise zu berechnen.<\/li>\n\n\n\n<li>\u00d6ffnungszeiten: Nichts ist frustrierender als falsche Infos. Durch <code>openingHoursSpecification<\/code> liefert ihr strukturierte Daten, die direkt in \u201eJetzt ge\u00f6ffnet\u201c-Filtern landen.<\/li>\n\n\n\n<li><code>priceRange<\/code>: Es hilft der KI, euer Business in ein Segment einzuordnen, was bei spezifischen Suchanfragen den Ausschlag geben kann.<\/li>\n\n\n\n<li>Standort-Tipp: Wenn ihr mehrere Standorte habt, erstellt f\u00fcr jede Filiale ein eigenes LocalBusiness-Objekt mit einer eindeutigen <code>@id<\/code> (z. B. <code>...\/#essen<\/code>, <code>...\/#berlin<\/code>). Verkn\u00fcpft diese dann \u00fcber die Property <code>parentOrganization<\/code> mit eurem Hauptunternehmen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9) BreadcrumbList<\/h3>\n\n\n\n<p>Breadcrumbs sind die Navigationskr\u00fcmel, die eure Seitenhierarchie maschinenlesbar machen (\u201eBlog \u2192 Kategorie \u2192 Artikel\u201c). <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"BreadcrumbList\",\n  \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#breadcrumb\",\n  \"itemListElement\": &#91;\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"name\": \"Home\",\n      \"item\": \"https:\/\/eure-domain.de\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"&#91;KATEGORIE-NAME]\",\n      \"item\": \"https:\/\/eure-domain.de\/kategorie-url\/\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"name\": \"&#91;AKTUELLER SEITENTITEL]\",\n      \"item\": \"https:\/\/eure-domain.de\/artikel-url\/\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum Breadcrumbs euer GEO-Verst\u00e4ndnis sch\u00e4rfen<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Thematische Einordnung: KIs erkennen durch die Kategorisierung, zu welchem \u201eTopic Cluster\u201c eure Seite geh\u00f6rt. Das st\u00e4rkt eure Autorit\u00e4t f\u00fcr diesen spezifischen Themenbereich.<\/li>\n\n\n\n<li>Navigation f\u00fcr Crawler: Ihr helft den Bots, eure Seitenstruktur effizienter zu erfassen, ohne dass sie m\u00fchsam interne Links raten m\u00fcssen.<\/li>\n\n\n\n<li>Rich Results im Google-Style: Auch klassische Suchmaschinen nutzen diese Daten, um in den Suchergebnissen statt einer nackten URL einen lesbaren Pfad anzuzeigen.<\/li>\n\n\n\n<li>Struktur-Tipp: Achtet darauf, dass die <code>position<\/code> immer bei 1 beginnt und l\u00fcckenlos aufsteigt. Die letzte Position sollte idealerweise auf die aktuelle Seite selbst verweisen, um den Pfad sauber abzuschlie\u00dfen.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">10) ItemList<\/h3>\n\n\n\n<p>Wenn ihr Rankings, Tool-Listen oder \u201edie wichtigsten 10 Markups\u201c habt, kann <code>ItemList<\/code> helfen, eure Liste als Liste auszuzeichnen: Reihenfolge, Eintr\u00e4ge, ggf. URLs. Das ist besonders dann sinnvoll, wenn ihr wollt, dass Maschinen die Liste als extrahierbare Struktur verstehen \u2013 nicht nur als \u201eviel Text mit Bulletpoints\u201c.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"@type\": \"ItemList\",\n  \"@id\": \"https:\/\/eure-domain.de\/artikel-url\/#itemlist\",\n  \"name\": \"&#91;TITEL EURER LISTE, Z.B. DIE 10 BESTEN TOOLS]\",\n  \"description\": \"&#91;KURZE BESCHREIBUNG, WAS DIESE LISTE ENTH\u00c4LT]\",\n  \"itemListElement\": &#91;\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 1,\n      \"name\": \"&#91;ERSTER EINTRAG]\",\n      \"url\": \"https:\/\/eure-domain.de\/artikel-url\/#abschnitt1\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 2,\n      \"name\": \"&#91;ZWEITER EINTRAG]\",\n      \"url\": \"https:\/\/eure-domain.de\/artikel-url\/#abschnitt2\"\n    },\n    {\n      \"@type\": \"ListItem\",\n      \"position\": 3,\n      \"name\": \"&#91;DRITTER EINTRAG]\",\n      \"url\": \"https:\/\/eure-domain.de\/artikel-url\/#abschnitt3\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Warum die ItemList eure GEO-Performance verbessert<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Generative Engines lieben Listen. Wenn Nutzer*innen nach \u201eWas sind die wichtigsten Schema-Typen?\u201c fragen, kann die KI eure <code>ItemList<\/code> direkt als Basis f\u00fcr ihre Antwort nutzen.<\/li>\n\n\n\n<li>Strukturierte Hierarchie: Ihr legt die Reihenfolge fest. \u00dcber das Feld <code>position<\/code> definiert ihr, welcher Punkt an erster Stelle steht \u2013 das ist besonders bei Rankings oder Top-Listen entscheidend.<\/li>\n\n\n\n<li>Interne Verlinkung: \u00dcber das Feld <code>url<\/code> k\u00f6nnt ihr auf Anker-Links innerhalb eurer Seite verweisen. So versteht die Maschine sofort, welcher Textabschnitt zu welchem Listenpunkt geh\u00f6rt.<\/li>\n\n\n\n<li>Listen-Tipp: Wenn eure Liste sehr lang ist, m\u00fcsst ihr nicht jeden kleinen Punkt markieren. Konzentriert euch auf die Hauptaspekte, die den gr\u00f6\u00dften Mehrwert bieten.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wordpress\">Implementierung in WordPress ohne Bauchschmerzen<\/h2>\n\n\n\n<p>WordPress kann Schema \u201eirgendwie\u201c, je nach Theme und SEO-Plugin. Aber ihr wollt Kontrolle. Und Kontrolle ist wie Z\u00e4hneputzen: Man merkt erst, wie wichtig sie ist, wenn man sie nicht hat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Pro-Tipp: Denkt in Graphen, nicht in Schnipseln <\/h3>\n\n\n\n<p>Ein h\u00e4ufiger Fehler ist es, 10 isolierte <code>&lt;script&gt;<\/code>-Tags auf eine Seite zu werfen. Das ist, als w\u00fcrdet ihr der KI zehn Puzzleteile geben, ohne das Bild auf dem Karton zu zeigen. Nutzt stattdessen das <code>@graph<\/code>-Attribut. Damit verkn\u00fcpft ihr eure Entit\u00e4ten logisch: \u201eHier ist eine <strong>WebPage<\/strong>, deren <code>mainEntity<\/code> dieser <strong>Article<\/strong> ist, der von dieser <strong>Person<\/strong> geschrieben wurde, die wiederum f\u00fcr diese <strong>Organization<\/strong> arbeitet.\u201c So entsteht ein semantisches Netz, das keine Fragen offen l\u00e4sst. Eine einzige, saubere JSON-LD-Datei ist die Goldstandard-L\u00f6sung f\u00fcr GEO.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Option A: Theme-Template (sauber, technisch)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>JSON-LD serverseitig im Template ausgeben (z.B. in <em>single.php<\/em> bzw. per Hook).<\/li>\n\n\n\n<li>Daten aus WP-Feldern ziehen: Titel, Autor*in, Datum, Featured Image, Canonical URL.<\/li>\n\n\n\n<li>Vorteil: Skalierbar, konsistent, weniger \u201ePlugin-Wundert\u00fcte\u201c.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Option B: SEO-Plugin (praktisch, aber pr\u00fcfpflichtig)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Viele Plugins erzeugen Article\/Organization automatisch; pr\u00fcft aber, ob das Markup wirklich zu euren Inhalten passt.<\/li>\n\n\n\n<li>Wenn ihr zus\u00e4tzlich eigenes Markup erg\u00e4nzt: Achtet darauf, nicht widerspr\u00fcchliche Entit\u00e4ten doppelt zu definieren.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Wo platziere ich JSON-LD?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Meist im <code>&lt;head&gt;<\/code> oder am Ende im <code>&lt;body&gt;<\/code> wichtig ist, dass es im HTML ausgeliefert wird und nicht erst per Client-Script \u201enachgeladen\u201c wird.<\/li>\n\n\n\n<li>Ein Markup pro Seite, das die Hauptentit\u00e4t beschreibt; zus\u00e4tzliche Markups nur, wenn sie wirklich zur Seite geh\u00f6ren.<\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group has-border-color has-accent-5-border-color has-accent-4-background-color has-background is-layout-flow wp-container-core-group-is-layout-77846902 wp-block-group-is-layout-flow\" style=\"margin-top:2em;margin-bottom:2em;padding-top:1em;padding-right:1em;padding-bottom:1em;padding-left:1em;box-shadow:var(--wp--preset--shadow--deep)\">\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-fe9cc265 wp-block-group-is-layout-flex\">\n<h2 class=\"wp-block-heading\">KI liebt Struktur, aber hasst Widerspr\u00fcche<\/h2>\n<\/div>\n\n\n\n<p>Markups helfen nicht, wenn sie eure Seite \u201esch\u00f6ner erz\u00e4hlen\u201c als sie ist. Konsistenz schl\u00e4gt Kosmetik.<\/p>\n\n\n\n<p>Baut eure Autorit\u00e4t systematisch auf, um von KI-Systemen erw\u00e4hnt zu werden. Praxiserprobte Tipps, Prompts und Insights gibts hier:<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/code78.de\/blog\/category\/kuenstliche-intelligenz-ki\/\">K\u00fcnstliche Intelligenz<\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"validierung\">Validieren, debuggen und nicht wahnsinnig werden<\/h2>\n\n\n\n<p>Google empfiehlt in seinen Structured-Data-Anleitungen ziemlich konsequent: implementieren, dann mit Rich Results Test validieren und Fehler beheben; au\u00dferdem URL Inspection nutzen, um zu pr\u00fcfen, wie Google die Seite sieht.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mein pragmatischer Validierungs-Workflow<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>JSON-LD lokal\/auf Staging einbauen<\/li>\n\n\n\n<li>Mit Google Rich Results Test pr\u00fcfen<\/li>\n\n\n\n<li>Zus\u00e4tzlich den offiziellen Schema Markup Validator verwenden, um Schema-Konformit\u00e4t zu pr\u00fcfen: <a href=\"https:\/\/validator.schema.org\" target=\"_blank\" rel=\"noopener\">Schema Markup Validator<\/a><\/li>\n\n\n\n<li>Live-URL per Search Console URL Inspection pr\u00fcfen und Reindex ansto\u00dfen<\/li>\n<\/ol>\n\n\n\n<p><strong>Strukturierte Daten sind nur dann hilfreich, wenn sie das widerspiegeln, was Nutzer*innen auf der Seite tats\u00e4chlich sehen.<\/strong> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"fehler\">H\u00e4ufige Fehler und wie ihr sie vermeidet<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Markup sagt X, Seite zeigt Y<\/strong>: Zum Beispiel ein FAQ-Markup, aber die Antworten stehen nirgendwo sichtbar. Das ist laut Google ein No-Go. <\/li>\n\n\n\n<li><strong>Falscher Typ<\/strong>: Eine \u201eTipps\u201c-Liste wird als HowTo markiert, obwohl keine sequenziellen Schritte existieren.<\/li>\n\n\n\n<li><strong>Doppelte Identit\u00e4ten<\/strong>: Zwei verschiedene Organization-Objekte ohne klare Beziehung, drei Autor*innen mit derselben URL, oder ein Product, das gleichzeitig ein LocalBusiness sein soll.<\/li>\n\n\n\n<li><strong>Ungepflegte Daten<\/strong>: <code>dateModified<\/code> nie aktualisiert, obwohl Artikel editiert werden.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Mini-Regelwerk<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pro Seite definieren: Was ist die Hauptentit\u00e4t?<\/li>\n\n\n\n<li>Nur Properties ausgeben, die ihr zuverl\u00e4ssig bef\u00fcllen k\u00f6nnt<\/li>\n\n\n\n<li>Lieber weniger Markup, das stimmt, als viel Markup, das l\u00fcgt<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Wenn ihr GEO ernst nehmt, dann behandelt Schema nicht als \u201eSEO-Topping\u201c, sondern als Datenmodell eures Contents. Es ist der Moment, in dem ihr Maschinen sagt: \u201eHier ist die Bedeutung. Blo\u00df nicht raten.\u201c<\/p>\n\n\n\n<p>Und wenn ihr jetzt denkt: \u201eOkay, ich baue das schnell ein\u201c \u2013 gut. Aber validiert es. Sonst ist es wie ein genialer Monolog in einer leeren Arena. Ihr wart gro\u00dfartig. Nur leider hat niemand\u2019s geh\u00f6rt.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n  <div class=\"related-post grid\">\r\n        <div class=\"headline\">\u00c4hnliche Beitr\u00e4ge<\/div>\r\n    <div class=\"post-list \">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Von SEO zu GEO: Bestehende Inhalte f\u00fcr KI-Citations optimieren\" href=\"https:\/\/code78.de\/blog\/geo-optimierung-bestehende-inhalte\/\">\r\n\r\n      <img decoding=\"async\" width=\"1100\" height=\"720\" src=\"https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/GEO-Optimierung-vorhandene-Inhalte.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"GEO-Optimierung: Neuer Anstrich f\u00fcr alte Artikel\" srcset=\"https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/GEO-Optimierung-vorhandene-Inhalte.jpg 1100w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/GEO-Optimierung-vorhandene-Inhalte-300x196.jpg 300w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/GEO-Optimierung-vorhandene-Inhalte-1024x670.jpg 1024w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/GEO-Optimierung-vorhandene-Inhalte-768x503.jpg 768w\" sizes=\"(max-width: 1100px) 100vw, 1100px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Von SEO zu GEO: Bestehende Inhalte f\u00fcr KI-Citations optimieren\" href=\"https:\/\/code78.de\/blog\/geo-optimierung-bestehende-inhalte\/\">\r\n        Von SEO zu GEO: Bestehende Inhalte f\u00fcr KI-Citations optimieren  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Im Vergleich: Bing Webmaster Tools vs. Google Search Console f\u00fcr GEO\" href=\"https:\/\/code78.de\/blog\/vergleich-bing-webmaster-tools-vs-google-search-console\/\">\r\n\r\n      <img decoding=\"async\" width=\"1100\" height=\"720\" src=\"https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/01\/Bing-Webmaster-Tools-vs-Google-Search-Console-.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Bing Webmaster Tools vs. Google Search Console: Vergleich der SEO\/GEO-Werkzeuge\" srcset=\"https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/01\/Bing-Webmaster-Tools-vs-Google-Search-Console-.jpg 1100w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/01\/Bing-Webmaster-Tools-vs-Google-Search-Console--300x196.jpg 300w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/01\/Bing-Webmaster-Tools-vs-Google-Search-Console--1024x670.jpg 1024w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/01\/Bing-Webmaster-Tools-vs-Google-Search-Console--768x503.jpg 768w\" sizes=\"(max-width: 1100px) 100vw, 1100px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Im Vergleich: Bing Webmaster Tools vs. Google Search Console f\u00fcr GEO\" href=\"https:\/\/code78.de\/blog\/vergleich-bing-webmaster-tools-vs-google-search-console\/\">\r\n        Im Vergleich: Bing Webmaster Tools vs. Google Search Console f\u00fcr GEO  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"ChatGPT Artikel zusammenfassen: Warum ihr den Button braucht\" href=\"https:\/\/code78.de\/blog\/chatgpt-artikel-zusammenfassen-vorteile\/\">\r\n\r\n      <img decoding=\"async\" width=\"1100\" height=\"720\" src=\"https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/ChatGPT-Artikel-zusammenfassen.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Mit ChatGPT Artikel zusammenfassen\" srcset=\"https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/ChatGPT-Artikel-zusammenfassen.jpg 1100w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/ChatGPT-Artikel-zusammenfassen-300x196.jpg 300w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/ChatGPT-Artikel-zusammenfassen-1024x670.jpg 1024w, https:\/\/code78.de\/blog\/wp-content\/uploads\/2026\/02\/ChatGPT-Artikel-zusammenfassen-768x503.jpg 768w\" sizes=\"(max-width: 1100px) 100vw, 1100px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"ChatGPT Artikel zusammenfassen: Warum ihr den Button braucht\" href=\"https:\/\/code78.de\/blog\/chatgpt-artikel-zusammenfassen-vorteile\/\">\r\n        ChatGPT Artikel zusammenfassen: Warum ihr den Button braucht  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 0px 1%;\r\n      padding: 0px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 1.1em !important;\r\n      color: #787878 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      color: #3f3f3f;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 0.9em;\r\n      color: #3f3f3f;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    @media only screen and (min-width: 1024px) {\r\n      .related-post .post-list .item {\r\n        width: 30%;\r\n      }\r\n    }\r\n\r\n    @media only screen and (min-width: 768px) and (max-width: 1023px) {\r\n      .related-post .post-list .item {\r\n        width: 45%;\r\n      }\r\n    }\r\n\r\n    @media only screen and (min-width: 0px) and (max-width: 767px) {\r\n      .related-post .post-list .item {\r\n        width: 45%;\r\n      }\r\n    }\r\n\r\n      <\/style>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Schema.org ist wie ein Namensschild f\u00fcr euren Content \u2013 nur dass es Maschinen lesen. Hier sind die 10 wichtigsten Markup-Typen f\u00fcr GEO, inklusive JSON-LD-Beispielen, typischen Fehlern und einem Validierungs-Workflow, der euch Nerven spart.<\/p>\n","protected":false},"author":1,"featured_media":12016,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481],"tags":[611,612],"class_list":["post-11939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-geo","tag-schema-geo","tag-schema-typ-ki"],"acf":[],"_links":{"self":[{"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/posts\/11939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/comments?post=11939"}],"version-history":[{"count":0,"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/posts\/11939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/media\/12016"}],"wp:attachment":[{"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/media?parent=11939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/categories?post=11939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/code78.de\/blog\/wp-json\/wp\/v2\/tags?post=11939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}