Как закодировать разметку для продукта в ItemList?

Я адаптировал код из примера 2 на http://schema.org/ItemList

Как использовать его вместе с Product? На главной и некоторых других страницах у меня есть список продуктов, для которых я хотел бы иметь лучшую разметку.

Следующий код дает ошибку

Требуется значение поля позиции.

но 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">
                        $12
                    </div>
                    <link itemprop="availability" href="http://schema.org/InStock" />
                </div>
            </a>

        </li>

</ul>

person Ivan Topić    schedule 10.06.2018    source источник


Ответы (1)


Свойство itemListElement имеет три ожидаемых значения:

  • ListItem
  • Text
  • Thing

ListItem также является Thing, но он указан явно, потому что здесь у него особая роль: ListItem предоставляет _ 8_ свойство. Если вам нужно передать положение элементов списка, вы должны указать 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>
person unor    schedule 10.06.2018