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

Why does Google Testing Tool use the "id" attribute to generate a URL for the Microdata item?

我正在使用一些微数据来描述博客 post,我对 Schema.org 的 BlogPosting 的 return 的价值感到惊讶 Google 开发者测试工具。

我原以为它是项目道具 url,而不是网站 URL 和项目 id.
的合并 我做错了什么,还是只是 Google 显示问题?

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

值 return编辑者 https://developers.google.com/structured-data/testing-tool/:

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

这很奇怪。

肯定不符合Microdata Note。除了Microdata的itemref属性,HTML5的id属性在Microdata中没有特殊意义。

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

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