Schema.org - JSON-LD - จะวางที่ไหน?


97

ฉันต้องการใช้ JSON-LD สำหรับสคีมาบนเว็บไซต์ (สคีมาหมายถึงข้อมูล schema.org) ฉันรู้วิธีเขียนข้อมูล แต่คำถามของฉันคือมีตำแหน่งที่ต้องการในรหัสของฉันเพื่อแทรกข้อมูลนี้หรือไม่ ในคำอื่น ๆ ควร JSON-LD มักจะอยู่ในhead, bodyฯลฯ ?

คำตอบ:


69

จากมุมมองของ Schema.org, JSON-LD และ RDF ที่แยกออกมาอาจไม่สำคัญ ข้อมูลจะเหมือนกันไม่ว่าจะดึงข้อมูลมาจากที่ใดในเอกสาร

จากมุมมองของ HTML5:

หากเป็นข้อมูลเกี่ยวกับเพจของคุณ (หรือเพจนี้เกี่ยวกับอะไร) คุณสามารถวางscriptองค์ประกอบในheadนั้นเป็นheadองค์ประกอบได้

[…] แสดงถึงชุดข้อมูลเมตาสำหรับเอกสาร

แต่แน่นอนว่าคงไม่ผิดหากจะใช้bodyแทนสิ่งนี้ เพียงแค่คุณไม่ควรใช้headสำหรับข้อมูลที่ไม่เกี่ยวกับเพจของคุณหรือสิ่งที่แสดงถึง


96

ข้อมูลสามารถวางได้ทุกที่ จากเอกสารของ Google :

ข้อมูลที่อยู่ในแท็ก<script type="application/ld+json">... </script>ตามที่แสดงในตัวอย่างด้านล่างอาจถูกวางไว้ในพื้นที่<HEAD>หรือ<BODY>ภูมิภาคของเพจที่แสดงเหตุการณ์

คุณยังสามารถใช้ข้อมูลที่ดึงแบบไดนามิกโดยใช้ AJAX :

มาร์กอัป JSON-LD ที่แทรกโดย Javascript ที่ทำงานเมื่อโหลดหน้าเริ่มต้นสามารถรับรู้ได้

อัปเดต (ตามที่Antonyชี้ในความคิดเห็น)

เอกสารล่าสุดบอกว่า:

[JSON-LD คือ] สัญกรณ์ JavaScript ที่ฝังอยู่ในแท็กในส่วนหัวหรือเนื้อหาของหน้า ... Google สามารถอ่านข้อมูล JSON-LD เมื่อมีการแทรกข้อมูลลงในเนื้อหาของหน้าแบบไดนามิกเช่นโดยโค้ด JavaScript หรือวิดเจ็ตที่ฝังไว้ในเนื้อหาของคุณ ระบบการจัดการ.


5
URL ใหม่เป็นdevelopers.google.com/search/docs/guides/intro-structured-data มีตาราง 2/3 ทางลงโดยมีคอลัมน์ "Description and Placement"
Antony

-3

หากคุณเลือกที่จะแทรกเข้าไป<body>คุณจะต้องทำดังนี้:

<p class="companyName" vocab="http://schema.org/" resource="#manu" typeof="Organization">
   <span property="name">ShopTech Media</span>
   <img property="logo" src="https://yoursite.com/logo.png" />
   <a property="url" href="http://www.yoursite.com">Home page</a>
</p>
<p typeof="contactPoint">
  <span property="contactType">Customer Service:</span>
<span property="telephone">+45-xxxxxxx</span>
</p>

ด้านล่างนี้คือโค้ดสคริปต์สำหรับแทรกข้อมูลที่มีโครงสร้างของคุณใน<head>แท็ก

<script type="application/ld+json"> 
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.shoptech.media",
  "logo": "https://shoptech.media/wp-content/uploads/2019/08/cropped-logo-sm.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+45-65711114",
    "contactType": "customer service"
  }]
}
</script>

ตรวจสอบเอกสารที่แนวทางข้อมูลที่มีโครงสร้างทั่วไป


คุณสามารถสำรองคำตอบของคุณด้วยแหล่งที่มาหรือข้อมูลเพิ่มเติมได้หรือไม่? คำตอบอื่น ๆ บอกว่ามีบางอย่างที่แตกต่างออกไปและฉันไม่พบสิ่งใดในลิงก์ที่คุณให้
Sebi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.