Schema.org - JSON-LD - Wo platzieren?

94

Ich möchte JSON-LD für das Schema auf einer Website verwenden. (Schema bedeutet schema.org-Daten.) Ich weiß, wie man die Daten schreibt, aber meine Frage ist, ob es in meinem Code einen bevorzugten Speicherort zum Einfügen dieser Daten gibt. Mit anderen Worten, sollte immer der JSON-LD in der sein head, bodyusw.?

L84
quelle

Antworten:

67

Aus der Sicht von Schema.org, JSON-LD und dem möglicherweise extrahierten RDF sollte dies keine Rolle spielen. Die Daten sind dieselben, unabhängig davon, woher sie im Dokument extrahiert wurden.

Aus der Sicht von HTML5:

Wenn es sich um Daten zu Ihrer Seite handelt (oder worum es auf dieser Seite geht), können Sie das scriptElement headals Element in das headElement einfügen

[…] Stellt eine Sammlung von Metadaten für das Dokument dar

Aber natürlich wäre es nicht falsch, bodydies stattdessen zu verwenden. Es ist nur so, dass Sie es nicht headfür Daten verwenden sollten, die sich nicht auf Ihre Seite oder deren Darstellung beziehen.

unor
quelle
90

Die Daten können überall platziert werden. Aus der Google-Dokumentation :

Die Daten, die in den <script type="application/ld+json">... </script>-Tags enthalten sind, wie in den folgenden Beispielen gezeigt, können entweder im <HEAD>oder im <BODY>Bereich der Seite platziert werden, auf der dieses Ereignis angezeigt wird.

Sie können auch Daten verwenden, die mit AJAX dynamisch abgerufen werden :

Von Javascript eingefügtes JSON-LD-Markup, das beim ersten Laden der Seite ausgeführt wird, kann erkannt werden.

Update (wie von Antony in den Kommentaren angegeben)

Die neueste Dokumentation lautet:

[JSON-LD ist eine] JavaScript-Notation, die in ein Tag im Seitenkopf oder -körper eingebettet ist ... Google kann JSON-LD-Daten lesen, wenn sie dynamisch in den Inhalt der Seite eingefügt werden, z. B. durch JavaScript-Code oder eingebettete Widgets in Ihren Inhalten Management System.

Dheeraj Vepakomma
quelle
5
Die neue URL lautet developer.google.com/search/docs/guides/intro-structured-data . Es gibt eine Tabelle 2/3 ganz unten mit einer Spalte "Beschreibung und Platzierung"
Antony
-4

Wenn Sie sich für das Einfügen in das entscheiden <body>, müssen Sie dies folgendermaßen tun:

<p class="companyName" vocab="http://schema.org/" resource="#manu" typeof="Organization">
   <span property="name">ShopTech Media</span>
   <img property="logo" src="https://yoursite.com/logo.png" />
   <a property="url" href="http://www.yoursite.com">Home page</a>
</p>
<p typeof="contactPoint">
  <span property="contactType">Customer Service:</span>
<span property="telephone">+45-xxxxxxx</span>
</p>

Unten finden Sie den Skriptcode zum Einfügen Ihrer strukturierten Daten in das <head>Tag

<script type="application/ld+json"> 
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.shoptech.media",
  "logo": "https://shoptech.media/wp-content/uploads/2019/08/cropped-logo-sm.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+45-65711114",
    "contactType": "customer service"
  }]
}
</script>

Überprüfen Sie die Dokumentation unter der allgemeinen Richtlinie für strukturierte Daten

Richard Rosario
quelle
Können Sie Ihre Antwort mit einigen Quellen oder weiteren Informationen belegen? Andere Antworten sagen etwas anderes aus, und ich kann in dem von Ihnen angegebenen Link nichts finden.
Sebi