Schema.org NewsArticle: invalid value for logo property
Your markup is valid HTML5+Microdata and you are using the Schema.org vocabulary appropriately.
With "validator", you probably refer to Google’s Structured Data Testing Tool. Note that errors shown in this tool don’t necessarily mean that your markup is wrong; they often mean that you won’t get a certain Google search result feature unless you provide certain properties.
If you want to get this search result feature in Google Search (e.g., the Article Rich Snippet), you have to provide an ImageObject
item as value (instead of a URL value) for the logo
property.
<div itemscope itemprop="publisher" itemtype="http://schema.org/Organization">
<div itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
<img itemprop="url" src="https://www.mysite.de/resources/assets/71/small/my_logo_web.png" />
<!-- and Google probably requires some more properties here, e.g. "height" and "width" -->
</div>
<span itemprop="name">My Company</span>
</div>
Set logo property on Article sheme
Following structure passes Google test.
<div itemscope itemtype="http://schema.org/Article">
<h1 itemprop="headline">Article</h1>
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<img itemprop="url" src="http://www.example.com/logo.png" alt="Debian Packages">
<meta itemprop="width" content="220" >
<meta itemprop="height" content="220" >
</div>
<meta itemprop="datePublished" content="2014-08-10">
<meta itemprop="dateModified" content="2016-06-02">
<a itemprop="mainEntityOfPage" href="/ArticleLink"></a>
<div itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="ArticleAuthor">
</div>
<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="PublisherName">
<a itemprop="url" href="/">
<span itemprop="logo" itemscope itemtype="http://schema.org/ImageObject" >
<img itemprop="image" src="http://www.example.com/logo.png" />
<link itemprop="url" href="http://www.example.com/logo.png" />
</span>
</a>
</div>
</div>
Update
Probably, following is even better.
<div itemscope itemtype="http://schema.org/Article">
<h1 itemprop="headline">Article</h1>
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<img itemprop="url" src="http://www.example.com/logo.png" alt="Debian Packages">
<meta itemprop="width" content="220" >
<meta itemprop="height" content="220" >
</div>
<meta itemprop="datePublished" content="2014-08-10">
<meta itemprop="dateModified" content="2016-06-02">
<a itemprop="mainEntityOfPage" href="/ArticleLink"></a>
<div itemprop="author" itemscope itemtype="http://schema.org/Person">
<meta itemprop="name" content="ArticleAuthor">
</div>
<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
<meta itemprop="name" content="PublisherName">
<a itemprop="logo" itemscope itemtype="http://schema.org/ImageObject" href="/">
<img itemprop="image" src="http://www.example.com/logo.png" />
<link itemprop="url" href="http://www.example.com/logo.png" />
</a>
</div>
</div>
Warning that image and logo have wrong values
Looks like in order to pass the Structured Data Testing Tool you need to use ImageObject
as a required property of image
and publisher.logo
.
From their documentation:
image - ImageObject, required
Your final code will look like:
{
"@context":"http://schema.org",
"@type":"BlogPosting",
"headline":"Fixer la navigation Off-Canvas sur Foundation",
"image": {
"@type": "ImageObject",
"url": "https://google.com/thumbnail1.jpg",
"height": 800,
"width": 800
},
"author": {
"@type": "Person",
"name": "Stéphane Richin"
},
"datePublished":"2015-02-03",
"dateModified":"2015-02-03",
"publisher": {
"@type":"Organization",
"name":"Stéphane Richin",
"url":"http://stephane-richin.fr",
"logo": {
"@type": "ImageObject",
"url": "https://google.com/logo.jpg",
"width": 600,
"height": 60
}
},
"mainEntityOfPage": "True"
}
I also amended it to recognise the author as Person schema.
Schema.org properties logo, mainEntityOfPage, dateModified give error in Google SDTT
It seems that Google has recently changed the requirements for Article rich snippets.
See this link for more information : https://productforums.google.com/forum/#!topic/webmasters/ltbw0gUvReM
And this one for documentation : https://developers.google.com/structured-data/rich-snippets/articles#article_markup_properties
Hope it helps.
Edit for logo :
Follow this link to know how to set up the logo : http://schema.org/logo
Add schema.org article - problem with LOGO
For the publisher, you specified the URL property for the logo:
"publisher":{
"@type": "Organization",
"name":"mywebsite",
"url": "https://www.example.com/logo.jpg",
"logo": {
"@type": "imageObject",
"url": "https://www.example.com/logo.jpg"
}
}
However, it requires the URL of the publisher's website but not the logo.
In addition, the problem with a particular logo may be due to the wrong size or format, which you do not report. So check to see how your logo matches Google's Guidelines for Logo.
Unresolved error with validating logo for organization in JSON-LD markup: A value for the 'url' field is required.
It’s a valid use of Schema.org. Google’s SDTT, however, is not a general Schema.org validator. The warnings and errors it reports are primarily about Google’s own search result features, which require the use of specific Schema.org terms in specific contexts.
For the AMP version of Google’s Article rich result, Google requires the publisher
property, and the publisher’s logo
has to have an ImageObject
value instead of a URL
value.
"publisher":{
"@type":"Organization",
"name":"Orals",
"logo": {
"@type": "ImageObject",
"url": "/logo.png"
}
},
If you don’t want this Article rich result in Google Search, or if you don’t use AMP, or if you can’t get it for other reasons (e.g., because you can’t provide all required properties), you can safely ignore this error in the SDTT.
Errors in Microdata for image/logo as part of a BlogPosting
In both cases, Google wants to see an ImageObject
item (for displaying their Article Rich Snippet).
<div itemprop="logo" itemscope itemtype="http://schema.org/ImageObject">
<!-- … -->
</div>
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<!-- … -->
</div>
Related Topics
Can Outlook 2010 Use a Web Font in an HTML Email
Can HTML5 Communicate with Peripherals Like Scanners and Credit Card Readers
Maintain Image Aspect Ratio in Carousel
Making an Svg Image Object Clickable with Onclick, Avoiding Absolute Positioning
Why Does Naming Your HTML Form Submit Button "Submit" Break Things
Internet Explorer and Clip-Path
HTML List Element: Sharing The Parent Width into Equal Parts
How to Use Webp Images and Support Safari
Wrap a Text Within Only Two Lines Inside Div
Height: 100% for <Div> Inside <Div> with Display: Table-Cell
Mobile Website "Whatsapp" Button to Send Message to a Specific Number
Add Spacing Between Vertically Stacked Columns in Bootstrap 4