1. Home
  2. Articles
  3. SEO
  4. Google
  5. JSON-LD vs Microdata for Structured Data
Read about Bryan Myers thoughts on structured data implimentation

JSON-LD vs Microdata for Structured Data




Taking a second look at JSON-LD vs Microdata for structured data format. Google identifies JSON-LD as the recommended format, but that doesn't make sense to me. Here is why.


When I first started implementing structured data markup into this site. I had the option of going with JSON-LD or Microdata formats. Microdata was the clear winner for me, but that may not prove to be the best choice. The main reason I went with the microdata format was that I believe it didn't require duplication of data like the JSON-LD format does. I don't know how you could implement JSON-LD without the duplication of data or without using a JavaScript function to populate visible content on a page. Here is a quick example of the two.

Microdata Example

<ol itemprop="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemtype="http://schema.org/Thing" itemprop="item" href="https://www.bryan-myers.com" title="Home"><span itemprop="name">Home</span></a><meta itemprop="position" content="1"></li> </ol>

The displayed content for this breadcrumb example is the EXACT same data used for the structured data.

JSON-LD Example

<ol> <li><a href="https://www.bryan-myers.com" title="Home"><span>Home</span></a></li> </ol> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.bryan-myers.com" }] } </script>

The data is listed TWICE. Once for the displayed HTML content and again for the JSON-LD object.

I think I am going to try two things in the near future. The first is going to be implementing BOTH microdata markup and the JSON-LD objects. Since my object data is dynamic, this should be a pretty easy addition. By adding the JSON-LD objects to the end of the page using the same query data, there shouldn't be any problem with mismatched data values. If the results from that test appear to negative effect on my SERPs listings, I will try dropping down to just using the JSON-LD implementation. Either way, it should be an interesting experiment.


Profile Picture of Bryan Myers - The Web Guy

Bryan Myers - "The Web Guy"

Advanced Digital Channel Engineer


  1. Articles discussing web related topics and technologies.Articles
  2. Articles related to Search Engine Optimization (SEO).SEO
  3. Articles about Google products and services.Google

Related Articles

Go Back