Bre*_*ogt 8 html javascript json rich-snippets schema.org
我正在使用结构化数据进行面包屑跟踪.我正在参考这个文档:
https://developers.google.com/structured-data/breadcrumbs
我已经建立了一个面包屑列表.我还显示引用当前页面的最后一项,但这不是链接,只是纯文本.这就是我的HTML标记的样子:
<ol class="breadcrumb">
<li><a href="http://www.example.com/">Home</a></li>
<li><a href="http://www.example.com/brands">Brands</a></li>
<li class="active">My Brand</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
我选择用来JSON-LD标记我的面包屑痕迹.我不确定如何标记我的痕迹清单中的最后一项,看它不是链接?我应该把它留下吗?这就是我目前拥有的:
<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"
}
}]
}
</script>
Run Code Online (Sandbox Code Playgroud)
我需要像其他2项一样添加最后一项,还是需要保留?它只适用于有链接的项目吗?
uno*_*nor 11
当然,您可以简单地提供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>
Run Code Online (Sandbox Code Playgroud)
根据Schema.org,这是有效的JSON-LD和罚款.
但是,无论如何,我会添加最后一个/当前项的URL.在RDFa或Microdata的情况下,我会将link元素用于最后一个项目的URL(因此URL不能被人类访问者点击,但是机器人有更多数据),但是在JSON-LD的情况下,这个问题不相关首先,因为人类访问者通常不与之互动.
唯一可以想象的缺点是,如果HTML中的内容与JSON-LD中的内容不匹配(即,缺少最后一个项目的URL),则消费者会感到困惑.但我认为这个风险很低,因为应该众所周知,如何处理最后一个痕迹物品有不同的方法.
就文档而言,Schema.org只表示BreadcrumbList"通常以当前页面结束".
作为消费者的一个例子,谷歌的Breadcrumbs功能也是如此:
面包屑跟踪可以包括或省略其出现的页面的面包屑.
但他们没有说明最后一项没有网址的情况.