我正在尝试为我的页面进行正确的 JSON-LD 标记。我正在研究 NextJS(通过
dangerouslySetInnerHTML
注入 JSON-LD),所以我将原始字符串化 JSON 注入到渲染中。
假设我的页面希望首先被检测为组织(为了提高丰富的结果),我会这样:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Name",
"legalName": "Legal Name",
"url": "https://example.com",
... other properties
}
但我还想包含
"@type": "WebPage"
和 "@type": "WebSite"
节点来描述页面本身。
我应该如何进行?我是否必须分离主节点或仅包含 WebSite 和 WebPage 作为子类型?
我见过人们采用
@graph
方法来分离节点,但我想知道这是否是最好的解决方案。
@graph 对于没有被任何东西引用或从多个地方引用的实体来说是一个很好的方法。您可以将它们全部列出在一个 @graph 中,而不是为每个创建新脚本。
某些实体嵌入其他实体中更有意义,例如组织的地址。或者网页可以是网站的一部分 (isPartOf)。