Kann ich Mikrodaten und JSON-LD auf derselben Seite für verschiedene Entitäten mischen?

9

Meine Website verwendet JSON-LD und Mikrodaten.

Zum Beispiel in BreadcrumbListhabe ich Microdata - Format und für andere (wie verwendet Organization, TouristAttraction) JSON-LD verwendet worden.

Kann ich Mikrodaten und JSON-LD auf derselben Seite für verschiedene Entitäten mischen oder sollte ich nur ein Format verwenden?

Mukesh Kumar
quelle

Antworten:

7

Es sollte in Ordnung sein, unterschiedliche Syntaxen auf derselben Seite zu verwenden.

Es hat jedoch einen Nachteil: Wenn Sie Entitäten verbinden möchten, die in verschiedenen Syntaxen angegeben sind, können Sie sie nicht verschachteln. Sie müssen stattdessen URIs verwenden. (Beachten Sie jedoch, dass nicht unbedingt alle Verbraucher der Daten solchen URI-Referenzen folgen.)

Beispiel für Verschachtelung und Referenzierung

Sie können a BreadcrumbListmit a WebPagemit der breadcrumbEigenschaft verbinden.

Wenn Sie nur eine Syntax verwenden, können Sie die Elemente einfach verschachteln:

<!-- Microdata only -->
<div itemscope itemtype="http://schema.org/WebPage">
  <div itemprop="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">
  </div>
</div>
<!-- JSON-LD only -->
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "breadcrumb": 
  {
    "@type": "BreadcrumbList"
  }
}
</script>

Wenn Sie jedoch Syntaxen mischen, müssen Sie stattdessen URIs angeben und referenzieren:

<!-- Microdata, giving the entitiy an URI with the 'itemid' attribute -->
<div itemscope itemtype="http://schema.org/BreadcrumbList" itemid="#page-breadcrumbs">
</div>

<!-- JSON-LD, referencing the URI "#page-breadcrumbs" which is specified in the Microdata -->
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "breadcrumb": 
  {
    "@type": "BreadcrumbList",
    "@id": "#page-breadcrumbs"
  }
}
</script>

Für die andere Richtung müssen Sie dem Element in JSON-LD einen URI in geben @idund innerhalb eines Beispiels mit diesem URI verknüpfen link. Siehe ein Beispiel.

Mehr Beispiele

Ich habe in dieser Antwort zum Stapelüberlauf auf mehrere Beispiele verwiesen, die JSON-LD zusammen mit Mikrodaten verwenden .

unor
quelle