如何使用JSON-LD标记breadcrumbs列表中的最后一个非链接项

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功能也是如此:

面包屑跟踪可以包括或省略其出现的页面的面包屑.

但他们没有说明最后一项没有网址的情况.

  • 自 2019 年 9 月 19 日起,该规定不再有效。最后一个 ListItem 的_item_ 部分不完整。https://twitter.com/googlewmc/status/1174693878835875840 (2认同)