在微数据中正确使用ListItem?

时间:2018-08-21 13:43:44

标签: html schema.org microdata

我正在通过SDTT,信息甚至在SDTT结果中看起来井井有条。但是我怀疑这在我上网时会失败,因为在其他任何地方都找不到这种方法。

我是否需要在每个itemprop="itemListElement"中包含div,然后对每个项目重复上述操作,还是我已经开发出一种可以实际使用的快捷方式?

<div itemscope itemtype="http://schema.org/ListItem">
    <p itemprop="name">My list</p>
    <p itemprop="description">blurb about the list</p>

   <meta itemprop="position" content="1"/>
        <p itemprop="name">first item name</p>
        <p itemprop="description">blurb about the first item</p>

    <meta itemprop="position" content="2">
    <!-- repeat as above... -->

</div>

请提供有关此方法正确性的一些指导。

1 个答案:

答案 0 :(得分:2)

您必须提供itemListElement属性(带有项目值)。

在您的代码段中,您将所有属性添加到一个ListItem中(我想您打算使用ItemList,但这并不会改变问题)。这意味着该项目具有多个名称(name),多个描述(description)和多个位置(position)。

微数据无法捕获HTML元素的顺序。因此,以下HTML代码段会生成等效的微数据:

<div itemscope>
  <meta itemprop="position" content="1" />
  <meta itemprop="position" content="2" />
</div>
<div itemscope>
  <meta itemprop="position" content="2" />
  <meta itemprop="position" content="1" />
</div>

(Schema.org定义了position属性是因为Microdata不在乎HTML中的顺序,因此,如果顺序相关,则必须明确地指定该顺序。)