Puis-je mélanger des microdonnées et JSON-LD sur la même page pour une entité différente


9

Mon site Web utilise JSON-LD et des microdonnées.

Par exemple, dans BreadcrumbList, j'ai utilisé le format de microdonnées, et pour d'autres (comme Organization, TouristAttraction) JSON-LD a été utilisé.

Puis-je mélanger les microdonnées et JSON-LD sur la même page pour différentes entités ou dois-je choisir un seul format?


Réponses:


7

Il devrait être judicieux d'utiliser différentes syntaxes sur la même page.

Il présente cependant un inconvénient: si vous souhaitez connecter des entités spécifiées dans différentes syntaxes, vous ne pouvez pas les imbriquer. Vous devez utiliser des URI à la place. (Mais notez que tous les consommateurs des données ne suivent pas nécessairement ces références d'URI.)

Exemple montrant l'imbrication et le référencement

Vous pouvez connecter un BreadcrumbListà un WebPageavec la breadcrumbpropriété.

Lorsque vous utilisez une seule syntaxe, vous pouvez simplement imbriquer les éléments:

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

Mais si vous mélangez des syntaxes, vous devez spécifier et référencer des URI à la place:

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

Pour l'autre sens, vous devez donner à l'élément dans JSON-LD un URI @idet le lier à cet URI dans, par exemple, un linkélément. Voir un exemple.

Plus d'exemples

J'ai lié à plusieurs exemples qui utilisent JSON-LD avec des microdonnées dans cette réponse sur Stack Overflow .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.