Posso mescolare Microdata e JSON-LD sulla stessa pagina per entità diverse


9

Il mio sito Web utilizza JSON-LD e Microdata.

Ad esempio, in BreadcrumbList, ho usato il formato Microdata e per altri (come Organization, TouristAttraction) è stato usato JSON-LD.

Posso mescolare Microdata e JSON-LD sulla stessa pagina per entità diverse o devo utilizzare un solo formato?


Risposte:


7

Dovrebbe andare bene usare sintassi diverse nella stessa pagina.

Ha uno svantaggio, tuttavia: se si desidera connettere entità specificate in sintassi diverse, non è possibile nidificarle. Devi invece usare gli URI. (Si noti che non necessariamente tutti i consumatori di dati seguono tali riferimenti URI.)

Esempio che mostra annidamento vs. riferimento

Puoi connetterti BreadcrumbLista a WebPagecon la breadcrumbproprietà.

Quando si utilizza solo una sintassi, è possibile semplicemente nidificare gli elementi:

<!-- 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>

Ma se mescoli le sintassi, devi invece specificare e fare riferimento agli URI:

<!-- 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>

Per l'altra direzione, è necessario assegnare a un URI in JSON-LD un URI @ide collegarsi a questo URI all'interno di un linkelemento, ad esempio . Vedi un esempio

Più esempi

Ho collegato a più esempi che usano JSON-LD insieme ai microdati in questa risposta su Stack Overflow .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.