Đâu là nơi lý tưởng trong mã để sử dụng đánh dấu Schema.org làm JSON-LD?


9

Đâu là nơi tốt nhất để đặt đánh dấu Schema.org sử dụng JSON-LD? Một số đề nghị bên trong <head>nhưng kịch bản làm việc nội tuyến quá. Sẽ dễ dàng hơn trong một MVC để đặt chúng trong cùng phạm vi với các bộ điều khiển, vì vậy điều đó có nghĩa là nội tuyến gần phần tử của chúng. Nhưng JSON-LD có thể "hoạt động tốt hơn" như một tập lệnh / ngăn xếp khổng lồ trong <head>. Tôi chỉ không chắc chắn về vị trí lý tưởng mà tôi cho là.

Ví dụ sẽ là mẩu vụn bánh mì - tôi có nên đặt tập lệnh JSON-LD trước khi đánh dấu cho mẩu vụn hay tôi phải trải qua tất cả các rắc rối khi tải lên các mô hình (một lần nữa) để xác định chúng trong khu vực tạo ra <head>? Có vẻ như nó sẽ là một hit hiệu suất, nhưng nếu nó xứng đáng với thông số kỹ thuật, thì nó cần phải được thực hiện.

Đây là một ví dụ về Tổ chức trong JSON-LD (điều này sẽ có trong <head>đó):

<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "Organization",
"name" : "A Huge Corporation",
"url" : "http://www.example.com",
"logo" : "http://www.example.com/huge-corporation.png",
"founder" : "Humanz",
"foundingDate" : "1268",
"sameAs" : "http://plus.google.com/111111111111111111111",
"contactPoint" : {
    "@type" : "ContactPoint",
    "contactType" : "Customer Service",
    "telephone" : "+1-888-888-8888",
    "faxNumber" : "+1-777-777-7777",
    "contactOption" : "TollFree",
    "areaServed" : "US",
    "availableLanguage" : "English",
    "email" : "dude@example.com"
},
"hasPos" : {
    "@type" : "Place",
    "name" : "The Branch or Store",
    "photo" : "http://www.example.com/store.png",
    "hasMap" : {
        "@type" : "Map",
        "url" : "https://maps.google.com/maps?q=feed_me_a_map"
    },
    "address" : {
        "@type" : "PostalAddress",
        "name" : "The Branch or Store",
        "streetAddress" : "1547 Main Street",
        "addressLocality" : "Beverly Hills",
        "addressRegion" : "CA",
        "postalCode" : "90210",
        "addressCountry" : "United States"
    }
}}
</script>

Và đây là đoạn trích mẩu bánh mì (hiện đang nằm trong một phạm vi khác, nằm sâu hơn trang gần các mẩu vụn được hiển thị trực quan). Sẽ rất tốt nếu có được điều này trong đầu, nếu công việc đó xứng đáng:

<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "Breadcrumblist",
"itemListElement" : [
    {
    "@type" : "ListItem",
    "position" : 1,
    "item" : {
        "@id" : "http:www.example.com",
        "name" : "Home"
        }
    },
    {
    "@type" : "ListItem",
    "position" : 2,
    "item" : {
        "@id" : "http:www.example.com/widgets",
        "name" : "Widgets"
        }
    },
    {
    "@type" : "ListItem",
    "position" : 3,
    "item" : {
        "@id" : "http:www.example.com/widgets/green",
        "name" : "Green Widgets"
        }
    }
]}
</script>

Câu trả lời:


8

JSON-LD không quan tâm . Điều này có ý nghĩa, bởi vì dữ liệu là như nhau, bất kể từ đâu trong tài liệu được trích xuất.

Từ quan điểm của HTML, bạn chỉ nên đưa nó vào trong headnếu JSON-LD nói về trang web của bạn hoặc về những gì trang web của bạn thể hiện, bởi vì headphần tử được xác định để chứa siêu dữ liệu cho tài liệu . Nhưng không phải lúc nào cũng dễ dàng xác định nếu một cái gì đó được tính là siêu dữ liệu hay không; Tôi sẽ không lo lắng quá nhiều về điều này.


Có ý nghĩa về <head> think - sẽ kết thúc việc rời khỏi tổ chức ở đó .... tôi nghĩ rằng nó được tính là "meta" đủ theo nghĩa của nó trên mỗi trang và cung cấp một "thẻ" nhận dạng mỗi lần nói.
dhaupin

và trong head, không phải là một đoạn mã nữa chặn kết xuất trang? Tôi đã tự hỏi rằng trước khi </body>có thể tốt hơn vì điều đó
João Pimentel Ferreira

1
@ JoãoPimentelFerreira: Tôi hy vọng rằng nó không chặn, bởi vì đó là khối dữ liệu, không phải là tập lệnh (cả hai đều sử dụng scriptphần tử, nhưng chúng là các trường hợp khác nhau về mặt kỹ thuật). Trình duyệt hoàn toàn có thể bỏ qua bất kỳ khối dữ liệu. Nhưng tôi không biết trình duyệt thực sự làm gì.
unor
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.