使用itemid实际上非常相似,甚至可能比itemref涉及更少的新代码。由于当您想要引用另一个完整实体时使用itemid ,因此这可能是页面上已有的实体。如果是这种情况,您只需添加一点标记就可以了。
在下图中,我们想要做的是使用辅助实体来填充主要实体的 itemprop 。
屏幕截图 2016-06-29 2.52.34 PM.png
使用我们的博客文章示例,假设我们想要引用一个Organization实体来填充BlogPosting实体的发布者 itemprop。
屏幕截图 2016-06-29 2.52.41 PM.png
我们是这样做的:
第 1 步:像平常一样标记次要实体。如果您的页面上已经有该实体并且已完全标记,那么您的工作量就更少了!
步骤 2:在该实体的起始itemscope/itemtype声明中,添加itemid属性并为该辅助实体提供唯一的片段标识符。
它应该看起来像这样:
<div itemid=”#mozOrg” itemscope itemtype=”http://schema.org/organization” >…</div>
现在我们让奇迹发生!
步骤 3:在主要实体中,在要调用次要实体的任意位置添加 <link> 标记,并指定您希望次要实体填充的itemprop 。使用简单的href属性指向步骤 2 中的片段标识符。
它应该看起来像这样:
<div itemscope itemtype=”http://schema.org/blogPosting”>
<link itemprop=”publisher” href=”#mozOrg”/>
</div>
奖励:您也可以从多个其他实体引用此辅助实体 哈萨克斯坦手机号码列表 并填充多个itemprops!如果这篇文章是 moz.com 上的公司公告,并且 Moz 既是发布者又是作者,那么这两个属性都可以引用 #mozOrg。
就是这样!现在,无论这两个实体位于 DOM 中的哪个位置(即,在页面的源代码中),它们都将链接在一起并可以创建一些很棒的东西。
“综合你们的力量,我是一篇很棒的博客文章!”
屏幕截图 2016-06-29 下午 3.11.39.png
将 itemid 的功能扩展到 JSON-LD
我听到一些读者问:“微数据的时代已经 B2B传真线索 结束了!现在 Google 将支持 JSON-LD 的一切,谁在乎呢?”
首先,Google 并不是唯一的游戏,他们还不支持所有 Schema.org 类型的 JSON-LD(但说实话,我认为他们很快就会支持)。也就是说,我仍然认为继续实现不太进化的爬虫可以使用的结构化数据是一个很好的做法。
其次,尽管 itemref 不能在 JSON-LD 数据模型中使用,但 itemid 绝对可以,尽管在 JSON-LD 中该属性称为@id!男孩,它有用吗?
让我们谈谈为什么要使用它,然后我们将讨论如何使用。
为什么 @id 非常适合 JSON-LD