当然,您只需为ListItem
最后一项提供,而省略@id
:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"item": {
"@id": "http://www.example.com/",
"name": "Home"
}
}, {
"@type": "ListItem",
"position": 2,
"item": {
"@id": "http://www.example.com/brands",
"name": "Brands"
}
}, {
"@type": "ListItem",
"position": 3,
"item": {
"name": "My Brand"
}
}]
}
</script>
这是有效的JSON-LD,根据Schema.org可以使用。
但是,无论如何,我都会添加上一个/当前项目的URL。如果是RDFa或Microdata,我会使用link
元素作为最后一项的URL(因此该URL对人类访问者而言不可单击,但是漫游器具有更多数据),但是对于JSON- LD,此问题不相关首先,因为人类访客通常不会与之互动。
唯一可以想象到的缺点是,如果HTML中的内容与JSON- LD中的内容不匹配(即缺少最后一项的URL),那么消费者就会感到困惑。但是我认为这种风险非常低,因为众所周知,处理最后一个面包屑项目有不同的方法。
就文档而言,Schema.org只说BreadcrumbList
“通常以当前页面结尾”。
并以消费者为例,Google对面包屑功能也说了同样的话:
但是他们没有说最后一个项目没有URL的情况。