Как кодировать разметку для продукта в ItemList? - PullRequest
0 голосов
/ 10 июня 2018

Я адаптировал код, взятый из примера 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>

1 Ответ

0 голосов
/ 10 июня 2018

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

  • ListItem
  • Text
  • Thing

ListItem также является Thing, но он указан в явном виде, поскольку здесь он играет особую роль: ListItem предоставляет 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...