首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在网页中放置多个JSON-LD对象的位置?

在网页中放置多个JSON-LD对象的位置?
EN

Stack Overflow用户
提问于 2018-04-07 22:25:41
回答 2查看 2.7K关注 0票数 3

我的网页

我正在为一个会议建立一个网页。该页面包含多个对象,如speaker (人物)或session (事件)。

我的问题

我想在页面中添加语义数据,这样搜索引擎和社交网络就可以很容易地理解其内容。我想把这一页描述为一个整体,以及它的一部分--就像一个单独的会话。

我的问题

如何以标准方式标记整个页面和内部对象?我可以在同一个页面中使用多个JSON-LD,还是应该对整个页面使用JSON,对内部对象使用其他标记?

在评论之后作出澄清

感谢您指出了JSON-LD Schema.org:多个视频/图像页面的答案。但是,我不知道应该将不同的JSON对象放在哪里,以便每个对象都引用文档的一个特定部分。应该使用div ids链接它们吗?应该将<script>放在相关的div中吗?

EN

回答 2

Stack Overflow用户

发布于 2018-04-07 22:39:30

如果您愿意,可以按照Google的指南在页面中包含多个结构化数据元素:

判断它是否能够解析您期望的JSON对象和属性的最好方法是使用它们的Structured Data Testing Tool

票数 2
EN

Stack Overflow用户

发布于 2018-04-09 00:27:58

我不知道应该将不同的JSON对象放在哪里,以便每个对象都引用文档的一个特定部分。

使用JSON,结构化数据不会“耦合”到HTML。(这在语法Microdata和RDFa中是可能的,但是即使在那里,在提取结构化数据之后,也不再需要在哪些HTML元素上指定它。)

如果您有一个关于两个人的页面,您只需提供一个WebPage和两个Person对象。为了能够从其他地方对这些对象进行声明,这是给他们乌里斯的一个很好的实践,可以指定@id。对于WebPage,URI通常是页面的规范URL。

代码语言:javascript
运行
复制
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "@id": "",
  "about": [
    {
      "@type": "Person",
      "@id": "#person-1"
    },
    {
      "@type": "Person",
      "@id": "#person-2"
    }
  ]
}
</script>

理论上,可以有一个属性允许您引用描述实体的HTML元素。Schema.org当前具有类似于挂起的属性,用于(待决)(待决) (使用CSS选择器引用元素)、(待决) (使用XPath引用元素)。但它们不能用于其他情况(如目前所定义的)。所以你必须为此定义你自己的财产。

应该使用div ids链接它们吗?

可以在对象的id属性中提供url值。不过,它并没有将HTML“链接”到结构化数据。它只是传达:您可以通过以下URL找到该节点对象所描述的实体的信息。

通常每个实体都有自己的页面,当然,在同一个页面上描述多个实体是非常好的。

从上面扩展该示例:

代码语言:javascript
运行
复制
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "@id": "",
  "about": [
    {
      "@type": "Person",
      "@id": "#person-1",
      "url": "#about-person-1"
    },
    {
      "@type": "Person",
      "@id": "#person-2",
      "url": "#about-person-2"
    }
  ]
}
</script>

应该将<script>放在相关的div中吗?

对于结构化数据,它在没什么区别文档中放置script元素。

您可以将所有对象放置在一个script元素中(如上面的示例所示),也可以使用多个script元素,但是应该引用它们的@id值,以便仍然可以使用像about这样的属性(例如,在上面链接的答案中)。在语义上没有区别。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49712559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档