свойство "позиция", необходимое для ItemList с элементами списка продуктов?
у меня проблема: инструмент тестирования структурированных данных Google дает мне ошибку:
Tag
position
не существует. Это необходимо.
Я добавляю его в разметку. Чем я получаю эту ошибку:
Position
свойство недопустимо для объекта типаProduct
вот моя разметка:
<table id="sale_table" itemscope="" itemtype="http://schema.org/ItemList">
<tbody>
<tr itemprop="itemListElement" itemscope="" itemtype="http://schema.org/Product">
<td class="sale_art_td" itemprop="productID">10496278</td>
<td class="sale_brand_td" itemprop="brand"><span itemprop="name ">--</span></td>
<td class="sale_name_td" itemprop="name">10496278 / Крышка трамблера Daewoo Nexia,Espero DD</td>
<td class="sale_am_td">1.00</td>
<td class="sale_price_td" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"><meta itemprop="priceCurrency" content="RUR"><span itemprop="price">341.50</span></td>
<td class="sale_buy_td"><a href="javascript:void(0);" class="sale_buy_link" data-id="63455914" data-query="10496278">Купить</a><!--<img src="/upload/badge/sale_cart.png" />--></td>
<td class="hidden">
<meta itemprop="url" content="/partsearch/?q=10496278">
<span itemprop="description">Распродажа: 10496278 / Крышка трамблера Daewoo Nexia,Espero DD по цене 341.50</span>
</td>
</tr>
<tr itemprop="itemListElement" itemscope="" itemtype="http://schema.org/Product">
<td class="sale_art_td" itemprop="productID">76202sx0a12</td>
<td class="sale_brand_td" itemprop="brand"><span itemprop="name ">HONDA</span></td>
<td class="sale_name_td" itemprop="name">76202SX0A12</td>
<td class="sale_am_td">1.00</td>
<td class="sale_price_td" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer"><meta itemprop="priceCurrency" content="RUR"><span itemprop="price">704.00</span></td>
<td class="sale_buy_td"><a href="javascript:void(0);" class="sale_buy_link" data-id="63456060" data-query="76202sx0a12">Купить</a><!--<img src="/upload/badge/sale_cart.png" />--></td>
<td class="hidden">
<meta itemprop="url" content="/partsearch/?q=76202sx0a12">
<span itemprop="description">Распродажа: 76202SX0A12 по цене 704.00</span>
</td>
</tr>
</tbody>
</table>
5 ответов
это не ошибка в коде. Это просто означает, что Google не будет отображать определенный богатый фрагмент (или аналогичную функцию), если вы не предоставите это свойство.
однако position
свойства не определен Product
тип, так что это не имеет никакого смысла.
похоже, что это новая функция структурированных данных от Google, которая еще не документирована, поскольку она ссылается на страницу 404:Список Страниц Карусели. Возможно, это незавершенная работа, и они еще не собирались публиковать чек в своем инструменте тестирования.
поэтому я бы просто проигнорировал это сейчас.
Я думаю, что это ошибка реализации на стороне Google, вызванная неявной документацией:
https://schema.org/itemListElement ясно заявляет
существующие объекты лучше всего подходят для простого, неупорядоченного списка существующих вещей в ваших данных. ListItem используется с упорядоченными списками когда вы хотите предоставить дополнительный контекст об элементе в этом списке или когда один и тот же элемент может находиться в разных местах в разных списки.
Примечание: порядок элементов в вашей наценке недостаточен для указания порядка или элементов. в таких случаях используйте ListItem со свойством 'position'.
в то же время говорит ожидается, что значения будут одного из этих типов являются:
- listitem элемент
- текст
- вещь
=> Это значит имплицитно, что позиция элемент может потребоваться только для отсортированных списков, которые в свою очередь требуют, чтобы элемент Thing содержался внутри listitem элемент элемент, который предлагает itemprop позиция.
Это также означает имплицитно, что если ItemListElement is текст или вещь, список следует считать ненумерованный.
Это единственный способ документация имеет смысл. Я предполагаю, что неявная связь была упущена.
поэтому я думаю, что соответствующее действие-подать отчет об ошибке для Инструмент Тестирования Структурированных Данных и жить с предупреждениями на данный момент или гнездо продукт внутри listitem элемент элемент как обходной путь.
из моего тестирования malefique находится на правильном решении.
этот код полностью подтверждает использование инструмент тестирования структурированных данных:
{
"@context": "http://schema.org",
"@type": "ItemList",
"itemListOrder": "http://schema.org/ItemListOrderDescending",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Product",
"name": "My product",
"url": "www.example.com",
"offers": {
"@type": "Offer",
"availability": "http://schema.org/InStock",
"price": "100.00",
"priceCurrency": "AUD"
}
}
}
]
}
Я нашел http://schema.org/itemListElement
вы должны указать позицию так <meta itemprop="position" content="1" />
в нижней части страницы приведен пример.