为什么Google测试工具会使用" id"属性以生成微数据项的URL?

时间:2015-04-07 12:22:57

标签: schema.org microdata google-rich-snippets structured-data

我正在使用一些Microdata来描述博客文章,我对Google开发人员测试工具对Schema.org BlogPosting的价值回报感到惊讶。

我原本期望它是itemprop url,而不是网站网址和项目id的合并。
我做错了什么,还是仅仅是Google展示问题?

<div itemscope="itemscope"
     itemprop="blogPost"
     itemtype="http://schema.org/BlogPosting"
     id="foobar">
  <a itemprop="url" href="/realone">real</a>
</div>

https://developers.google.com/structured-data/testing-tool/返回的值:

  BlogPosting:    http://www.example.com/foobar
  url:            http://www.example.com/realone

1 个答案:

答案 0 :(得分:2)

这很奇怪。

这绝对不符合Microdata Note。除了Microdata的itemref属性,HTML5的id属性在微数据中没有特殊含义。

如果Google想要使用id值,他们至少应该生成带有片段标识符的网址,即http://www.example.com/#foobar

我的猜测是,他们(可能是无意中)处理HTML5的id属性的方式与Microdata的itemid属性相同。如果在您的示例中使用itemid而不是id,Google的测试工具输出是相同的,但这次是正确的。