JSON-LD structured data ist einer der wichtigsten GEO-Faktoren. KI-Systeme nutzen Schema-Markup um dein Unternehmen, dein Produkt und deinen Content korrekt zu klassifizieren. Ohne Schema bist du eine unbekannte Webseite. Mit vollständigem Schema bist du eine klar definierte Entität.
TL;DR
JSON-LD ist das bevorzugte Format für structured data nach schema.org. Es ist unsichtbar für normale Nutzer, aber KI-Crawler und Google lesen es direkt aus dem Head. Für ein SaaS brauchst du mindestens 5 Schema-Typen: Organization (wer du bist), SoftwareApplication (was dein Produkt tut), FAQPage (häufige Fragen — wichtigster GEO-Faktor), Article (Blog/Content), BreadcrumbList (Navigation). Dieser Guide erklärt jeden Typ mit vollständigem, kopierbarem Code.
JSON-LD (JavaScript Object Notation for Linked Data) ist ein Format für strukturierte Daten nach schema.org, das Google und KI-Crawler direkt im HTML-Head lesen. Es hilft KI-Systemen dein Unternehmen, Produkt und Content als definierte Entitäten zu verstehen statt sie aus dem Fliesstext erschliessen zu müssen.
Es gibt drei Formate für structured data: Microdata (Attribute direkt im HTML-Element), RDFa (ähnlich wie Microdata, aber komplexer) und JSON-LD (separater script-Tag im Head). Google empfiehlt ausdrücklich JSON-LD weil es vom eigentlichen Content-HTML getrennt ist, leichter zu lesen und zu debuggen ist und bei dynamisch generiertem Content keine Probleme mit der HTML-Struktur verursacht. KI-Crawler wie GPTBot, ClaudeBot und PerplexityBot folgen denselben Empfehlungen.
Der direkte GEO-Effekt: Wenn ChatGPT gefragt wird "Welche Tools helfen bei SEO-Audits?" liest es schema.org-Daten aus indexierten Seiten. Ein SaaS mit vollständigem SoftwareApplication-Schema, das featureList, applicationCategory und offers enthält, wird als konkretes Tool mit definierten Eigenschaften erkannt. Eines ohne Schema ist nur eine generische Webseite. KI-Systeme bevorzugen klar klassifizierte Entitäten gegenüber unstrukturiertem Text.
Für den Google Knowledge Graph ist Organization-Schema der Einstiegspunkt. Wenn du dort als Unternehmen eingetragen werden möchtest, muss das Schema konsistent über alle Seiten hinweg denselben Namen, dieselbe URL und dasselbe Logo referenzieren. Inkonsistenzen — unterschiedliche Firmennamen in verschiedenen Blöcken — schwächen das Signal und verlangsamen die Knowledge-Graph-Aufnahme. Offiziell dokumentiert ist das JSON-LD-Format unter schema.org und developers.google.com.
Organization Schema definiert dein Unternehmen als Entität: Name, URL, Logo, Beschreibung, Gründungsdatum, Social-Links, Kontaktdaten. Es ist die Grundlage für den Google Knowledge Graph und für KI-Systeme die wichtigste Quelle um dein Unternehmen korrekt zu beschreiben.
Organization Schema gehört auf die Homepage und idealerweise als globales Schema in dein Layout. Es ist das einzige Schema das nicht seitenspezifisch ist — es beschreibt das Unternehmen als Ganzes. Wenn Nutzer bei ChatGPT fragen "Was macht Pantra?" zieht das KI-System die description und featureList aus Organization- und SoftwareApplication-Schema. Ohne diese Felder muss es den Fliesstext interpretieren, was zu Ungenauigkeiten führt.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Pantra",
"url": "https://pantra.io",
"logo": {
"@type": "ImageObject",
"url": "https://pantra.io/pantra-logo-transparent.png",
"width": 400,
"height": 100
},
"description": "GEO-, SEO- und Security-Audit-Tool fuer Indie Hacker, SaaS Founder und Agenturen",
"foundingDate": "2025",
"sameAs": [
"https://twitter.com/pantraio"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "support@pantra.io"
}
}Die Pflichtfelder sind @context, @type, name und url. Optional aber stark empfohlen: logo (mit expliziten Dimensionen für das Google Knowledge Panel), description (klar, sachlich, 1-2 Sätze), foundingDate (für Vertrauen und Autorität), sameAs (Social-Media-Profile — verknüpft die Entität über Plattformen), contactPoint (für lokale und Unternehmens-Suchen). Das sameAs-Array ist besonders wertvoll: es sagt Google und KI-Systemen dass alle verlinkten Profile dieselbe Entität sind, was das Vertrauen erhöht.
Für SaaS mit physischer Adresse (Firmensitz, nicht nur Remote) empfiehlt sich zusätzlich ein address-Objekt mit PostalAddress. Für B2B-SaaS mit spezifischen Industriezuordnungen kann naics oder industry ergänzt werden. Halte Organization-Schema einfach und konsistent — dasselbe Schema über alle Seiten hinweg (z.B. in app/layout.tsx) statt leicht variierte Versionen pro Seite.
SoftwareApplication Schema beschreibt dein Tool als digitales Produkt: Kategorie, Betriebssystem (Web), Features, Preise und optionale Bewertungen. KI-Systeme nutzen dieses Schema wenn sie Tool-Empfehlungen geben — es ist dein Produktdatenblatt für die KI-Suche.
SoftwareApplication ist der wichtigste Schema-Typ für SaaS-Sichtbarkeit in KI-Suchen. Wenn ein Nutzer bei Perplexity fragt "Welches Tool prüft meine GEO-Sichtbarkeit?" liest Perplexity SoftwareApplication-Schema aus allen indexierten Tools und vergleicht featureList, description und applicationCategory. Ein Tool ohne dieses Schema fehlt in dieser Auswahl komplett.
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Pantra",
"url": "https://pantra.io",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web",
"description": "GEO-, SEO- und Security-Audit-Tool mit KI-Sichtbarkeitsanalyse",
"offers": {
"@type": "Offer",
"price": "79",
"priceCurrency": "CHF",
"priceValidUntil": "2027-01-01"
},
"featureList": [
"GEO Audit fuer KI-Sichtbarkeit",
"SEO Audit mit 14 Checks",
"Security Audit",
"Daily Monitoring",
"Automatische Fix-Empfehlungen"
]
}Die applicationCategory bestimmt wie dein Tool klassifiziert wird. schema.org definiert folgende Werte: BusinessApplication, DesignApplication, DeveloperApplication, EducationalApplication, GameApplication, MultimediaApplication, ProductivityApplication, SecurityApplication, UtilitiesApplication. Wähle den spezifischsten zutreffenden Wert — BusinessApplication für allgemeine SaaS-Tools, SecurityApplication für Security-spezifische Tools, DeveloperApplication für Developer-Tools.
aggregateRating ist verlockend, aber heikel. Es darf nur eingebunden werden wenn du verifizierbare Bewertungen von echten Nutzern auf einer erkennbaren Review-Plattform hast — G2, Capterra, Trustpilot oder ähnliches. Erfundene Zahlen verstoßen gegen die Google-Richtlinien und können zu Manual Actions führen. Warte bis du mindestens 10 verifizierte Reviews hast bevor du aggregateRating hinzufügst. Für priceValidUntil gilt dasselbe: setze es nicht auf ein vergangenes Datum — Google markiert veraltete Preise als falsch.
FAQPage ist der wirkungsvollste Schema-Typ für GEO. KI-Systeme extrahieren Frage-Antwort-Paare direkt aus FAQPage-Schema um Nutzerfragen zu beantworten. Jede Seite mit FAQ-Abschnitt sollte diesen Typ haben.
FAQPage-Schema funktioniert als direkter Datenfeed für KI-Suchen. Wenn ein Nutzer bei ChatGPT fragt "Wie funktioniert GEO?" sucht das System nach FAQPage-Schema-Einträgen mit passenden Fragen. Die acceptedAnswer wird dann direkt extrahiert und zitiert — mit oder ohne explizite Verlinkung zur Quellseite. Das ist ein fundamentaler Unterschied zu klassischem SEO: GEO-Zitierung geschieht auf Basis des Markups, nicht des Rankings.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Was ist GEO Optimierung?",
"acceptedAnswer": {
"@type": "Answer",
"text": "GEO (Generative Engine Optimization) ist die Optimierung einer Website
um in KI-Suchmaschinen wie ChatGPT, Perplexity und Google AI Overviews
zitiert zu werden. Im Unterschied zu klassischem SEO zielt GEO nicht auf
Google-Rankings sondern auf direkte KI-Empfehlungen."
}
},
{
"@type": "Question",
"name": "Wie lange dauert ein Pantra-Audit?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Ein Pantra-Audit dauert typischerweise 5-15 Sekunden und laeuft
synchron im HTTP-Request ohne Warteschlange."
}
},
{
"@type": "Question",
"name": "Welche KI-Plattformen analysiert Pantra?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pantra misst die Sichtbarkeit auf ChatGPT, Perplexity AI, Claude
(Anthropic) und Google AI Overviews — die vier grossen KI-Such-
plattformen 2025."
}
}
]
}Best Practices für FAQPage-Schema: Antworten sollten mindestens 30 Wörter haben — kurze Antworten wie "Ja." werden von KI-Systemen kaum zitiert. Formuliere Fragen so wie echte Nutzer sie stellen würden, nicht als SEO-Keyword-Konstrukte. Vermeide Antworten die nur aus internen Links bestehen. HTML in Antwort-Texten ist erlaubt aber wird von KI-Systemen meist ignoriert — schreibe Klartext.
Ein häufiger Fehler ist das Abweichen zwischen Schema-Inhalt und sichtbarem Seiteninhalt. Wenn dein FAQ-Schema Fragen enthält die auf der Seite nicht sichtbar sind, wertet Google das als Spam. Das Schema muss immer den tatsächlich sichtbaren Content widerspiegeln. Umgekehrt gilt: jede sichtbare FAQ auf der Seite sollte im Schema auftauchen.
HowTo Schema strukturiert Anleitungen als maschinenlesbare Schrittfolge. KI-Systeme extrahieren daraus direkte How-to-Antworten auf Nutzerfragen. Besonders wertvoll für Tutorial-Content der auf "Wie erstelle ich..." oder "Wie richte ich... ein" abzielt.
HowTo-Schema ist besonders wertvoll für SaaS-Blogs mit Tutorial-Content. Wenn ein Nutzer bei Perplexity fragt "Wie erstelle ich eine llms.txt?" sucht das System nach HowTo-Schema mit passenden Schritten. Die step-Liste wird dann direkt als nummerierte Anleitung ausgegeben. Das ist ein direkter Traffic-Kanal: KI-Nutzer die deine Anleitung als Antwort erhalten, klicken häufiger auf die Quelle als bei regulären Suchresultaten.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Wie du eine llms.txt erstellst",
"description": "llms.txt in 8 Schritten erstellen fuer maximale KI-Sichtbarkeit",
"totalTime": "PT15M",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Text-Editor oeffnen",
"text": "Oeffne VS Code, Notepad oder einen beliebigen Text-Editor."
},
{
"@type": "HowToStep",
"position": 2,
"name": "Firmenname als H1 schreiben",
"text": "Beginne die Datei mit # Dein Firmenname als erste Zeile."
},
{
"@type": "HowToStep",
"position": 3,
"name": "Kurzbeschreibung hinzufuegen",
"text": "Schreibe eine Kurzbeschreibung als Blockquote:
> Was dein Unternehmen tut und fuer wen."
},
{
"@type": "HowToStep",
"position": 4,
"name": "Hauptseiten auflisten",
"text": "Fuge die wichtigsten URLs mit kurzer Beschreibung hinzu."
},
{
"@type": "HowToStep",
"position": 5,
"name": "Datei als llms.txt speichern",
"text": "Speichere die Datei unter dem exakten Namen llms.txt."
},
{
"@type": "HowToStep",
"position": 6,
"name": "In public/ Ordner ablegen",
"text": "Lege die Datei in den public/ Ordner deines Next.js-Projekts."
},
{
"@type": "HowToStep",
"position": 7,
"name": "Deployment pruefen",
"text": "Prüfe nach dem Deploy ob deinedomain.com/llms.txt erreichbar ist."
},
{
"@type": "HowToStep",
"position": 8,
"name": "Mit Pantra validieren",
"text": "Fuehre einen GEO-Audit auf pantra.io durch um die llms.txt zu validieren."
}
]
}totalTime nutzt das ISO-8601-Dauerformat: PT15M = 15 Minuten, PT1H30M = 1 Stunde 30 Minuten, P1D = 1 Tag. Das Feld ist optional, aber nützlich da KI-Systeme und Google es in Rich Results anzeigen. Schritte sollten eigenständig verständlich sein ohne den umgebenden Kontext. Vermeide Schritte die nur aus Links bestehen — der text-Wert muss die vollständige Handlungsanweisung enthalten.
HowTo-Schema kann mit Article-Schema kombiniert werden: Wenn dein Tutorial-Blog-Post eine Schritt-für-Schritt-Anleitung ist, füge beide Schema-Typen hinzu. Article beschreibt den Artikel als publiziertes Werk (mit Autor und Datum), HowTo beschreibt die enthaltene Anleitung. Mehrere script-Tags auf derselben Seite sind vollständig korrekt und von Google explizit erlaubt.
Article Schema definiert Blog-Posts und Content-Seiten als publizierte Artikel mit Autor, Datum, Publisher und Thema. Es ist Voraussetzung dafür dass Google dich als Autor-Entität erkennt und Content in AI Overviews zitiert.
Ohne Article-Schema behandelt Google deine Blog-Posts wie beliebige Webseiten. Mit Article-Schema werden datePublished und dateModified erkennbar — ein wichtiges Freshness-Signal für Googles Qualitätsalgorithmus. Für KI-Overviews ist dateModified besonders relevant: veralteter Content (über 12 Monate ohne Update) wird seltener zitiert als aktueller. Halte dateModified bei jedem inhaltlichen Update aktuell.
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "JSON-LD Schema fuer SaaS: Welches Markup du auf jeder Seite brauchst",
"description": "Vollstaendiger Guide zu JSON-LD structured data fuer SaaS",
"url": "https://pantra.io/learn/json-ld-schema-saas",
"datePublished": "2026-06-01",
"dateModified": "2026-06-25",
"author": {
"@type": "Organization",
"name": "Pantra",
"url": "https://pantra.io"
},
"publisher": {
"@type": "Organization",
"name": "Pantra",
"url": "https://pantra.io",
"logo": {
"@type": "ImageObject",
"url": "https://pantra.io/pantra-logo-transparent.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://pantra.io/learn/json-ld-schema-saas"
},
"inLanguage": "de",
"keywords": "JSON-LD, Schema.org, structured data, SaaS, GEO"
}Wann welchen Typ nutzen: Article ist der allgemeinste Typ für redaktionellen Content. BlogPosting ist eine Unterklasse von Article, semantisch spezifischer für Blog-Einträge — funktioniert identisch, ist aber genauer für Blog-Software und Aggregatoren. TechArticle ist für technische Dokumentation und Guides — ideal für Developer-Blogs, API-Dokumentation und technische Tutorials. NewsArticle ist für journalistischen Content mit kurzer Halbwertszeit. Für SaaS-Blogs empfiehlt sich TechArticle für technische Guides und BlogPosting für allgemeine Insights.
Das inLanguage-Feld ist für mehrsprachige Sites kritisch. Es sagt Crawlern in welcher Sprache der Content ist, was für die richtige Sprachzuordnung in KI-Suchen relevant ist. Ohne inLanguage kann ein deutschsprachiger Artikel in englischsprachigen KI-Antworten erscheinen — unerwünscht für regionale Sichtbarkeit. Für deutschsprachigen Content: "de". Für Englisch: "en". Für Schweizerdeutsch-nahen Content: "de-CH".
BreadcrumbList definiert die Navigationsstruktur einer Seite als maschinenlesbare Hierarchie. KI-Crawler nutzen es um Content in seinem Kontext zu verstehen. Google zeigt Breadcrumbs als Rich Result in Suchergebnissen statt der Roh-URL — das verbessert die Click-Through-Rate messbar.
BreadcrumbList hat zwei Nutzen gleichzeitig: erstens als Rich Result in Google (die URL in Suchergebnissen wird zu "pantra.io > Learn > JSON-LD Schema" statt "https://pantra.io/learn/json-ld-schema-saas") was die Klickrate typischerweise um 10-20% erhöht. Zweitens als Kontext-Signal für KI-Crawler: ein Artikel unter /learn/ wird als Lern-Content klassifiziert, einer unter /blog/ als Blog-Post. Diese Hierarchie-Information fliesst in die Einordnung des Contents ein.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Pantra",
"item": "https://pantra.io"
},
{
"@type": "ListItem",
"position": 2,
"name": "Learn",
"item": "https://pantra.io/learn"
},
{
"@type": "ListItem",
"position": 3,
"name": "JSON-LD Schema fuer SaaS",
"item": "https://pantra.io/learn/json-ld-schema-saas"
}
]
}Das letzte ListItem (die aktuelle Seite) kann das item-Feld weglassen — es ist optional für das letzte Element der Kette. Die position-Werte müssen aufsteigend und lückenlos sein. Der name-Wert sollte mit den sichtbaren Breadcrumb-Labels auf der Seite übereinstimmen — Abweichungen wertet Google als Diskrepanz zwischen Schema und sichtbarem Content.
Für dynamische Seiten (z.B. Glossar-Einträge, Blog-Posts) empfiehlt sich ein Schema-Generator der die BreadcrumbList serverseitig aus dem URL-Pfad generiert. In Next.js App Router funktioniert das sauber mit einer Hilfsfunktion die den pathname aufteilt und die Hierarchie rekonstruiert. Wichtig: alle item-URLs müssen tatsächlich existierende, erreichbare Seiten sein.
Homepage: Organization + SoftwareApplication + FAQPage. Blog-Post: Article + BreadcrumbList. FAQ-Seite: FAQPage + BreadcrumbList. Pricing: SoftwareApplication + FAQPage + BreadcrumbList. How-to-Guide: HowTo + Article + BreadcrumbList. Jede Seite braucht mindestens einen seitenspezifischen Schema-Typ.
Mehrere JSON-LD-Blöcke auf einer Seite sind vollständig korrekt und von Google explizit empfohlen. Verwende für jeden Schema-Typ einen separaten script-Tag — das ist lesbarer, einfacher zu debuggen und entspricht der Empfehlung von schema.org. Ein Monolith-Block mit allen Schemas funktioniert technisch, ist aber schlechte Praxis.
export default function Page() {
return (
<>
{/* Block 1: Organization */}
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(organizationJsonLd) }}
/>
{/* Block 2: SoftwareApplication */}
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(softwareJsonLd) }}
/>
{/* Block 3: FAQPage */}
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(faqJsonLd) }}
/>
{/* Restlicher JSX-Content */}
<main>...</main>
</>
)
}In Next.js App Router empfiehlt sich die Konvention: alle JSON-LD-Objekte als Konstanten vor der Page-Funktion definieren, dann am Anfang der JSX-Rückgabe als script-Tags ausgeben. Das dangerouslySetInnerHTML mit JSON.stringify() ist der korrekte und sichere Weg für JSON-LD in React — die "dangerous"-Warnung gilt für User-Input, nicht für eigene Schema-Objekte.
Nutze Google Rich Results Test, Schema.org Validator und JSON-LD Playground um dein Markup zu validieren bevor du es live schaltest. Ein ungültiger JSON-LD-Block wird still ignoriert — ohne Validierung merkst du es nicht.
Der Google Rich Results Test ist das primäre Validierungstool. Er zeigt dir genau welche Schema-Typen Google erkennt, welche Rich Results deine Seite qualifiziert und welche Warnungen oder Fehler vorhanden sind. Wichtig: Er testet die öffentlich erreichbare URL oder eine eingegebene Code-Snippet. Nutze ihn nach jedem Deploy der Schema-Änderungen enthält.
Der Schema.org Validator prüft ob deine Schema-Typen und Eigenschaften gültig nach schema.org-Spezifikation sind — unabhängig von Google-spezifischen Rich-Result-Anforderungen. Nützlich um sicherzustellen dass du die richtigen Property-Namen verwendest (z.B. "featureList" nicht "features").
Der JSON-LD Playground visualisiert die semantischen Verlinkungen deines Schemas als Graph. Nützlich um zu verstehen wie Entitäten miteinander verknüpft sind und ob sameAs-Verlinkungen korrekt funktionieren. Für einfache SaaS-Schemas ist es eher ein Bildungs-Tool als ein Pflicht-Schritt in der Validierungs-Pipeline.
Die häufigsten JSON-LD-Fehler sind stilles Scheitern: kein Syntaxfehler im Browser, kein 500er, aber Google ignoriert das Schema komplett. Validierung nach jedem Schema-Change ist kein optionaler Schritt.
Ein einziges fehlendes Komma macht den gesamten JSON-LD-Block ungültig. Google ignoriert ihn komplett ohne Warnung.
Typen wie "FAQ" oder "Software" existieren nicht in schema.org. Nur exakte Typen wie "FAQPage" oder "SoftwareApplication" werden erkannt.
Erfundene Bewertungen im aggregateRating-Feld verstoßen gegen die Google-Richtlinien und können zu Manual Actions führen.
FAQPage ohne das mainEntity-Array ist ein leeres Schema ohne Nutzen. Kein KI-System kann daraus Fragen extrahieren.
Technisch erlaubt, aber schlechte Praxis. Einige Crawler lesen nur den Head-Bereich für Schema-Markup.
Anführungszeichen in Texten müssen escaped werden. Unescapte Zeichen brechen JSON-Parsing.
Ein besonderer Fallstrick bei Next.js: Wenn JSON-LD-Objekte TypeScript-Typen mit nicht-JSON-serialisierbaren Werten enthalten (undefined, Functions, Circular References) wirft JSON.stringify() einen Fehler der einen Build-Error verursacht. Definiere alle JSON-LD-Objekte als einfache Record-Literale oder typisiere sie explizit als Record<string, unknown>. Verwende nie undefined als Wert in JSON-LD — nutze stattdessen null oder lasse das Feld komplett weg.
Pantra analysiert beim GEO-Audit welche Schema-Typen auf der gescannten URL vorhanden sind, ob Organization- und FAQPage-Schema gesetzt sind, und wie vollständig die Felder ausgefüllt sind. Fehlende Pflicht-Schemas senken den GEO-Score direkt.
Der Pantra GEO-Audit lädt die Ziel-URL und parst alle script[type="application/ld+json"]-Tags aus dem HTML. Er prüft dann ob die folgenden Schema-Typen vorhanden sind: Organization (Pflicht, -15 GEO-Punkte wenn fehlend), FAQPage (Pflicht für GEO, -20 Punkte wenn fehlend), SoftwareApplication (für SaaS empfohlen, -10 Punkte wenn fehlend), Article/TechArticle (auf Content-Seiten, -8 Punkte wenn fehlend), BreadcrumbList (strukturell wichtig, -5 Punkte wenn fehlend).
Zusätzlich prüft Pantra die Vollständigkeit: ein Organization-Schema ohne logo oder description erhält weniger Punkte als ein vollständig ausgefülltes. FAQPage-Schema ohne mainEntity oder mit weniger als 3 Q&A-Paaren wird als "unvollständig" eingestuft. Der GEO-Score beeinflusst direkt wie sichtbar eine Site in KI-Suchen ist — ein vollständiges Schema ist der schnellste und wirkungsvollste GEO-Hebel mit dem du anfangen kannst.
Pro Finding liefert Pantra einen Fix-Vorschlag: was genau fehlt, ein kopierbares Code-Template für den jeweiligen Schema-Typ und die erwartete GEO-Score-Verbesserung nach Implementierung. Das macht JSON-LD-Implementierung auch ohne Schema-Vorwissen umsetzbar — du kopierst den Code, füllst deine Werte ein und fügst ihn als script-Tag in deine Seite ein.
Ja, du kannst und solltest mehrere JSON-LD script-Tags auf einer Seite verwenden. Google und KI-Crawler lesen alle JSON-LD-Blöcke unabhängig voneinander. Es ist sogar empfohlen, verschiedene Schema-Typen in separate script-Tags zu schreiben statt alles in einen einzigen Block zu quetschen. Auf einer Homepage zum Beispiel gehören Organization, SoftwareApplication und FAQPage in drei separate script-Tags.
FAQPage ist der wirkungsvollste Schema-Typ für GEO (Generative Engine Optimization). KI-Systeme wie ChatGPT, Perplexity und Google AI Overviews extrahieren Frage-Antwort-Paare direkt aus FAQPage-Schema um Nutzerfragen zu beantworten. Danach folgen HowTo für Anleitungen und Organization für Marken-Erwähnungen. Jede Seite mit FAQ-Abschnitt sollte FAQPage-Schema enthalten.
Google empfiehlt JSON-LD im Head-Bereich des HTML-Dokuments, akzeptiert es aber auch im Body. Für Next.js App Router platzierst du JSON-LD am besten als erstes Element in der JSX-Rückgabe, noch vor dem Layout. KI-Crawler lesen JSON-LD aus dem gesamten Dokument, aber eine Platzierung im Head signalisiert die primäre Bedeutung des Markups.
Bei einem JSON-Syntaxfehler (fehlendes Komma, nicht geschlossene Anführungszeichen) ignoriert Google den gesamten JSON-LD-Block. Es gibt keine Fehlermeldung für den Nutzer, aber du verlierst alle Rich-Result-Chancen und GEO-Vorteile für diese Seite. Validiere daher immer mit dem Google Rich Results Test (search.google.com/test/rich-results) bevor du deployest.
JSON-LD muss aktualisiert werden wenn sich die beschriebenen Inhalte ändern: neue Preise im SoftwareApplication-Schema, neue FAQs, geänderter Firmenname oder Logo. Für statische Typen wie Organization reicht eine einmalige Einrichtung. Für dynamische Typen wie Article sollte dateModified bei jedem Content-Update angepasst werden, damit Crawler die Aktualität erkennen.
Jede Seite sollte page-spezifisches JSON-LD haben. Organization gehört auf die Homepage, Article auf jeden Blog-Post, FAQPage auf jede Seite mit FAQ-Abschnitt, HowTo auf jede Anleitung. KI-Crawler indexieren einzelne Seiten, nicht nur die Homepage. Ein Blog-Post ohne Article-Schema wird von Google nicht als Artikel erkannt und erscheint seltener in AI Overviews.
Pantra analysiert dein JSON-LD Schema und zeigt dir genau welche Typen fehlen und welchen GEO-Score-Effekt sie hätten.
Kostenlosen Audit starten