#1
  1. Moderator
    SEO Chat Good Citizen (1000 - 1499 posts)

    Join Date
    Sep 2016
    Location
    United Kingdom
    Posts
    1,226
    Rep Power
    1205

    Errors with "ItemList" Schema


    I'm wanting to implement Item List schema. The issue is, schema.org's markup (according to Google's structured data testing tool) is incorrect.

    JSON example (as seen on schema.org here):
    Code:
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "ItemList",
      "itemListElement": [
        "HP Pavilion dv6-6013cl",
        "Dell XPS 15 (Sandy Bridge)",
        "Lenovo ThinkPad X220"
      ],
      "itemListOrder": "http://schema.org/ItemListOrderDescending",
      "name": "Top 10 laptops"
    }
    </script>
    which brings this error:






    So I thought, ok. I'll settle for Microdata, but nope. Again the horse's mouths example is incorrect.

    Code:
    <div itemscope itemtype="http://schema.org/ItemList">
      <h2 itemprop="name">Top 10 laptops</h2><br>
      <link itemprop="itemListOrder" href="http://schema.org/ItemListOrderDescending" />
      <p>1. <span itemprop="itemListElement">HP Pavilion dv6-6013cl</span></p>
      <p>2. <span itemprop="itemListElement">Dell XPS 15 (Sandy Bridge)</span></p>
      <p>3. <span itemprop="itemListElement">Lenovo ThinkPad X220</span></p>
      ...
    </div>
    which brings this error:



    I've tried to order them in JSON and Microdata but it just spits back different errors. Just wondering if anybody has come across this / or has good knowledge in either language who could hopefully slap me and tell me what I'm doing wrong here. Really is a pain that their own docs are incorrect.
    Last edited by matt1966; Sep 24th, 2018 at 06:38 PM.
  2. #2
  3. No Profile Picture
    Moderator
    SEO Chat Hero (2000 - 2499 posts)

    Join Date
    Sep 2016
    Location
    USA
    Posts
    2,401
    Rep Power
    3129
    Hi Matt

    Here this will fix your problem...

    Before this code will validate you must do steps 1 and 2 first, you can test it as is and it will fail.
    Step 1
    Add the code to the page you want
    Step 2
    Replace the url for each list item with a valid url from your site

    No Cross domain linking allowed
    No duplicate urls allowed, in this example I used the product name in the url to make sure they were different.

    Edited to add...

    Example usage
    This snippet would go on a comparison page on your site and then each product would have it's own dedicated page.
    Do not put this on more than one page of your site. Google would probably see that as an attempt at spamming.

    Code:
    <script type="application/ld+json">
    {
      "@context": "http://schema.org",
      "@type": "ItemList",
      "name": "Top Ten Laptops",
      "description": "The top 10 laptops on the market today",
      "itemListOrder": "http://schema.org/ItemListOrderDescending",
    
    
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "HP Pavilion dv6-6013cl",
          "description": "Longest battery life",
          "url": "https://yourdomain.com/HP-Pavilion-dv6-6013cl.html"
     	},
       {
          "@type": "ListItem",
          "position": 2,
          "name": "Dell XPS 15 (Sandy Bridge)",
          "description": "Medium battery life",
          "url": "https://yourdomain.com/Dell-XPS-15-Sandy-Bridge.html"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Lenovo ThinkPad X220",
          "description": "Shortest battery life",
          "url": "https://yourdomain.com/Lenovo-ThinkPad-X220.html"
          }
        ]
      }</script>
    Last edited by KnowOneSpecial; Sep 25th, 2018 at 03:22 AM. Reason: Clarity
  4. #3
  5. Moderator
    SEO Chat Good Citizen (1000 - 1499 posts)

    Join Date
    Sep 2016
    Location
    United Kingdom
    Posts
    1,226
    Rep Power
    1205
    The reason for me asking this is that Google often show lists on snippets (more often than not) through structured data of some sort.

    Thanks for your answer - It validates, but it's not something I could really use in my situation (which is a list of instructions or information) rather than items.

    This is the snippet I took inspiration from:


    Their code being:
    Code:
    <ol type="1" itemscope="" itemtype="http://schema.org/ItemList">
    <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
    <p itemprop="name">In the open message, on the <b class="ocpUI">Message</b> tab, in the <b class="ocpUI">Tags</b> group, click <b class="ocpUI">Follow Up</b>, and then click <b class="ocpUI">Flag for Recipients</b>.</p>
    <meta itemprop="position" content="1" />
    </li>
    <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
    <p itemprop="name">Under <b class="ocpUI">Flag for Recipients</b>, in the <b class="ocpUI">Flag to</b> list, click the type of flag that you want to send.</p>
    <meta itemprop="position" content="2" />
    </li>
    <li itemprop="itemListElement" itemscope="" itemtype="http://schema.org/ListItem">
    <p itemprop="name">By default, messages flagged for recipients include a reminder. If necessary, change the date and time. If you don't want to include a reminder, clear the <b class="ocpUI">Reminder</b> check box.</p>
    <meta itemprop="position" content="3" />
    </li>
    </ol>
    But even Microsofts code spits back errors, interestingly, it's only the URL's that you mention which is missing in their code:


    It's not a product, more instructions. Starting to think instructions shouldn't be in this type of schema.

    I suppose the URL for each could be #answer-to-this-question?

    So for example...
    heading- What's the abbreviation of KnowOneSpecial?
    content- The shortest abbreviation would be KOS.

    So an accordion with the answer pointing to #KOS <---- could this be the "url" in the list?
    Last edited by matt1966; Sep 25th, 2018 at 06:46 AM.
  6. #4
  7. No Profile Picture
    Moderator
    SEO Chat Hero (2000 - 2499 posts)

    Join Date
    Sep 2016
    Location
    USA
    Posts
    2,401
    Rep Power
    3129
    It would have to be a fully formatted url I suppose, not just a relative url. I have never tried using bookmark urls before, test it, see it it works.

    Comments on this post

    • matt1966 agrees : Cheers for the help bud. Sorry, no rep!

Similar Threads

  1. Replies: 2
    Last Post: Dec 3rd, 2016, 11:27 AM
  2. Should I disavow injected "links" to stop Google crawl errors?
    By Dant in forum New User SEO Questions and Answers
    Replies: 2
    Last Post: Mar 23rd, 2015, 10:42 AM
  3. Replies: 4
    Last Post: Sep 24th, 2011, 06:08 AM
  4. Crawl errors and broken links, GWT reports "wrong"..
    By sambkk in forum Google Optimization
    Replies: 6
    Last Post: Jun 19th, 2010, 09:24 AM
  5. Replies: 6
    Last Post: Nov 18th, 2004, 06:32 AM

IMN logo majestic logo threadwatch logo seochat tools logo