htmlsemantic-markupmicrodatarich-snippetsgoogle-rich-snippets

schema.org microdata - image required for Article


Every example I find for https://schema.org/Article gives at least one error in the Google Structured Data Testing Tool

Supposedly headline is now required; that's fine, just change itemprop="name" to itemprop="name headline"

But it also gives the error:

A value for the image field is required.
Required by:
Articles Rich Snippets

I've heard people say the image should be an image of the article (literally interpreting the documentation: "An image of the item.") - Like an actual screenshot of the article. Isn't that useless? Is that even correct? Do I have to give an image? Will the same blank image or logo be ok for every article? Or would duplicate images get penalised due to not being relevant?


Solution

  • Schema.org (the vocabulary) doesn’t require any properties.

    Google’s Structured Data Testing Tool is not a Schema.org validator. The tool primarily tests if your use of Schema.org conforms to Google’s own requirements for showing one of their Rich Snippets (or similar features/products).

    So if Google’s tool says that a "value for the image field is required", this does not mean that you are technically required to provide it, or that something bad (like a ranking penalty) happens if you don’t provide it. It just means that Google won’t display a Rich Snippet for this document on their SERPs.

    Google typically documents the properties they require for their features on https://developers.google.com/structured-data/ (example: their Article Rich Snippet).

    Discussing which images are okay in Google’s eyes is off-topic on Stack Overflow (you might get help on Webmasters SE).

    From Schema.org’s perspective: the image property is, as you note, defined to have an "image of the item" as value. For Product, it could be a photograph of the product, for Person a portrait etc. For an Article, the equivalent would be a photo/screenshot of the article itself; however, that’s often not really useful. So I think it’s common practice to specify an image that represents this article somehow: practically speaking, an image that could be shown as teaser image for your article. But you should not use the image property just because an image is part of the article (so don’t use it for all images, and don’t use it if you have no image that would/should represent the article); for such cases, you could use the hasPart property instead.