Tôi có thể trộn Microdata và JSON-LD trên cùng một trang cho các thực thể khác nhau không


9

Trang web của tôi đang sử dụng JSON-LD và Microdata.

Ví dụ: trong BreadcrumbList, tôi đã sử dụng định dạng Microdata và cho những người khác (như Organization, TouristAttraction) JSON-LD đã được sử dụng.

Tôi có thể kết hợp Microdata và JSON-LD trên cùng một trang cho các thực thể khác nhau hay tôi chỉ nên đi với một định dạng?


Câu trả lời:


7

Sẽ tốt hơn nếu sử dụng các cú pháp khác nhau trên cùng một trang.

Tuy nhiên, nó có một nhược điểm: Nếu bạn muốn kết nối các thực thể được chỉ định theo các cú pháp khác nhau, bạn không thể lồng chúng. Bạn phải sử dụng URI thay thế. (Nhưng lưu ý rằng không nhất thiết tất cả người tiêu dùng dữ liệu tuân theo các tham chiếu URI như vậy.)

Ví dụ hiển thị lồng so với tham chiếu

Bạn có thể kết nối a BreadcrumbListvới a WebPagevới breadcrumbtài sản.

Khi chỉ sử dụng một cú pháp, bạn chỉ cần lồng các mục:

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

Nhưng nếu bạn trộn các cú pháp, bạn phải chỉ định và tham chiếu các URI thay thế:

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

Đối với hướng khác, bạn cần cung cấp cho mục trong JSON-LD một URI @idvà liên kết với URI này trong ví dụ: một linkphần tử. Xem một ví dụ.

Thêm ví dụ

Tôi đã liên kết với nhiều ví dụ sử dụng JSON-LD cùng với Microdata trong câu trả lời này trên Stack Overflow .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.