一尘不染

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

json

我在面包屑跟踪中使用结构化数据。我指的是此文档:

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>

我已选择使用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>

我是否需要像添加其他两个项目一样添加最后一个项目,还是需要保留它?它仅用于具有链接的项目吗?


阅读 438

收藏
2020-07-27

共1个答案

一尘不染

当然,您只需为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的情况。

2020-07-27