Schema.org-JSON-LD-放置在哪里?


94

我正在寻找将JSON-LD用于网站上的架构。(模式表示schema.org数据。)我知道如何编写数据,但是我的问题是代码中是否存在插入此数据的首选位置?换句话说,如果JSON-LD总是在headbody等?

Answers:


67

从Schema.org,JSON-LD和可能提取的RDF的角度来看,这无关紧要。无论从文档中的何处提取数据,数据都是相同的。

从HTML5的角度来看:

如果是有关您的网页(或该网页的内容)的数据,则可以将script元素放在中head作为head元素

[…]代表文档的元数据集合

但是,当然,使用body它代替并没有错。只是您不应该使用head与您的页面或页面无关的数据。


90

数据可以放置在任何地方。根据Google的文档

如下例所示,包含在<script type="application/ld+json">... </script>标记内的数据可以放在显示该事件的页面<HEAD><BODY>区域中。

您还可以使用通过AJAX动态获取的数据

可以识别在初始页面加载时运行的Javascript插入的JSON-LD标记。

更新(由安东尼在评论中指出)

最新的文件说:

[JSON-LD是]嵌入在页面标题或正文中的标记中的JavaScript表示法... Google将JSON-LD数据动态注入页面内容时(例如,通过JavaScript代码或内容中的嵌入式小部件)可以读取JSON-LD数据管理系统。


5
新的网址是developers.google.com/search/docs/guides/intro-structured-data。表格2/3向下,带有“说明和放置”列
安东尼

-4

如果您选择插入,则<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>

查看一般结构化数据指南中的文档


您是否可以使用某些来源或更多信息来备份您的答案?其他答案则有所不同,我在您提供的链接中找不到任何内容。
塞比
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.