Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"position" property required for ItemList with Product list items?

I have a problem: Google’s Structured Data Testing Tool gives me an error:

Tag position doesn't exist. It's required.

Tag position doesn't exist

I add it to the markup. Than I get this error:

Position property is not valid for an object of type Product

Position property is not valid for an object of type Product

Here is my markup:

<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> 
like image 409
murrometz Avatar asked Sep 14 '15 09:09

murrometz


People also ask

What is itemListElement?

The property itemListElement is used in Schema so that you can provide additional information about the elements of an ordered list. The itemListElement property accepts itemList, thing, or text as its value, and the usage can be widely seen across Schema types such as — Breadcrumb, HowTo, ItemList, OfferCatalog, etc.

How do I add a product schema to Shopify?

The first option would be to manually add the schema tag. To do this you would first need to login to the backend of your Shopify store and go-to online store>Themes>Action>Edit Code. If you wanted to add a product schema tag you will then need to go to your product. liquid which can be found under Templates.

What is product schema?

What is Product Schema? The product schema allows you to add specific product attributes to your product listings that can appear as rich results on the search engine results page (SERP). These properties include: Price. Reviews.

What is schema markup?

Schema markup is code that helps search engines to understand your content and better represent it in the search results. You've probably already encountered marked-up content in the form of rich snippets: But schema markup can do more than that and help your SEO in other ways.


2 Answers

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.

like image 72
unor Avatar answered Oct 19 '22 09:10

unor


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"
                }
            }
        }
    ]
}
like image 5
Felix Eve Avatar answered Oct 19 '22 09:10

Felix Eve