Bei JSON-LD handelt es um eine vom W3C emp­foh­le­ne Syntax, mit der sich struk­tu­rier­te Daten sowie all­ge­mein­gül­ti­ge Schemata für die Da­ten­struk­tu­rie­rung in das kompakte JSON-Format einbetten lassen.

Struk­tu­rier­te Daten helfen Such­ma­schi­nen, Webseiten besser zu verstehen. Eine se­man­ti­sche An­no­ta­ti­on er­mög­licht es, Be­deu­tungs­zu­sam­men­hän­ge her­zu­stel­len, In­for­ma­tio­nen au­to­ma­tisch aus­zu­le­sen und in andere Dar­stel­lungs­for­men zu über­füh­ren. Google – die meist­ge­nutz­te Such­ma­schi­ne unserer Zeit – stützt sich auf struk­tu­rier­te Daten, um Nutzern Rich-Search-Results und andere SERP-Elemente zur Verfügung zu stellen. Vorteil für den Web­sei­ten­be­trei­ber: Derart her­vor­ge­ho­be­ne Such­ergeb­nis­se springen ins Auge und erhöhen die Sicht­bar­keit eines Web­an­ge­bots.

Vor­aus­set­zung dafür ist, dass alle re­le­van­ten In­for­ma­tio­nen ent­spre­chend aus­ge­zeich­net wurden. Im Laufe der Zeit hat die In­ter­net­ge­mein­de diverse Standards zur Da­ten­struk­tu­rie­rung ent­wi­ckelt. Wir zeigen Ihnen, warum Sie JSON-LD al­ter­na­ti­ven Da­ten­for­ma­ten wie Mi­cro­for­mats, RDFa oder Microdata vorziehen sollten.

KI-Assistent kostenlos – Ihr smarter All­tags­hel­fer
  • DSGVO-konform & sicher gehostet in Deutsch­land
  • Pro­duk­ti­vi­tät steigern – weniger Aufwand, mehr Output
  • Direkt im Browser starten – ohne In­stal­la­ti­on

Was ist JSON-LD?

Bei JSON-LD (Ja­va­Script Object Notation for Linked Data) handelt es sich um eine JSON-basierte Methode, struk­tu­rier­te Daten in eine Webseite ein­zu­bet­ten. Im Gegensatz zu anderen Formaten zur Da­ten­struk­tu­rie­rung wie Mi­cro­for­mats, RDFa und Microdata erfolgt die Aus­zeich­nung dabei nicht als Quelltext-An­no­ta­ti­on. Statt­des­sen werden Metadaten in einem Skript-Tag separat vom Web­sei­ten­in­halt im head- oder body-Element des HTML-Dokuments im­ple­men­tiert. Dabei bedient sich JSON-LD der JSON-Notation und erweitert diese um eine Syntax, mit der sich Daten gemäß all­ge­mein­gül­ti­ger, weltweit ein­heit­li­cher Schemata aus­zeich­nen lassen.

Die JSON-LD-Spe­zi­fi­ka­ti­on stammt vom Digital-Bazaar-Gründer Manu Sporny und ist seit dem 16. Januar 2014 of­fi­zi­el­le W3C-Emp­feh­lung.

Was ist JSON?

Die Abkürzung JSON steht für Ja­va­Script Object Notation und be­zeich­net ein kompaktes, text­ba­sier­tes Format zum Austausch von Daten, das sowohl von Menschen als auch von Maschinen leicht zu ver­ar­bei­ten ist. JSON ist eine Ableitung von Ja­va­Script, lässt sich jedoch auch un­ab­hän­gig von der je­wei­li­gen Pro­gram­mier­spra­che platt­form­über­grei­fend ein­setz­ten. Als Da­ten­for­mat für die Se­ria­li­sie­rung – die Abbildung pro­gram­mier­ba­rer Objekte in eine se­quen­zi­el­le Dar­stel­lungs­form – kommt JSON beim Über­tra­gen und Speichern struk­tu­rier­ter Daten, bei Web­an­wen­dun­gen und mobilen Apps zur Anwendung. Die Syntax eines JSON-Objekts besteht im We­sent­li­chen aus Namen-Wert-Paaren (name-value pairs), die (mit Ausnahme von Zahl­wer­ten) in doppelte An­füh­rungs­zei­chen gesetzt und durch einen Dop­pel­punkt getrennt notiert werden. Jedes Namen-Wert-Paar beginnt üb­li­cher­wei­se in einer neuen Zeile und endet mit einem Komma. Ausnahme: Das letzte Namen-Wert-Paar vor der schlie­ßen­den Schlei­fen­klam­mer wird ohne Komma notiert.

Folgendes Beispiel ver­deut­licht das Grund­sche­ma der JSON-Syntax:

{
"name": "Manu Sporny",
"homepage": "http://manu.sporny.org/about/",
}

Im ein­lei­ten­den Text­ab­schnitt findet sich das Wortpaar „Manu Sporny“. Ein mensch­li­cher Leser wird aufgrund des Kontextes schnell erfassen, dass es sich bei der Buch­sta­ben­se­quenz um einen Namen handelt, und den hin­ter­leg­ten Hyperlink als Verweis auf die Web­prä­senz des JSON-LD-Ent­wick­lers deuten. Programme wie Web­brow­ser oder Such­ma­schi­nen-Crawler hingegen benötigen Metadaten, um einen solchen Zu­sam­men­hang her­zu­stel­len. Genau diese bietet JSON.

Das Code-Beispiel zeigt die beiden Na­mens­ele­men­te „name“ und „homepage“ mit ihren je­wei­li­gen Werten. Ein Programm, das eine Webseite mit diesem JSON-Objekt ausliest, ist somit in der Lage, „Manu Sporny“ als Name und „http://manu.sporny.org/about/“ als Homepage zu iden­ti­fi­zie­ren.

Was ist Linked Data (LD)?

Während die Be­deu­tungs­zu­ord­nung mit JSON innerhalb einer Webseite pro­blem­los funk­tio­niert, führt die Analyse von JSON-Daten ver­schie­de­ner Webseiten schnell zu einem Am­bi­gui­täts­pro­blem. In der Regel parsen Programme eine Vielzahl von Webseiten und werten die ge­won­ne­nen In­for­ma­tio­nen in Da­ten­ban­ken aus. Bei­spiels­wei­se kann beim oben an­ge­führ­ten JSON-Code nicht zwei­fels­frei si­cher­ge­stellt werden, dass die Na­mens­ele­men­te „name“ und „homepage“ über ver­schie­de­ne Webseiten hinweg immer im selben Be­deu­tungs­zu­sam­men­hang genutzt werden. Um Mehr­deu­tig­kei­ten aus­zu­schlie­ßen, ergänzt JSON-LD die klas­si­sche JSON-Notation daher um Kontext stiftende Elemente. Dies erfolgt auf Grundlage von Linked Data. Dabei handelt es sich um frei ver­füg­ba­re Daten im Internet, die per Uniform Resource Iden­ti­fier (URI) abgerufen werden können.

Weitere In­for­ma­tio­nen zu Linked Data bietet folgendes Video des JSON-LD-Ent­wick­lers Manu Sporny:

Um JSON für Linked Data auf­zu­be­rei­ten, ergänzt JSON-LD die klas­si­schen Namen-Wert-Paare der JSON-Notation durch so­ge­nann­te Keywords (Schlüs­sel­wör­ter). Keywords werden in der Syntax von JSON-LD mit einem vor­an­ge­stell­ten @-Zeichen ein­ge­lei­tet. Von zentraler Bedeutung sind die Schlüs­sel­wör­ter @context und @type. Während @context das der Aus­zeich­nung zu­grun­de­lie­gen­de Vokabular definiert, gibt @type an, um welchen Datentyp (Schema) es sich handelt.

Eine stan­dar­di­sier­te Schema-Datenbank zur Da­ten­struk­tu­rie­rung bietet das Projekt Schema.org. Auf der gleich­na­mi­gen Projekt-Website finden Web­sei­ten­be­trei­ber diverse Daten-Schemata (types) sowie diesen Da­ten­ty­pen zu­ge­ord­ne­te „pro­per­ties“ (Ei­gen­schaf­ten), die eine de­tail­lier­te se­man­ti­sche Aus­zeich­nung von Web­sei­ten­in­hal­ten er­mög­li­chen.

Tipp

JSON-LD ist prin­zi­pi­ell auf kein spe­zi­el­les Vokabular fest­ge­legt. Das von den Such­ma­schi­nen­an­bie­tern Bing, Google und Yahoo! ins Leben gerufene Projekt Schema.org gilt jedoch als Qua­si­stan­dard für die se­man­ti­sche An­no­ta­ti­on von Web­sei­ten­in­hal­ten.

Um die ent­spre­chen­den Kontext-Elemente ergänzt, ergibt sich für das oben an­ge­führ­te Beispiel folgender Code:

{
  "@context" : "http://schema.org/",
  "@type" : "Person",
  "name" : "Manu Sporny",
  "url" : "http://manu.sporny.org/about/"
 }

Das Keyword @context in Zeile 2 definiert das der se­man­ti­schen Aus­zeich­nung zugrunde liegende Vokabular – hier Schema.org. In Zeile 3 wird der Datentyp „Person“ mithilfe des Keywords @type ein­ge­führt. Dieser Datentyp wird in den Zeilen 4 und 5 durch die Ei­gen­schaf­ten „name“ und „url“ näher spe­zi­fi­ziert. Ein Programm, das diesen Bei­spiel­code parst, kann das als „name“ aus­ge­zeich­ne­te Text­ele­ment „Manu Sporny“ somit als Name einer Person gemäß dem Datentyp „Person“ nach Schema.org iden­ti­fi­zie­ren. Die durch „name“ und „url“ ein­ge­lei­te­ten Namen-Wert-Paare werden als Ei­gen­schaf­ten (pro­per­ties) des Schemas „Person“ ver­ar­bei­tet. Welche Ei­gen­schaf­ten einem Schema zu­ge­ord­net werden können, legt das zu­grun­de­lie­gen­de Vokabular fest.

Vorteile von JSON-LD im Vergleich zu anderen Da­ten­for­ma­ten

Die Zuordnung von Schemata und Ei­gen­schaf­ten erfolgt bei JSON-LD analog zu anderen Formaten zur se­man­ti­schen Aus­zeich­nung von Web­sei­ten­in­hal­ten. In eine Quelltext-An­no­ta­ti­on kon­ver­tiert, ließe sich das oben an­ge­führ­te Beispiel-Skript ohne In­for­ma­ti­ons­ver­lust auch per Microdata oder RDFa nach Schema.org aus­zeich­nen.

Microdata-Syntax nach Schema.org:

<div itemscope itemtype="http://schema.org/Person">
    <span itemprop="name">Manu Sporny</span>
    <span itemprop="url">http://manu.sporny.org/about/</span>
</div>

RDFa-Syntax nach Schema.org:

<div vocab="http://schema.org/" typeof="Person">
    <span property="name">Manu Sporny</span>
    <span property="url">http://manu.sporny.org/about/</span>
</div>

Der große Vorteil von JSON-LD gegenüber kon­kur­rie­ren­den Formaten besteht jedoch darin, dass Metadaten nicht direkt in den HTML-Code ein­ge­bet­tet werden müssen, sondern separat an be­lie­bi­ger Stelle im­ple­men­tiert werden können. Im­ple­men­tie­rung von JSON-LD in den HTML-Code erfolgt mithilfe des script-Tags nach folgendem Schema:

<script type="application/ld+json">
{
    JSON-LD
}
</script>

Bezogen auf das oben an­ge­führ­te Beispiel ergibt sich folgende Aus­zeich­nung gemäß Schema.org:

Free Cloud Server Trial
Virtual Private Server auf En­ter­pri­se-Level
  • KVM-basierte vServer für Ent­wick­ler
  • In­te­griert in die IONOS Compute Engine
  • Ska­lier­bar bis zur En­ter­pri­se-Cloud
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@type": "Person",
  "name": "Manu Sporny",
  "url": "http://manu.sporny.org/about/"
 }
</script>
Hinweis

Auch wenn JSON in Script-Tags notiert wird, handelt es sich nicht um aus­führ­ba­ren Code.

Die strikte Trennung von HTML und se­man­ti­scher An­no­ta­ti­on punktet nicht nur durch eine deutlich bessere Les­bar­keit des Quell­tex­tes. Eine Im­ple­men­tie­rung dieser Art er­mög­licht zudem eine dy­na­mi­sche Ge­ne­rie­rung von Da­ten­struk­tu­ren un­ab­hän­gig vom sicht­ba­ren Content. Metadaten können bei JSON-LD somit über das Backend ein­ge­pflegt, aus einer Datenbank aus­ge­le­sen und au­to­ma­tisch per Template generiert werden. Dies er­mög­licht eine bequeme se­man­ti­sche An­no­ta­ti­on auch für dy­na­mi­sche Web­in­hal­te, die im Internet immer mehr Raum einnehmen.

JSON-LD bei der Such­ma­schi­nen­op­ti­mie­rung

Das Projekt Schema.org nennt JSON-LD bereits seit Juni 2013 als eines der be­vor­zug­ten Da­ten­for­ma­te. Und auch Google empfiehlt (wenn möglich) die skript­ba­sier­te Ein­bin­dung von Metadaten via JSON-LD. Eine solche Aus­zeich­nung ist die Grundlage für diverse SERP-Elemente, die Google nutzt, um Nutzern er­wei­ter­te Such­ergeb­nis­se zu prä­sen­tie­ren.

Google nutzt ver­schie­de­ne Dar­stel­lungs­for­men für Such­ergeb­nis­se: Zu­sätz­lich zu den Basic Results (einfache Such­ergeb­nis­se) werden Nutzern seit einigen Jahren je nach Such­an­fra­ge auch Featured Results und Knowledge Graph Results aus­ge­spielt. Während Basic Results (wenn überhaupt) lediglich einfache Er­wei­te­run­gen wie Bread­crumbs aufweisen, bieten Featured Results und Knowledge Graph Results Potenzial für um­fang­rei­che Er­wei­te­run­gen – von Google auch Enhance­ments oder Search Result Features genannt.

Hinweis

In der Google-Ter­mi­no­lo­gie wird der Begriff Featured Result für er­wei­ter­te Such­ergeb­nis­se verwendet, bei denen die dar­ge­stell­ten Inhalte lediglich aus einer Quelle – der ver­link­ten Website – stammen. Andere Be­zeich­nun­gen für SERP-Elemente dieser Art sind Rich Search Result und Rich Cards. Er­mög­licht ein Featured Result Nut­zer­inter­ak­tio­nen, spricht Google von einem Enriched Search Result. Bei Knowledge Graph Results hingegen stützt sich Google nicht auf eine einzelne Website, sondern auf den Knowledge-Graph-Al­go­rith­mus, der Inhalte aus ver­schie­de­nen Quellen im Netz zu­sam­men­trägt. Knowledge Graph Results werden auch als Knowledge Graph Cards, Knowledge Graph Boxes oder Knowledge Graph Displays be­zeich­net. Findet Google für eine Such­an­fra­ge mehrere relevante Rich Cards oder Knowledge Graph Cards, werden diese als Karussell – ein Lis­ten­for­mat für ver­schie­de­ne Da­ten­ty­pen – auf den SERPs dar­ge­stellt.

Derzeit un­ter­stützt Google ein JSON-LD-Markup für folgende Er­wei­te­run­gen. Ein Beispiel zu jedem Search-Result-Feature stellt der Such­ma­schi­nen­an­bie­ter in der Search-Gallery unter de­ve­lo­pers.google.com bereit.

  • Bread­crumbs: Die so­ge­nann­te Brot­krü­mel-Na­vi­ga­ti­on zeigt die Position der aktuellen Webpage in der Hier­ar­chie der Website an. Web­sei­ten­be­trei­ber, die Bread­crumbs se­man­tisch aus­zeich­nen, erlauben Google, diese auf den SERPs an­zu­zei­gen. Bread­crumbs gehören zu den wenigen Search Result Features, die Google auch bei Basic Results ausspielt.
  • Fir­men­kon­takt­in­for­ma­tio­nen: Wurden Fir­men­kon­takt­in­for­ma­tio­nen se­man­tisch aus­ge­zeich­net, kann Google diese als Knowledge Graph Display, einer Dar­stel­lungs­form des Knowledge-Graph-Al­go­rith­mus, in den SERPs aus­spie­len.
  • Logos: Mit einem Logo-Markup ver­deut­li­chen Web­sei­ten­be­trei­ber, welche Grafik von der Such­ma­schi­ne als Fir­men­lo­go verwendet werden soll. Dies er­mög­licht es Google, Such­ergeb­nis­se zur ent­spre­chen­den Firma um ein Logo zu erweitern.
  • Sitelinks Searchbox: Stellt eine Website eine Such­funk­ti­on zur Verfügung und wurde diese se­man­tisch aus­ge­zeich­net, spielt Google Sucherge­bis­se zur Website u. U. mit einer Sitelinks-Searchbox aus.
  • Social-Profile-Links: Kommt ein Markup für Links zu Social-Media-Profilen zum Einsatz, erweitert Google das Knowledge Graph Display zu Personen oder Or­ga­ni­sa­tio­nen u. U. um ent­spre­chen­de Schalt­flä­chen. Google un­ter­stützt derzeit ein JSON-LD-Markup für Facebook, Twitter, Google+, Instagram, YouTube, LinkedIn, Myspace, Pinterest, Sound­Cloud und Tumblr.

Web­sei­ten­be­trei­ber, die Ihre Inhalte gut sichtbar auf den Google-SERPs plat­zie­ren möchten, haben die Mög­lich­keit, ver­schie­de­ne Da­ten­ty­pen se­man­tisch aus­zu­zeich­nen. Dabei ist zu beachten, dass allein Google auswählt, ob ein Such­ergeb­nis als Basic Result oder mit Er­wei­te­run­gen aus­ge­spielt wird. Derzeit un­ter­stützt Google ein JSON-LD-Markup für folgende Da­ten­ty­pen und nutzt dieses, um In­for­ma­tio­nen als Rich Search Results, Enriched Search Results oder Knowledge Graph Results auf­zu­be­rei­ten.

  • Artikel: Web­sei­ten­be­trei­ber, die News- oder Blog-Artikel se­man­tisch aus­zeich­nen, erlauben Google, diese in das Top-Stories-Karussell auf­zu­neh­men oder auf den SERPs um Search Result Features wie Über­schrif­ten oder Vor­schau­bil­der zu ergänzen.
  • Bücher: Bieten Web­sei­ten­be­trei­ber ein JSON-LD-Markup für In­for­ma­tio­nen, die sich auf Bücher beziehen, erstellt Google bei re­le­van­ten Such­an­fra­gen eine Knowledge Graph Card. Diese enthält nicht nur an­schau­li­che In­for­ma­tio­nen zum Buch, sondern er­mög­licht Google-Nutzern bei Bedarf auch den Erwerb direkt aus der Such­ma­schi­ne heraus.
  • Musik (Einträge für Musiker und Alben): Ähnlich wie In­for­ma­tio­nen zu Büchern lassen sich auch Mu­sik­an­ge­bo­te an­no­tie­ren. Dies er­mög­licht Google, Knowledge Graph Cards für Mu­sik­in­hal­te zu erzeugen. Diese bieten Suchenden nicht nur In­for­ma­tio­nen zu Alben und Musikern, sondern er­mög­li­chen In­ter­ak­tio­nen wie das Abspielen der Musik oder den Erwerb.
  • Kurs­an­ge­bo­te: Web­sei­ten­be­trei­ber, die Kurse (z. B. Sprach­kur­se) mit einem JSON-LD-Markup versehen, das es er­mög­licht, den Titel, ein kurze Be­schrei­bung sowie den Anbieter au­to­ma­tisch aus­zu­le­sen, haben die Chance, dass Google diese In­for­ma­tio­nen als er­wei­ter­te Such­ergeb­nis­se in den SERPs ausspielt.
  • Ver­an­stal­tun­gen: Anbieter öf­fent­li­cher Ver­an­stal­tun­gen wie Konzerte und Festivals haben die Mög­lich­keit, relevante In­for­ma­tio­nen (z. B. Ort der Ver­an­stal­tung, Datum und Uhrzeit) via JSON-LD zu an­no­tie­ren, sodass Google diese In­for­ma­tio­nen au­to­ma­tisch ex­tra­hie­ren und gelistet auf den SERPs oder in anderen Google-Produkten wie Maps anzeigen kann.
  • Stel­len­an­zei­gen: Auch Job-Angebote, die Or­ga­ni­sa­tio­nen auf ihrer Webseite ver­öf­fent­li­chen, lassen sich so aus­zeich­nen, dass Google relevante In­for­ma­tio­nen für er­wei­ter­te Such­ergeb­nis­se auslesen kann.
  • Einträge lokaler Anbieter: Lokale Anbieter, die auf der Web­prä­senz zum Geschäft oder Re­stau­rant struk­tu­rier­te Daten anbieten, er­mög­li­chen Google, Knowledge Graph Cards zu erstellen, die bei re­le­van­ten Such­an­fra­gen auf den SERPs oder in Google Maps angezeigt werden (siehe hierzu auch Google Maps Eintrag erstellen). Sucht ein Google-Nutzer bei­spiels­wei­se nach einem viet­na­me­si­schen Re­stau­rant, spielt Google ein Karussell mit passenden Anbietern in der Nähe aus.
  • Da­ten­sät­ze: Auch Da­ten­sät­ze wie CSV-Tabellen oder Dateien in pro­prie­tä­ren Formaten lassen sich via JSON-LD-Markup für die Such­ma­schi­ne zu­gäng­lich machen.
  • Podcasts: Google un­ter­stützt ein JSON-LD-Markup für Podcast-In­for­ma­tio­nen. Ent­spre­chend aus­ge­zeich­ne­te Angebote können direkt in der Such­ma­schi­ne angezeigt und ab­ge­spielt werden.
  • Videos: Content-Anbieter, die für Videos auf Ihrer Website struk­tu­rier­te Daten wie eine Be­schrei­bung, einen Link zu einem Vor­schau­bild, das Upload-Datum oder die Ab­spiel­zeit zur Verfügung stellen, erlauben Google, diese In­for­ma­tio­nen zu ex­tra­hie­ren und als Rich Cards oder in Form von Ka­rus­sells auf den SERPs aus­zu­spie­len.
  • Filme und Shows: Liefert eine Website struk­tu­rier­te Daten zu Film­an­ge­bo­ten oder Shows, übernimmt Google diese bei re­le­van­ten Such­an­fra­gen als Knowledge Graph Cards auf die Such­ergeb­nis­sei­ten. Diese lassen sich bei Bedarf um in­ter­ak­ti­ve Elemente erweitern, die den Konsum oder Erwerb des Angebots er­mög­li­chen.
  • Rezepte: Auch Koch­re­zep­te bietet Google seit einigen Jahren als Featured Result in der Such­ma­schi­ne an. Vor­aus­set­zung dafür ist, dass die Be­reit­stel­ler der Inhalte alle re­le­van­ten Rezept-In­for­ma­tio­nen als struk­tu­rier­te Daten zur Verfügung stellen. Eine mögliche Dar­stel­lung auf den SERPs ist ein Karussell mit passenden Rich Cards zur Such­an­fra­ge.
  • Be­wer­tun­gen: Google un­ter­stützt Be­wer­tun­gen für ver­schie­de­ne Schema.org-Da­ten­ty­pen wie lokale Geschäfte, Re­stau­rants, Produkte, Bücher, Filme oder Krea­tiv­ar­bei­ten. Die Dar­stel­lung ent­spre­chen­der Inhalte erfolgt als Snippet. Dabei un­ter­schei­det Google zwischen Kritiken einzelner Autoren und Beiträgen auf Be­wer­tungs­por­ta­len. Liegt eine se­man­ti­sche An­no­ta­ti­on vor, werden beide Arten der Bewertung bei re­le­van­ten Such­an­fra­gen als Featured Results auf den SERPs aus­ge­spielt.
  • Produkte: On­line­händ­ler, die auf ihrer Website Pro­dukt­in­for­ma­tio­nen wie Preise, Ver­füg­bar­kei­ten oder Be­wer­tun­gen als struk­tu­rier­te Daten zur Verfügung stellen, er­mög­li­chen Google, diese In­for­ma­tio­nen bei re­le­van­ten Such­an­fra­gen als Rich-Search-Results aus­zu­spie­len.

Er­wei­ter­te Such­ergeb­nis­se – egal, ob es sich um Featured Results oder Knowledge Graph Displays handelt – haben für Web­sei­ten­be­trei­ber vor allem einen Vorteil: Sie heben sich von anderen Such­ergeb­nis­sen auf den SERPs ab.

Google stellt Displays und Ka­rus­sel­le für Featured Results an ex­po­nier­ter Stelle oberhalb der Basic Results und somit auf Position null dar. Knowledge Graph Displays er­schei­nen entweder ebenfalls als Karussell am oberen Sei­ten­rand oder von einem Rahmen ab­ge­grenzt rechts neben der or­ga­ni­schen Websuche. Er­wei­ter­te Such­ergeb­nis­se bieten Web­sei­ten­be­trei­bern somit die Chance, die Pole-Position der Such­ergeb­nis­sei­te zu erringen, ohne dass Zeit und Geld in die Ver­bes­se­rung des or­ga­ni­schen Rankings in­ves­tiert werden muss.

Doch nicht nur die her­vor­ge­ho­be­ne Position, auch diverse Er­wei­te­run­gen wie Vor­schau­bil­der, Ratings, Text­aus­zü­ge und in­ter­ak­ti­ve Elemente erregen die Auf­merk­sam­keit des Suchenden und regen zum Klicken an. Web­sei­ten­be­trei­ber können davon ausgehen, dass sich die Click-Through-Rate bei er­wei­ter­ten Such­ergeb­nis­sen im Vergleich zu Basic Results deutlich erhöht.

Zudem wird er­wei­ter­ten Such­ergeb­nis­sen ein positiver Effekt auf die Ab­sprungra­te zu­ge­spro­chen. Anders als Basic Results, die in der Regel lediglich den Meta-Title, eine URL sowie eine kurze Be­schrei­bung umfassen, geben er­wei­ter­te Such­ergeb­nis­se Google-Nutzern einen um­fas­sen­den Eindruck davon, welche Inhalte sie auf der ver­link­ten Website zu erwarten haben. Ein Suchender kann die Relevanz einer Website für die eigene Such­an­fra­ge somit schon vor dem Aufruf prüfen und nur bei Bedarf klicken.

Als Ranking-Faktor zieht Google das Vor­han­den­sein oder Fehlen einer se­man­ti­schen Aus­zeich­nung via JSON-LD jedoch nicht heran. Das stellte Matt Cutts, ehe­ma­li­ger Chef des Google-Web-Spam-Teams, bereits 2012 in folgendem YouTube-Video der Google-Web­mas­ters-Reihe klar:

Wie bei der Anwendung punktet JSON-LD auch bei der Crawl­bar­keit durch die Aus­la­ge­rung des Markups in separate Skript-Ab­schnit­te. Im Vergleich zu al­ter­na­ti­ven An­no­ta­tio­nen wie Microdata oder RDFa erlaubt JSON-LD trotz se­man­ti­scher An­no­ta­ti­on einen schlanken Quellcode, der vom Google-Bot und anderen Crawlern schnell durch­sucht und leicht indexiert werden kann. Doch die Aus­la­ge­rung von struk­tu­rier­ten Daten hat auch Nachteile. Prin­zi­pi­ell gilt bei Google und anderen Such­ma­schi­nen-Anbietern die Grund­re­gel, dass lediglich die Inhalte ma­schi­nen­les­bar aus­ge­zeich­net werden, die auch mensch­li­chen Sei­ten­be­su­chern zur Verfügung stehen. Mit JSON-LD jedoch lässt sich theo­re­tisch jedes beliebige Markup im­ple­men­tie­ren, selbst dann, wenn es für die an­ge­führ­ten Metadaten im ei­gent­li­chen Web­sei­ten­in­halt keine Ent­spre­chung gibt. In diesem Fall wird sowohl der Such­ma­schi­ne als auch dem Nutzer ein möglicher Mehrwert ver­spro­chen, den eine derart aus­ge­schmück­te Website nicht bietet. Praktisch ist von einem solchen Vorgehen abzuraten. An­dern­falls laufen Web­sei­ten­be­trei­ber Gefahr, wegen Web-Spam-Maßnahmen ab­ge­straft zu werden. Um zu ver­hin­dern, dass Web­sei­ten­be­su­cher ver­se­hent­lich die Grenzen der such­ma­schi­nen­kon­for­men se­man­ti­schen An­no­ta­ti­on über­schrei­ten, bietet Google mit den Struc­tu­red Data General Gui­de­lines ein aus­führ­li­ches Regelwerk, das sich im We­sent­li­chen auf folgende Punkte re­du­zie­ren lässt:

  • Format: Struk­tu­rier­te Daten müssen in einem der drei eta­blier­ten Formate Microdata, RDFa oder JSON-LD vorliegen. Google empfiehlt Letzteres.
  • Zu­gäng­lich­keit: Seiten mit struk­tu­rier­ten Daten müssen für den Googlebot zu­gäng­lich sein. Access-Control-Methoden (z. B. via robots.txt oder noindex) ver­hin­dern das Auslesen der Metadaten.
  • Content-Äqui­va­lenz: Das JSON-LD-Markup darf lediglich Entitäten be­schrei­ben, die auch im HTML-Code be­schrie­ben werden.
  • Relevanz: Ein JSON-LD-Markup sollte sich lediglich auf relevante Ent­spre­chun­gen der ver­wen­de­ten Da­ten­ty­pen beziehen. Ein Web­sei­ten­be­trei­ber, der eine tech­ni­sche Anleitung als Rezept aus­zeich­net, verstieße bei­spiels­wei­se gegen die Richt­li­nie der Relevanz.
  • Voll­stän­dig­keit: Alle im JSON-LD-Markup auf­ge­führ­ten Da­ten­ty­pen (types) müssen voll­stän­dig und inklusive der er­for­der­li­chen Ei­gen­schaf­ten (pro­per­ties) aus­ge­zeich­net werden. Da­ten­ty­pen, bei denen es­sen­zi­el­le Ei­gen­schaf­ten fehlen, eignen sich nicht für er­wei­ter­te Such­ergeb­nis­se.
  • Spe­zi­fi­tät: Linked-Data-Projekte wie Schema.org bieten eine Vielzahl von Da­ten­ty­pen. Um die eigenen Inhalte für eine er­wei­ter­te Such­ergeb­nis­dar­stel­lung zu qua­li­fi­zie­ren, sollten Web­sei­ten­be­trei­ber Schemata so spe­zi­fisch wie möglich wählen.
Tipp

Grund­sätz­lich gilt: Je mehr Ei­gen­schaf­ten in Form von struk­tu­rier­ten Daten be­reit­ge­stellt werden, desto höher ist der Mehrwert für den Google-Nutzer. Google be­rück­sich­tigt den Umfang der zur Verfügung ge­stell­ten In­for­ma­tio­nen daher beim Ranking von Rich Cards. Und auch Web­sei­ten­be­trei­ber pro­fi­tie­ren von einem möglichst voll­stän­di­gen Markup. Bei­spiels­wei­se be­vor­zu­gen Suchende laut Google Stel­len­an­zei­gen mit Ge­halts­an­ga­be oder Be­wer­tun­gen inklusive Sterne-Rating.

JSON-LD nach Schema.org: Eine Schritt-für-Schritt-Anleitung

Im Folgenden zeigen wir Ihnen anhand eines Beispiels, wie Sie Ihre Website möglichst effizient mit re­le­van­ten Metadaten an­rei­chern. Dem JSON-LD-Tutorial liegt das Vokabular des Schema.org-Projekts zugrunde.

Schritt 1: Vor­über­le­gun­gen

Die Im­ple­men­tie­rung struk­tu­rier­ter Daten ist je nach Umfang des Web­an­ge­bots mit einem mehr oder weniger großen Aufwand verbunden. Überlegen Sie sich daher bereits im Vorfeld, welche Ziele Sie mit der se­man­ti­schen Aus­zeich­nung erreichen und wie viel Ar­beits­zeit Sie in die An­no­ta­ti­on in­ves­tie­ren möchten.

In der Regel soll ein Markup Web­sei­ten­in­for­ma­tio­nen struk­tu­rie­ren und in einer von Such­ma­schi­nen lesbaren Form anbieten. Das Ziel ist, Google und Co. zu de­mons­trie­ren, dass die derart op­ti­mier­te Website die besten Res­sour­cen für relevante Such­an­fra­gen zum The­men­schwer­punkt des Projekts zur Verfügung stellt. Stellen Sie sich daher folgende Fragen:

  • Was sind die zentralen Inhalte Ihrer Website?
  • Welchen Mehrwert bieten diese po­ten­zi­el­len Besuchern?
  • Welche Inhalte sind für den Fokus Ihrer Website so relevant, dass sie such­ma­schi­nen­freund­lich aus­ge­zeich­net werden sollten?

Schritt 2: Relevante Inhalte bestimmen

Erstellen Sie eine Liste aller Inhalte, die einen Mehrwert bieten. Ent­schei­den Sie, auf welche Inhalte po­ten­zi­el­le Besucher bereits auf den Such­ergeb­nis­sei­ten auf­merk­sam gemacht werden sollten.

Google bei­spiels­wei­se empfiehlt eine Aus­zeich­nung mit JSON-LD für In­for­ma­tio­nen, die Ver­an­stal­tun­gen (Events) betreffen. In HTML lassen sich Ver­an­stal­tungs­an­kün­di­gun­gen für Konzerte, Musicals oder Thea­ter­vor­stel­lun­gen z. B. nach folgendem Schema dar­stel­len:

<p>
<a href="http://www.example.org/zambini/2017-11-20-2000">Der große Zambini – ein Abend voller Magie</a>,<br>
Und wieder entführt Sie der große Zambini in einen Abend wider die Vernunft. Diesmal mit dabei: Max der Rabe und die elastische Sonja.<br>
Datum: 20.11.2017,<br>
Einlass: 20:00,<br>
Show: 20:30 bis 23:00,
<a href="http://www.example.org/events/zambini/2017-11-20-2000/tickets">Tickets</a><br>
Preis: 100 Euro,<br>
Tickets verfügbar,<br>
<a href="http://www.example.de">Zauberberg</a>,<br>
Zum Zauberberg 1,<br>
10243 Zauberhausen,<br>
</p>

Typische In­for­ma­tio­nen des Datentyps „Event“ sind Datum und Uhrzeit, der Preis, die Ver­füg­bar­keit von Tickets, die Adresse des Ver­an­stal­tungs­orts sowie Links zu wei­ter­füh­ren­den In­for­ma­tio­nen zum Event oder zum Ver­an­stal­tungs­ort. Mensch­li­che Sei­ten­be­su­cher sind in der Lage, diese In­for­ma­tio­nen einem Text­ab­schnitt, einer Tabelle oder anderen Dar­stel­lungs­for­men zu entnehmen und dem ent­spre­chen­den Be­deu­tungs­zu­sam­men­hang zu­zu­ord­nen. Programme wie Such­ma­schi­nen-Crawler hingegen benötigen Metadaten, die An­wei­sun­gen enthalten, wie die dar­ge­bo­te­nen In­for­ma­tio­nen zu ver­ar­bei­ten sind. JSON-LD liefert diese in Form eines Da­ten­for­mats, das separat vom Inhalt an be­lie­bi­ger Stelle des HTML-Quell­codes eingefügt wird.

All­ge­mein­gül­ti­ge Regeln, wie Sie als Web­sei­ten­be­trei­ber ein JSON-LD-Markup erstellen und in Ihre Website einbetten, stellt ihnen Schema.org zur Verfügung.

Schritt 3: Schemata auswählen

Schema.org bietet Web­sei­ten­be­trei­bern ein um­fang­rei­ches Vokabular für die Da­ten­struk­tu­rie­rung. Insgesamt umfasst die Datenbank rund 600 Types, die sich mit mehr als 860 Propertys näher spe­zi­fi­zie­ren lassen.

Bei der Auswahl passender Da­ten­ty­pen bieten sich zwei Stra­te­gien an:

  • Theo­re­tisch steht es ihnen offen, alle zuvor be­stimm­ten Inhalte mit den zur Verfügung stehenden Da­ten­ty­pen des Schema.org-Vo­ka­bu­lars ab­zu­glei­chen und jeweils den spe­zi­fischs­ten Datentyp für das jeweilige In­halts­ele­ment aus­zu­wäh­len. Ein solches Vorgehen ist lang­wie­rig und in der Regel unnötig.
  • In der Praxis be­schrän­ken sich Web­sei­ten­be­trei­ber meist auf eine Teilmenge der Schema.org-Da­ten­ty­pen: Verfolgen Sie mit dem JSON-LD-Markup lediglich das Ziel, der Such­ma­schi­ne struk­tu­rier­te Daten be­reit­zu­stel­len, genügt es, sich zunächst auf die Da­ten­ty­pen zu be­schrän­ken, die von Google aktuell un­ter­stützt und im Google-Developer-Bereich aus­führ­lich be­schrie­ben werden.

Wir empfehlen ihnen Strategie b. – und das aus folgendem Grund: Google bietet für alle von der Such­ma­schi­ne un­ter­stütz­ten Da­ten­ty­pen eine aus­führ­li­che Do­ku­men­ta­ti­on. Für jeden Datentyp wird ein Beispiel-Markup zur Verfügung gestellt.

Tipp

Verwenden Sie die Beispiele, die Google im Developer-Bereich aufführt, als Vorlage für Ihr eigenes JSON-LD-Markup.

Um Ihre Website mit struk­tu­rier­ten Daten aus­zu­stat­ten, müssen Sie das Rad nicht neu erfinden. Gerade wenn Sie bisher noch keine Erfahrung mit der Syntax von JSON-LD haben, spart es Zeit und Energie, auf vor­ge­fer­tig­te Muster zu­rück­zu­grei­fen, anstatt das Markup für jeden Datentyp von Grund auf neu zu schreiben. In der Google-Do­ku­men­ta­ti­on finden Web­sei­ten­be­trei­ber folgendes Markup-Beispiel für Ver­an­stal­tun­gen:

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "Event",
    "name": "Jan Lieberman Concert Series: Journey in Jazz",
    "startDate": "2017-04-24T19:30-08:00",
    "location": {
        "@type": "Place",
        "name": "Santa Clara City Library, Central Park Library",
        "address": {
            "@type": "PostalAddress",
            "streetAddress": "2635 Homestead Rd",
            "addressLocality": "Santa Clara",
            "postalCode": "95051",
            "addressRegion": "CA",
            "addressCountry": "US"
        }
    },
    "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
     ],
    "description": "Join us for an afternoon of Jazz with Santa Clara resident and pianist Andy Lagunoff. Complimentary food and beverages will be served.",
    "endDate": "2017-04-24T23:00-08:00",
    "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_201803180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "http://schema.org/InStock",
        "validFrom": "2017-01-20T16:20-08:00"
    },
    "performer": {
        "@type": "PerformingGroup",
        "name": "Andy Lagunoff"
    }
}
</script>

Die Script-Tags de­fi­nie­ren das Element von Zeile 01 bis Zeile 39 als Skript des Typs „ap­pli­ca­ti­on/ld+json“. Die nach­fol­gen­den In­for­ma­tio­nen richten sich somit an Programme, die in der Lage sind, Linked Data im JSON-Format aus­zu­le­sen.

Auf der ersten Ebene finden sich die Schlüs­sel­wör­ter „@context“ und „@type“ mit den Werten „http://schema.org“ und „Event“ (Zeile 03 und 04). Ein parsendes Programm erhält hier die Anweisung, dass die folgenden In­for­ma­tio­nen dem Schema „Event“ gemäß Schema.org zu­zu­ord­nen sind, es handelt sich somit um spe­zi­fi­sche Ei­gen­schaf­ten der be­schrie­be­nen Ver­an­stal­tung. Diese werden in Form von Namen-Wert-Paaren dar­ge­stellt.

Ebenfalls auf der ersten Ebene finden sich die Ei­gen­schaf­ten „name“, „startDate“, „location“, „image“, „de­scrip­ti­on“, „enddate“, „offers“ und „performer“, denen die je­wei­li­gen Ver­an­stal­tungs­in­for­ma­tio­nen als Werte zu­ge­ord­net sind. Ein Such­ma­schi­nen-Crawler kann die In­for­ma­ti­on „Jan Lieberman Concert Series: Journey in Jazz“ somit zwei­fels­frei als Titel der Ver­an­stal­tung (name) iden­ti­fi­zie­ren und „2017-04-24T19:30-08:00“ als genauen Start­zeit­punkt (StartDate).

Analog zu RDFa und Microdata un­ter­stützt auch JSON-LD-Syntax Ver­schach­te­lun­gen (Nesting). Dabei wird einer Ei­gen­schaft kein Wert, sondern ein (Sub-)Schema zu­ge­ord­net, das wiederum mit spe­zi­fi­schen Ei­gen­schaf­ten näher bestimmt werden kann. Einen solchen Fall findet Sie auf der zweiten Ebene des Code­bei­spiels in den Zeilen 08, 27 und 35.

In Zeile 08 bei­spiels­wei­se wird die Event-Ei­gen­schaft „location“ als (Sub-)Schema des Typs „Place“ definiert und mit den Ei­gen­schaf­ten „name“ und „address“ versehen. Die Ei­gen­schaft „address“ wiederum wird in Zeile 11 als (Sub)-Schema des Typs „Posta­l­Ad­dress“ definiert und ih­rer­seits mit den schem­a­spe­zi­fi­schen Ei­gen­schaf­ten „street­Ad­dress“, „ad­dress­Lo­ca­li­ty“, „postal­Code“, „ad­dress­Re­gi­on“ und „ad­dress­Coun­try“ aus­ge­zeich­net.

Jede ver­schach­tel­te Ebene wird in ge­schweif­te Klammern gefasst und so von der über­ge­ord­ne­ten Ebene ab­ge­grenzt.

Aus­schnitt (Zeile 07 bis 18):

"location": {
        "@type": "Place",
        "name": "Santa Clara City Library, Central Park Library",
        "address": {
            "@type": "PostalAddress",
            "streetAddress": "2635 Homestead Rd",
            "addressLocality": "Santa Clara",
            "postalCode": "95051",
            "addressRegion": "CA",
            "addressCountry": "US"
        }
    },

Schema.org stellt Web­sei­ten­be­trei­bern Da­ten­ty­pen somit in Form einer hier­ar­chi­schen Baum­struk­tur zur Verfügung, die ausgehend vom all­ge­meins­ten Datentyp „Thing“ (Sache) immer spe­zi­fi­scher wird.

Im folgenden Schritt zeigen wir Ihnen, wie Sie das Google-Beispiel zum Datentyp „Event“ an die oben auf­ge­führ­te Ver­an­stal­tungs­an­kün­di­gung anpassen.

Schritt 4: JSON-LD-Markup anpassen

Die Google-Do­ku­men­ta­ti­on be­inhal­tet lediglich Beispiele, die zeigen, wie sich die auf­ge­führ­ten Da­ten­ty­pen via JSON-LD aus­zeich­nen lassen. Kommen diese als Vorlagen für ein eigenes Metadaten-Markup zum Einsatz, muss der Code in jedem Fall in­di­vi­du­ell angepasst werden. U. U. ist es hilfreich, dabei auf die Schema.org-Do­ku­men­ta­ti­on zum ent­spre­chen­den Datentyp zu­rück­zu­grei­fen, um mehr über die Ver­wen­dung eines be­stimm­ten Schemas sowie mögliche Ei­gen­schaf­ten zu erfahren. Folgendes Beispiel zeigt eine in­di­vi­du­el­le Anpassung des Google-Muster-Codes für den Datentyp Event:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Event",
  "name": "Der große Zambini – ein Abend voller Magie",
  "startDate": "2017-11-20T20:00",
  "url": " http://www.example.org/zambini/2017-11-20-2000",
  "location": {
    "@type": "Place",
    "sameAs": "http://www.example.org",
    "name": "Zauberberg",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Zum Zauberberg 1",
      "addressLocality": "Zauberhausen",
      "postalCode": "10243",
      "addressCountry": "Zauberland"
    }
  },
  "image": [
    "https://example.com/photos/1x1/zambini.jpg",
    "https://example.com/photos/4x3/zambini.jpg",
    "https://example.com/photos/16x9/zambini.jpg"
   ],
  "description": "Und wieder entführt Sie der große Zambini in einen Abend wider die Vernunft. Diesmal mit dabei: Max der Rabe und die elastische Sonja.",
 "endDate": "2017-11-20T23:00",
 "doorTime": "2017-11-20T20:30",
  "offers": {
    "@type": "Offer",
    "url": "http://www.example.org/events/zambini/2017-11-20-2000/tickets ",
    "price": "100",
    "priceCurrency": "EUR", 
    "availability": "http://schema.org/InStock",
    "validFrom": "2017-11-01T20:00"
  },
  "performer": {
    "@type": "Person",
    "name": "Der große Zambini"
  }
}
</script>

Im ersten Schritt haben wir alle Werte des Muster-Markups durch ent­spre­chen­de Werte der oben auf­ge­führ­ten Ver­an­stal­tungs­an­kün­di­gung ersetzt. Dabei wurden un­zu­tref­fen­de (Sub-)Schemata und Ei­gen­schaf­ten gelöscht. Bei­spiels­wei­se haben wird die Ei­gen­schaft „ad­dress­Re­gi­on“ weg­ge­las­sen, da diese Angabe in Deutsch­land nicht üblich ist. Statt „Per­forming­Group“ nutzen wir unter „performer“ das (Sub-)Schema „Person“, da wir es nicht mit einer Band, sondern mit einem einzelnen Dar­stel­ler zu tun haben. Ab­schlie­ßend haben wir das Markup um In­for­ma­tio­nen ergänzt, die in der Google-Vorlage nicht erfasst wurden. So finden sich in Zeile 07 und Zeile 10 bei­spiels­wei­se URLs zum Event bzw. zum Ver­an­stal­tungs­ort. Mögliche Ei­gen­schaf­ten entnehmen Sie bei bedarf der Schema.org-Do­ku­men­ta­ti­on.

Auch wenn Sie Ihr JSON-LD-Markup ohne Vorlage von Grund auf neu erstellen, sollten Sie einen Blick auf die Google-Do­ku­men­ta­ti­ons­sei­te zum je­wei­li­gen Datentyp werfen. Hier gibt der Such­ma­schi­nen­markt­füh­rer für alle un­ter­stütz­ten Da­ten­ty­pen sowohl er­for­der­li­che als auch emp­foh­le­ne Propertys an.

Tipp

Achten Sie darauf, dass Ihr JSON-LD-Markup in jedem Fall alle er­for­der­li­chen Propertys be­inhal­tet. Nur dann nimmt ihre Website am Ranking für er­wei­ter­te Such­ergeb­nis­se wie Rich Cards teil. Versuchen Sie zudem, auch Werte für alle emp­foh­le­nen Propertys zur Verfügung zu stellen, um Ihre Chancen beim Ranking zu erhöhen.

Die in der Google-Do­ku­men­ta­ti­on auf­ge­führ­ten Beispiele be­inhal­ten stets alle er­for­der­li­chen und emp­foh­le­nen Propertys.

Ob Ihrem Markup wichtige Propertys fehlen, testen Sie am besten mit dem von Google zur Verfügung ge­stell­ten Va­li­die­rungs­tool.

Schritt 5: JSON-LD-Markup testen

Durch die Ver­schach­te­lung von Schemata, (Sub-)Schemata und Ei­gen­schaf­ten sind komplexe JSON-LD-Aus­zeich­nun­gen möglich. Die Trennung von HTML-Markup und se­man­ti­scher Aus­zeich­nung sorgt dennoch für eine deutlich bessere Les­bar­keit als bei ver­gleich­ba­ren Da­ten­for­ma­ten, die sich auf eine Quelltext-An­no­ta­ti­on stützen. Um Fehler bei der Pro­gram­mie­rung zu vermeiden, hält Google mit dem Struc­tu­red Data Testing Tool eine kos­ten­lo­se Mög­lich­keit bereit, JSON-LD-Code zur Da­ten­struk­tu­rie­rung zu va­li­die­ren. Gehen Sie dabei fol­gen­der­ma­ßen vor:

  1. JSON-LD-Code per Copy & Paste in das dafür vor­ge­se­he­ne Ein­ga­be­feld einfügen

Wahlweise fügen Sie das Markup selbst oder die URL der Webseite ein, deren Metadaten-Markup Sie testen möchten.

  1. Va­li­die­rung durch einen Klick auf „Run Test“ starten

Während der Va­li­die­rung liest das Tool die struk­tu­rier­ten Daten des JSON-LD-Markups aus und überprüft diese auf Voll­stän­dig­keit. Nutzer bekommen die aus­ge­le­se­nen Daten in einer ta­bel­la­ri­schen Übersicht angezeigt. Diese be­inhal­tet zudem Hinweise und Warnungen, sofern das Tool Syn­tax­feh­ler oder fehlende Daten fest­stel­len konnte.

Das von uns erstelle Test­skript ist feh­ler­frei und be­inhal­tet alle be­nö­tig­ten Propertys. Löschen wir nun bei­spiel­wei­se die er­for­der­li­che Property „startDate“, erhalten wir folgende Ausgabe:

Ebenso lassen sich Syn­tax­feh­ler wie das fehlende Komma zum Abschluss eines Name-Wort-Paares lo­ka­li­sie­ren.

  1. Vorschau ge­ne­rie­ren
    Zu­sätz­lich zur Test­funk­ti­on bietet das Google Struc­tu­red Data Testing Tool einen Vor­schau­mo­dus. Dieser gibt Web­sei­ten­be­trei­bern einen Vor­ge­schmack, wie ein er­wei­ter­tes Such­ergeb­nis auf Basis des ge­tes­te­ten va­li­dier­ten Markups aussehen könnte.

Fehler bei der Im­ple­men­tie­rung des JSON-LD-Markups

Spielt Google für Ihre Website trotz JSON-LD-Markup keine er­wei­ter­ten Such­ergeb­nis­se aus, ist Ihnen in der Regel ein Fehler bei der Da­ten­struk­tu­rie­rung un­ter­lau­fen. Über­prü­fen Sie Ihren Code erneut und achten Sie dabei auf folgende Feh­ler­quel­len:

  • Syn­tax­feh­ler: Die JSON-LD-Syntax ist einfach und über­sicht­lich. Doch wie bei jeder Aus­zeich­nungs­spra­che schlei­chen sich auch hier ge­le­gent­lich Fehler ein. Eine bekannte Feh­ler­quel­le ist der Un­ter­schied zwischen doppelten Ko­die­rungs­zei­chen ("…") und ty­po­gra­fi­schen An­füh­rungs­zei­chen („…“). Während Ko­die­rungs­zei­chen bei der Pro­gram­mie­rung verwendet werden, dienen An­füh­rungs­zei­chen der Mar­kie­rung der wört­li­chen Rede in ge­schrie­be­ner Sprache. Da Text­ver­ar­bei­tungs­pro­gram­me doppelte Ko­die­rungs­zei­chen oft au­to­ma­tisch in An­füh­rungs­zei­chen umwandeln, verwenden Sie zur Er­stel­lung Ihres JSON-LD-Markups am besten einen Editor wie Notepad. Auch die in Pro­gramm­code sonst gern ver­wen­de­ten einfachen An­füh­rungs­zei­chen sind in JSON nicht zulässig.
  • Un­voll­stän­di­ges, falsches oder un­spe­zi­fi­sches Vokabular: In der hier­ar­chi­schen Baum­struk­tur von Schema.org ist genau fest­ge­legt, welche Propertys mit welchem Datentyp verwendet werden können. Verwenden Sie eine Property für einen Datentyp, der diese nicht un­ter­stützt, kann der ent­spre­chen­de Wert von Google nicht in­ter­pre­tiert werden. Der Code wird als feh­ler­haft ein­ge­stuft. Auch solche Fehler erkennt das Google Struc­tu­red Data Testing Tool.
Hinweis

Alle Types und Propertys des Schema.org-Vo­ka­bu­lars sind case-sensitive. Es ergibt sich somit ein Be­deu­tungs­un­ter­schied durch die Groß- bzw. Klein­schrei­bung von Buch­sta­ben.

Nutzen Sie stets die Do­ku­men­ta­ti­ons­sei­ten von Schema.org und va­li­die­ren Sie Ihren JSON-LD-Code mithilfe des Struc­tu­red Data Testing Tools. Beachten Sie zudem die Struc­tu­red Data General Gui­de­lines sowie die all­ge­mei­nen Webmaster Gui­de­lines von Google, um Re­gel­ver­stö­ße zu vermeiden, die zum Aus­schluss vom Ranking für er­wei­ter­te Such­ergeb­nis­se führen können.

Zum Hauptmenü