多个 JSON-LD Schema.org 标签可以代表同一个'对象”吗?
P粉289775043
P粉289775043 2024-03-30 11:58:39
0
1
524

我有一个网站,客户端请求 JSON-LD(不是微数据)schema.org 标签。他们想要的其中一个是每个页面上都有一个基本的“WebPage”标签,其中包含有关每个页面上的内容的一些信息。另一个是“FAQPage”,仅添加在特定的 FAQ 页面上。两者都将作为内联脚本标记直接添加到页面上。

FAQPage继承自WebPage,因此包含了WebPage的所有属性。

如果我只是让页脚代码生成“WebPage”标签,而 FAQ 组件生成“FAQPage”标签,则两者最终都会作为单独的 JSON-LD 脚本标签出现在页面上 - 我相信这会被解释为两个独立的“网页” - 不是我们正在寻找的。

是否可以标记架构标签,以便两个 JSON-LD 标签代表彼此的“扩展”?由于 FAQPage 继承了 WebPage,我希望有一种方法可以设置一个标识符,以显示两者是正在记录的同一页面。

(是的,我可以使用后端的逻辑将有关 FAQPage 的信息“传递”到页脚,并让页脚组件动态输出 FAQPage 或 WebPage,但这不是我在这里要寻找的。)

P粉289775043
P粉289775043

全部回复(1)
P粉207969787

@id 关键字 可以用于此。它为节点对象提供一个 IRI 形式的标识符(或空白节点标识符)。

具有相同@id值的节点对象是同一事物,无论这些事物的类型是否具有继承关系。

这些 IRI 不必解析为 Web 上的文档。如果他们这样做,您应该确保区分事物和有关该事物的文档。

但是,在您的具体情况下,该事物和有关该事物的文档实际上表示相同。因此,您可以使用页面的规范 IRI 作为 @id



sssccc

sssccc

如果对象表示相同的事物,但具有不同的 @id 值,您可以使用属性 owl:sameAs。但只支持 Schema.org 的消费者不会认识到这一点。 (Schema.org 也有一个 sameAs 属性,但它有不同的含义。 )

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!