Is there anything to indicate that marking up images as ImageObjects has any positive effect on indexing or search engine ranking or anything related (eg, rich cards/snippets)?

My experience

I dynamically marked up all the images on a site with full ImageObject schema.org structured data markup in the microdata format.

The result was hundreds of entries per page, like this:

    @type   ImageObject
    name    Widget
    url     https://widgetcorp.com/some-image-1.jpg
        @type   Intangible
        name    40           
        @type   Intangible
        name    40

On Search Console/Google Webmaster Tools, the Structured Schema sections showed literally 100's of thousands of ImageObjects. No errors for any of them. When any individual page type on the site was tested with Google's Structured Data Test, again, all the images perfectly passed validation without errors or warnings, along with all the rest of the schema objects that were present on the page.

Yet, I couldn't detect any difference whatsoever in ranking or indexing of images or anything at all search engine related. Have you had a different experience with marking up images as ImageObjects?

Didn't mean to leave off the image filename off the URL. Just a typo - on site, I was properly passing an image file URL.

  • 1
    There is almost never a benefit from using structured markup on your data. The only exceptions are when Google gives a different display in the search results such as when including star ratings on reviews or prices on e-commerce products. Commented Mar 23, 2017 at 17:32

1 Answer 1


First of all, for the image property, Schema.org expects either an URL value or an ImageObject value. This is typically the case for other properties taking an image value, too.

So for the image property, you could as well use:

<div itemscope itemtype="http://schema.org/Thing">
  <img itemprop="image" src="image.png" alt="" />

So why should an ImageObject value be used instead?

If you want to provide data about the image, you have to use ImageObject, because you can’t add properties to an URL value. Such data could be the height and width of the image, or its author, or its caption, etc.

Like it’s always the case with structured data: some consumers care about this additional data, some don’t (and ignore it).

In case of Google Search

For its image-related search features, Google typically (probably even in all cases) requires an ImageObject value (instead of an URL value). See for example these questions:

So if you care about Google’s search features and you can provide the required additional data, you’ll probably want to use an ImageObject instead of an URL value.

  • Bless you for answering all the data markup questions. They make me cranky. Commented Mar 24, 2017 at 13:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.