在网络上的所有示例中,我都看到微数据属性itemscope
和itemtype
已应用于div
元素,如下所示:
<div itemscope itemtype ="http://schema.org/Movie">
<h1 itemprop="name">Avatar</h1>
<span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span>
<span itemprop="genre">Science fiction</span>
<a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div>
但是Microdata可以应用于任何其他元素,在我的情况下我想将它应用于列表项:
<ul>
<li itemscope itemtype ="http://schema.org/Movie">
<h1 itemprop="name">Avatar</h1>
<span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span>
<span itemprop="genre">Science fiction</span>
<a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</li>
</ul>
这有什么已知的问题吗?
答案 0 :(得分:8)
Microdata为HTML5定义了5个新属性:
itemid
itemprop
itemref
itemscope
itemtype
让我们看看它们可以在哪里使用。 Section 5.2说:
每个HTML元素都可以指定
itemscope
属性。
所以每个元素都可以有itemscope
。进一步说:
具有
itemscope
属性的元素可能指定了itemtype
属性
所以如果它有itemscope
(并且我们知道每个元素都可以拥有它),它也可以有itemtype
。下一个:
具有
itemscope
属性和itemtype
属性[...]的元素也可能指定了itemid
属性
如果它有itemscope
和itemtype
,它也可以有itemid
。和
具有
itemscope
属性的元素可能指定了itemref
属性
如果有itemscope
,则可以itemref
。
现在只缺少itemprop
。它在Section 5.3中定义:
每个HTML元素都可能指定了
itemprop
属性
所以itemprop
也可用于每个元素。
(注意Microdata(W3C Note)refers to the HTML5 spec for defining what a "HTML element" is,所以基本上“HTML元素”的意思是“HTML5元素”。)
itemprop
时)例如:
href
成为a
和area
data
成为iframe
name
http-equiv
,charset
和meta
属性
itemprop
时)请参阅5.4 Values。
例如:
Special rules for links。此处foobar
的值是网址http://example.com/
,而不是字符串Link
:
<a href="http://example.com/" itemprop="foobar">Link</a>
此处foobar
的值为5
,而不是10
:
<data value="5" itemprop="foobar">10</data>
如果谷歌或其他搜索引擎服务支持它无法得到明确答复,因为在涉及隐藏其代码的第三方服务时,无法肯定地回答。即使他们(似乎)今天支持它,我们也不知道明天会发生什么。所以这些问题通常不适合Stack Overflow。
但是,没有理由认为搜索引擎不支持它。
答案 1 :(得分:4)
简单地说,“是”。请亲自查看Google页面,看看他们是否在不同的代码中使用它:https://support.google.com/webmasters/answer/176035?hl=en
答案 2 :(得分:1)
加入Jeremy Miller的回答:
Microdata基本上形成了对象。在有效的HTML中,具有itemscope
属性的元素包含与其关联的所有微数据。此外,具有itemprop
的每个元素的范围足以包含该属性所需的所有数据。
想象一下,用项目本身替换每个itemscope
元素;并使用属性本身及其值替换每个itemprop
元素。 (Think XML)
在您的示例中,该项目如下所示:
<movie>
<name>Avatar</name>
<director>James Cameron</director>
<genre>Science fiction</genre>
<trailer>Trailer</trailer>
</movie>
itemscope
和itemprop
的结构可以应用于任何合适的HTML元素层次结构,无论它们是什么元素。冗长的答案仍然是肯定的,但我希望这有助于您理解微数据的解释方式。
另外,我猜你的例子来自here,但我建议你至少给第1a-1d项快速阅读。