如何在 ItemList 中为产品编码标记?

How to code markup for Product in ItemList?

我改编了示例 2 中的代码 http://schema.org/ItemList

如何与Product一起使用?在首页和其他一些页面上,我有一个产品列表,我希望对其进行更好的标记。

下面的代码报错

A value for the position field is required.

Product 没有位置,所以如果 position 有值,它会给出不同的错误。

<ul itemscope itemtype="http://schema.org/ItemList">
    <meta itemprop="numberOfItems" content="10" />

        <li itemprop="itemListElement" itemscope itemtype="http://schema.org/Product">

            <!-- <meta itemprop="position" content="1" /> -->

            <a href="#" itemprop="url">
                <img src="asdf.jpg" itemprop="image">
                <div class="product-list__title" itemprop="name">
                    Product name
                </div>
                <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                    <div itemprop="price">
                        
                    </div>
                    <link itemprop="availability" href="http://schema.org/InStock" />
                </div>
            </a>

        </li>

</ul>

itemListElement属性有三个期望值:

  • ListItem
  • Text
  • Thing

ListItem is also a Thing, but it’s listed explicitly because it has a special role here: ListItem provides the position属性。如果您需要传达列表项的位置,则必须提供 ListItem 值。

请注意,并非每个 ItemList 都需要这个。您使用 Product 值的示例很好(除了 meta 元素不能是 ul 的子元素),除非您尝试符合 Google'富媒体搜索结果(这是错误消息的内容),你可以保持这样。

如果您确实想提供职位,itemListElement 可能如下所示:

<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
  <meta itemprop="position" content="1" />
  <div itemprop="item" itemscope itemtype="http://schema.org/Product">
    <!-- your Product -->
  </div>
</li>