问题描述
在创建节点引用以避免重复做同样的事情时,我是否需要只指定@id 或同时指定@id 和@type?
例如,对于品牌描述,如果主页上使用的 JSON-LD 是:
"brand": {
"@type": "Brand","@id": "https://example.com/#brand","name": "Brand Name","description": "Brand description"
"url": "https://example.com/","sameAs": ["link1","link2","link3"]
}
那么以下哪项是在产品页面上引用品牌的正确方式?
选项 1:
"brand": {
"@type": "Brand","@id": "https://example.com/#brand"
}
选项 2:
"brand": {
"@id": "https://example.com/#brand"
}
选项 3:
"brand": "https://example.com/#brand"
解决方法
您只需要指定@id,其他参数就会合并到一个实体中。
如果我引用不同页面上的实体,我通常会添加一些额外的参数。例如@类型,名称,网址。这有助于消费者在不抓取备用页面的情况下了解一些有关被引用实体的信息。它可以阻止测试工具抱怨。
在您的示例中,我至少会执行选项 1,并且可能还会添加 url。