Site icon EndurantDevs

All values provided for URL must point to the same page – problem in Google’s SDTT

All values provided for URL must point to the same page - Google Search Results ScreenShot

`Couple weeks ago people started to write about a problem with verification their structured data by Structured Data Testing Tool (SDTT) from Google. This became a question for those who was using ItemList.

I got know about this when answered a question on StackOverflow about search results markup by structured data. One of the guys asked about the problem in comments. I realized that I have the same error now. But when I pushed structured data to one of my sites (Software Development for Startups) – everything was fine.

I started to investigate, rechecked Schema.org markup. Everything was fine, so I thought this is a bug of SDTT, as other markup verification tools were passing that OK. There were same thoughts by other people like here:

In few weeks after that, I was playing with AMP, and I understood the source of the problem. Occasionally, when I was applying structured data to AMP pages to allow articles to come into google top stories for some search results, I found that one of the parts doesn’t pass again. I played a lot with it but then returned to ItemList.

According to Google policies, you can’t have more than one ItemList on the page. Well, actually two, but the second one is BreadcrumbList (Schema: http://schema.org/BreadcrumbList).

So, I read about a usage of ItemList on Google’s markup listings guideline.

Instead of a global definition of lists of Items as Schema.org provides Google decided to split this one into two consistent definitions. These lists are called host-specific, and they can be marked up Separately or Combined.

There is a good explanation of this in the link, but in few words:

So, separately marked up list is looking like(Both examples are coming from same Google Developer’s page):

{
  "@context":"http://schema.org",
  "@type":"ItemList",
  "itemListElement":[
    {
      "@type":"ListItem",
      "position":1,
      "url":"http://example.com/desserts/apple-pie"
    },
    {
      "@type":"ListItem",
      "position":2,
      "url":"http://example.com/desserts/cherry-pie"
    },
    {
      "@type":"ListItem",
      "position":3,
      "url":"http://example.com/desserts/blueberry-pie"
    }
  ]
}

Now, let’s talk about Combined version and return to the main problem with “All values provided for URL must point to the same page” error. If you see this error, then you used Combined version with Item inside, but URLs are coming to different pages(URLs). For accelerated mobile pages, this structured data show to Google that you want to show carousel from the items on your page in search results. No matter you want to list some real Product or vector pattern. Each item should have a type, etc. Here is JSON-LD example by Google with a list of different pies that goes to the same page:


{
  "@context": "http://schema.org",
  "@type": "ItemList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@type": "Recipe",
        "url": "http://example.com/desserts/pies/#apple-pie",
        "name": "Apple Pie",
        "image": "https://example.com/300px-Apple_pie.jpg",
        "author": {
          "@type": "Person",
          "name": "Carol Smith"
       },
      "datePublished": "2009-11-05"
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item": {
        "@type": "Recipe",
        "url": "http://example.com/desserts/pies/#cherry-pie",
        "name": "Cherry Pie",
        "image": "http://www.example.com/images/cherry.jpg",
         "author": {
          "@type": "Person",
          "name": "Carol Smith"
       },
      "datePublished": "2009-11-05"
     }
    },
    {
      "@type": "ListItem",
      "position": 3,
      "item": {
        "@type" : "Recipe",
        "url":"http://example.com/desserts/pies/#blueberry-pie",
        "name": "Blueberry Pie",
        "image": "http://www.example.com/images/blueberry.jpg",
        "author": {
          "@type": "Person",
          "name": "Carol Smith"
       },
      "datePublished": "2009-11-05"
      }
    }
  ]
}

It might look close to this top stories, some kind of this carousel:

So, to fix the problem with your structured data, please use the correct version of ItemList:

After selecting one of these versions of ItemList, you will not see “All values provided for URL must point to the same page” again in SDTT. I think that Google pushed a new version of SDTT and their parser, as they support AMP a lot, but had no time to update all examples on their Developer’s section. This is only my assumption again.

UPDATE (28.04.2017). People started to ask about the same problem again in comments and personal email/PMs. Will try to add few my thoughts. So, Check example website that I helped to fix structured data: Pharmacy Near Me. If you go by this link to SDTT: https://search.google.com/structured-data/testing-tool/u/0/#url=pharmacy-near-me.com – you will see that everything is fine and itemList has no errors. However, If you copy the code of that page and try to check the code(instead of URL load) – you will get the same error again. Code examples in my post are to help to build your structured data. Do not start to tell about problems if your code is OK except the problem with “All values provided for URL must have the same domain“: Try to follow instructions from Google Developer’s pages and some info from this article and load your page from the real domain into SDTT!

So, once again, but with some additional focus on domains and URLs: 

Thanks.

Exit mobile version