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

use*_*069 6 structured-data microdata schema.org google-rich-snippets

我正在使用一些Microdata来描述一篇博文,我BlogPosting对Google Developers Testing Tool 对Schema.org的价值回报感到惊讶.

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

<div itemscope="itemscope"
     itemprop="blogPost"
     itemtype="http://schema.org/BlogPosting"
     id="foobar">
  <a itemprop="url" href="/realone">real</a>
</div>
Run Code Online (Sandbox Code Playgroud)

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

  BlogPosting:    http://www.example.com/foobar
  url:            http://www.example.com/realone
Run Code Online (Sandbox Code Playgroud)

uno*_*nor 3

这很奇怪。

\n\n

它\xe2\x80\x99s绝对不符合Microdata Note。除了 Microdata\xe2\x80\x99sitemref属性之外,HTML5\xe2\x80\x99sid属性在 Microdata 中没有特殊含义。

\n\n

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

\n\n

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

\n