我很好奇将 JSON-LD 应用到 schema.org 站点的最佳实践。
如果我有一个带有 Article
的页面,并且我还想在我的页面上定义 WebSite
,我会有这个:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "http://www.example.com/",
"potentialAction": {
"@type": "SearchAction",
"target": "http://www.example.com/search?&q={query}",
"query-input": "required"
}
}
</script>
<!- … -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Article",
"author": "John Doe",
"interactionCount": [
"UserTweets:1203",
"UserComments:78"
],
"name": "How to Tie a Reef Knot"
}
</script>
这是对还是错?将它们合并到同一个脚本或项目数组中是否有任何好处或需要?
原文由 Stu Furlong 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是有效的。您可以根据需要拥有任意数量的数据块(=
script
元素)。仅使用一个
script
元素的可能好处:它允许使多个项目之间的关系更容易(例如,如果您决定使用hasPart
或mainEntity
)因为您只需要嵌套这些项目。但是,通过使用
@id
引用项目的 URI,使用单独的数据块当然也可以建立这些关系( 谢谢,@ Gregg Kellogg )。(作为参考, 在单个
script
中添加两个或多个顶级项目 可以使用@graph
。)