I have a webpage with a lot of images that I load dynamically onto the page dynamically using Javascript/JSON data.

The images' rendered output is:

<li itemscope itemtype="http://schema.org/ImageObject"> 
<img src="${data.file}" alt="${data.alt}" itemprop='contentURL'>
<div class="imageInfo"> 
<h2 itemprop="name">${data.name}</h2> 

The schema structured data values I get from the JSON file are data.file for the itemprop="contentURL" and data.name for the itemprop="name".

I have read that Google doesn't use dynamically loaded schema markup unless you use JSON-LD. Currently when I test with Google's structured data testing tool I see that the test shows there's no structured data for my dynamically loaded content.

What are the steps I need to take to make sure that Google uses/sees my dynamically loaded structured data?

  • When I do a URL inspection on Google Search Console and test the live URL, the HTML does show the dynamically loaded structured data. Does that mean I'm good to go even though the structured data isn't showing in the structured data testing tool? Commented Oct 10, 2020 at 5:00

1 Answer 1


Googlebot does render and process both JSON-LD and Microdata. It will most likely see what you are adding.

The Structured Data Testing Tool only has a basic ability to detect content added by JavaScript. That is why it does not see this dynamic Microdata.

Try using the Rich Results Tool. That far more closely represents how Googlebot works. However, it only shows a subset of structured data based on rich results, so may not confirm what you want.

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.