Zwei Konzepte werden häufig vermischt, obwohl sie unterschiedliche Probleme lösen. Schema.org ist das Vokabular: eine öffentliche Sammlung von Typen (Product, Article, Organization, Recipe) und Eigenschaften (name, price, author, datePublished), die Google, Bing, Yahoo und Yandex 2011 gegründet haben und seither gemeinsam pflegen. Das Projekt entstand genau deshalb: Vor 2011 warb jede Suchmaschine für ein eigenes Markup-System, mit verstreuten Mikroformaten und RDFa, und wer eine Website betrieb, musste dieselbe Angabe in mehreren Formaten duplizieren, um alle Suchmaschinen abzudecken. Dieses Vokabular legt fest, was auf einer Seite beschrieben werden kann und unter welchen Bezeichnungen, sagt aber nichts darüber aus, wie der Code geschrieben wird.
JSON-LD, Microdata und RDFa sind die drei Formate, mit denen dieses Vokabular in HTML übersetzt wird.
JSON-LD (JavaScript Object Notation for Linked Data) ist heute das Format, das Google für die meisten Fälle empfiehlt: Es steht in einem eigenen
<script type="application/ld+json">-Block, ohne den sichtbaren HTML-Code der Seite zu berühren. Microdata dagegen verlangt Attribute (itemscope, itemprop) direkt an den bestehenden Tags, was die Pflege erschwert, sobald sich das Design ändert.
Die praktische Folge: Zwei Seiten können exakt dasselbe Schema.org-Vokabular nutzen, denselben Typ Product und dieselben Eigenschaften, und sich nur im gewählten Einbauformat unterscheiden. Google verarbeitet alle drei Formate, priorisiert in der Search-Central-Dokumentation aber JSON-LD, weil es sich aus einem
CMS leichter dynamisch generieren und ohne Risiko für das sichtbare Layout validieren lässt.
Ein Beispiel zeigt den Unterschied. Der Typ Organization mit den Eigenschaften name, url und logo ist auf jeder Seite, die ihn nutzt, dasselbe Vokabular. Als JSON-LD sieht die Umsetzung so aus:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Firmenname",
"url": "https://beispiel.de",
"logo": "https://beispiel.de/logo.png"
}
</script>
Dieselbe Information als Microdata verlangt, dieselben Attribute über mehrere sichtbare HTML-Tags zu verteilen, was in dynamischen Vorlagen mehr Syntaxfehler erzeugt als ein zentraler, vom übrigen Code getrennter JSON-LD-Block. Details zu den einzelnen Formaten stehen unter
JSON-LD und
Structured Data.