I am trying to implement JSON-LD schema markup for images on my site however I do not see how schema works in addition to image alt tags. I know these are separate things but what if I want to have both? For example:

    <script type="application/ld+json">
      "@context": "http://schema.org/",
      "@type": "Organization",
      "url": "http://www.example.com/",
      "logo": "http://www.example.com/mcdonals-logo.png"

<img src="http://www.example.com/mcdonals-logo.png" alt="McDonald's Logo" />

1 Answer 1


Both of Schema.org and ALT tag are for the same purpose: to provide an additional information.

But, there is a substantial difference between both too: while Schema.org provides data only to the machine (Google and other search engines making use of it), the ALT serves for humans too - in cases an image isn't displayed, in text browsers, for people who can't see images.

Looking at examples on Schema.org, both microdata and JSON-LD, you'll see, the content of ALT differs from the content of describing image property (mostly description in examples, but, in my opinion, the mostly suitable property would be the caption).

Another thing you should consider is: the ALT doesn't force an image to stay in relation with the content. But if you want to provide valuable structured data, you should put an image into relation to the whole content (of the web document).

So, you can simply add an ALT tag to an image. But, if you add an ImageObject you better should provide further information about semantic relation of the image to the page: is it a logo? Or is it primaryImageOfPage? Or is it representativeOfPage?

If you establish a relation of image to the content with these data types, you'll get a possibility to describe it with further properties. But without relation, using only https://schema.org/image, there no further properties to describe it.

Summa summarum:

  • use ALT always with its purpose in mind,
  • use structured data for image description (JSO-LD or microdata) considering these things:
    • Put an image into relation with the whole document,
    • Use caption as an ALT-counterpart in structured data,
    • Use description for image description
    • Don't use an abstract property, as mentioned in the previous answer, because it isn't fully integrated yet, but still pending.
  • In summary, I suppose the answer to the question "How do I combine schema markup with image alt tag?" would be "you can't." Jan 9, 2020 at 6:25

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.