รหัสสถานที่ที่เหมาะในการใช้มาร์กอัป Schema.org เป็น JSON-LD อยู่ที่ไหน


9

ที่ไหนดีที่สุดในการวางมาร์กอัป Schema.org ที่ใช้ JSON-LD บางคนแนะนำภายใน<head>แต่สคริปต์ทำงานแบบอินไลน์เช่นกัน มันจะง่ายกว่าใน MVC ที่จะวางไว้ในขอบเขตเดียวกับคอนโทรลเลอร์ดังนั้นนั่นหมายถึงอินไลน์ใกล้กับองค์ประกอบ แต่ JSON-LD อาจจะ "ทำงานดีกว่า" เป็นสคริปต์ขนาดใหญ่หนึ่ง / <head>สแต็คใน ฉันไม่แน่ใจในทำเลที่ดีที่ฉันคิด

ตัวอย่างจะเป็น breadcrumbs - ฉันควรใส่สคริปต์ JSON-LD หน้ามาร์กอัพสำหรับ crumbs หรือฉันควรจะผ่านปัญหาทั้งหมดของการโหลดแบบจำลอง (อีกครั้ง) เพื่อกำหนดไว้ในพื้นที่ที่สร้าง<head>? ดูเหมือนว่ามันจะเป็นผลงานการแสดง แต่ถ้ามันคุ้มค่ากับสเป็คแล้วก็ต้องทำ

นี่คือตัวอย่างขององค์กรใน JSON-LD (ซึ่งจะมี<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>

และนี่คือส่วนย่อยของเกล็ดขนมปัง (ปัจจุบันอยู่ในขอบเขตอื่นไกลลงไปที่หน้าใกล้กับเศษที่แสดงผลทางสายตา) จะดีที่ได้รับนี้ในหัวถ้างานมีค่า:

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

คำตอบ:


8

JSON-LD ไม่ได้ดูแล ซึ่งมีเหตุผลเพราะข้อมูลเหมือนกันไม่ว่าจะดึงข้อมูลจากที่ใดในเอกสาร

จากมุมมองของ HTML คุณควรรวมไว้ในheadถ้า JSON-LD เป็นเรื่องเกี่ยวกับหน้าเว็บของคุณหรือเกี่ยวกับสิ่งที่หน้าเว็บของคุณหมายถึงเพราะheadองค์ประกอบที่กำหนดไว้เพื่อให้มีข้อมูลเมตาสำหรับเอกสาร แต่มันไม่ง่ายเลยที่จะกำหนดว่าบางสิ่งจะนับเป็นข้อมูลเมตาหรือไม่ ฉันจะไม่กังวลมากเกินไปเกี่ยวกับเรื่องนี้


ทำให้รู้สึกเกี่ยวกับ <head> คิดว่า - จะจบลงด้วยการออกจากองค์กรที่นั่น .... ฉันคิดว่ามันนับว่า "เมตา" เพียงพอในความหมายของมันในทุก ๆ หน้าและให้แท็ก "ระบุ" ต่อการพูด
dhaupin

และในรหัสheadไม่ได้เป็นส่วนต่อไปของการปิดกั้นการแสดงผลหน้า? ฉันสงสัยว่าก่อนที่</body>จะทำได้ดีกว่านั้น
João Pimentel Ferreira

1
@ JoãoPimentelFerreira: ฉันคาดหวังว่ามันจะไม่ปิดกั้นเพราะมันเป็นบล็อกข้อมูลไม่ใช่สคริปต์ (ทั้งคู่ใช้scriptองค์ประกอบ แต่เป็นกรณีที่แตกต่างกันทางเทคนิค) เบราว์เซอร์อาจเพิกเฉยต่อบล็อกข้อมูลใด ๆ แต่ฉันไม่รู้ว่าจริงๆแล้วเบราว์เซอร์ทำอะไร
Unor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.