Structured dataIntermediate

Microdata

Microdata is an HTML specification for embedding structured data directly in page elements with itemscope, itemtype and itemprop attributes.

Also called: HTML Microdata

Microdata is part of the HTML Living Standard. It adds attributes to existing elements so the visible content doubles as structured data. An element with itemscope starts an item, itemtype names its Schema.org type, and itemprop marks child elements as properties. Google still supports it, but most new implementations use JSON-LD instead.

How the attributes fit together

Microdata wraps the content it describes. The outer element declares the item and type, and each property sits on the element that holds the value. Nested items are created by adding itemscope to an element that is itself an itemprop of the parent.

<div itemscope itemtype="https://schema.org/Product">
  <h1 itemprop="name">Larkspan Analytics</h1>
  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
    <span itemprop="price">49.00</span>
    <meta itemprop="priceCurrency" content="USD">
  </div>
</div>

Strengths and weaknesses

The upside is that markup and content cannot drift apart easily, because the property sits on the text users read. The downside is fragility. A redesign that moves or removes elements can silently break the markup, and complex nesting makes templates hard to read. It is also awkward to express values that are not visible, which pushes people toward meta tags inside the body.

Many older ecommerce themes and CMS plugins still output Microdata, so it is common to find it on existing sites, sometimes alongside a JSON-LD block that says something different.

Mixing formats

Google can read Microdata, RDFa and JSON-LD on the same page. Problems arise when two formats describe the same entity with conflicting values, or when duplicate Product or Organization items appear. If you migrate to JSON-LD, remove the old attributes rather than leaving both.

Example

A theme leftover

A SaaS company, Brindlecove, moves its pricing page to a new template that outputs JSON-LD. The old theme's footer still carries Microdata for an Organization with a former company name. The Schema Markup Validator shows two Organization items. Removing the footer attributes leaves one consistent entity.

Common mistakes

Leaving duplicate markup after a migration

Switching to JSON-LD without removing Microdata attributes produces two versions of the same entity, often with different values.

Breaking markup in a redesign

Front-end changes that strip attributes or reorder nesting can invalidate Microdata without anyone noticing. Add validation to release checks.

Questions

Google says it supports both. JSON-LD is recommended for ease of maintenance, not because Microdata is ranked or parsed less favorably.

Know the terms. Now win the searches.

We find the searches your buyers make, then build, publish and improve the pages that win them.