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 theurl
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"
}
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.