为什么 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 的测试工具输出是相同的,但这次是正确的。
我正在使用一些微数据来描述博客 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 的测试工具输出是相同的,但这次是正确的。