"position" property required for ItemList with Product list items?
From my testing malefique is onto the right solution.
This code fully validates using the Structured Data testing tool:
{
"@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"
}
}
}
]
}
This is not an error with your code. It just means that Google won’t display a certain Rich Snippet (or a similar feature) unless you provide this property.
However, the position
property is not defined for the Product
type, so this does not make any sense.
It seems that this is a new structured data feature from Google, which is not documented yet, as it links to a 404 page: List Page Carousels. Maybe it’s a work in progress and they didn’t mean to publish the check in their Testing Tool yet.
So I’d simply ignore this for now.