Search code examples
schema.orgjson-ldgoogle-rich-snippets

Organization logo needs url


I have the following JSON-LD:

{
  "mainEntity": {
    "itemListElement": [{
      "author": {
        "@id": "https://www.example.co.uk/gardens-and-driveways/blog/author/test",
        "image": "https://www.example.co.uk/blog/authors/no-image",
        "name": "Test Author",
        "@type": "Person"
      },
      "publisher": {
        "@id": "http://www.example.co.uk",
        "logo": "https://www.example.co.uk/logo.png",
        "name": "Test Organisation",
        "@type": "Organization"
      },
      "datePublished": "2015-08-10T11:04:33",
      "headline": "Blog headline",
      "image": "https://www.example.co.uk/blog-image.jpg",
      "url": "https://www.example.co.uk/blog-article",
      "name": "Blog Article",
      "@type": "BlogPosting"
    }],
    "@type": "ItemList"
  },
  "url": "https://www.example.co.uk/blog-category-page",
  "@context": "https://schema.org/",
  "description": "Blog articles in this category",
  "name": "Blog category",
  "@type": "CollectionPage"
}

Which if I try to validate using Google's validator will throw the error for the publishers organisation logo field.

https://www.example.co.uk/logo.png (A value for the url field is required.)

Looking at the documentation for Organization it says that logo can be a string or an image type so why is this failing?

Conversely, if you just try to validate the Organization bit by itself, it will pass:

{
  "@id": "http://www.example.co.uk",
  "logo": "https://www.example.co.uk/logo.png",
  "name": "Test Organisation",
  "@type": "Organization"
}

Solution

  • Googles own guidelines are a bit stricter when it comes to the publisher entity for an Article:

    https://developers.google.com/search/docs/data-types/article

    It shows the publishers image needs to be marked up as an ImageObject.