在微数据中正确使用 ListItem?

Proper use of ListItem in Microdata?

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

我是否需要在每个 div 中包含 itemprop="itemListElement",并为每个项目重复,或者我是否开发了一个实际可行的快捷方式?

<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>

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

您必须提供 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 中的顺序,所以如果这是相关的。)