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 BreadcrumbList
với a WebPage
với breadcrumb
tà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 @id
và liên kết với URI này trong ví dụ: một link
phầ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 .