Posso misturar Microdata e JSON-LD na mesma página para diferentes entidades


9

Meu site está usando JSON-LD e Microdata.

Por exemplo, em BreadcrumbList, usei o formato Microdata e, para outros (como Organization, TouristAttraction) , o JSON-LD foi usado.

Posso misturar Microdata e JSON-LD na mesma página para diferentes entidades ou devo usar apenas um formato?


Respostas:


7

Deve ser bom usar diferentes sintaxes na mesma página.

Porém, ele tem uma desvantagem: se você deseja conectar entidades especificadas em diferentes sintaxes, não pode aninhar nelas. Você precisa usar URIs. (Mas observe que nem todos os consumidores dos dados seguem essas referências de URI).

Exemplo mostrando aninhamento x referência

Você pode conectar um BreadcrumbLista um WebPagecom a breadcrumbpropriedade

Ao usar apenas uma sintaxe, você pode simplesmente aninhar os itens:

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

Mas se você combinar sintaxes, precisará especificar e fazer referência a URIs:

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

Para a outra direção, é necessário atribuir ao item em JSON-LD um URI @ide vincular a esse URI em, por exemplo, um linkelemento. Veja um exemplo.

Mais exemplos

Vinculei a vários exemplos que usam JSON-LD junto com Microdata nesta resposta no Stack Overflow .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.