Last updated
Microdata Validator Examples
The Microdata Validator checks HTML pages for valid microdata markup using schema.org types and properties. Below are examples of valid microdata and common validation errors.
Valid Product Microdata
<div itemscope itemtype="https://schema.org/Product">
<h1 itemprop="name">Blue Widget Pro</h1>
<img itemprop="image" src="widget.jpg" alt="Blue Widget Pro">
<p itemprop="description">Professional-grade widget for all uses.</p>
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<span itemprop="price">29.99</span>
<meta itemprop="priceCurrency" content="USD">
<link itemprop="availability" href="https://schema.org/InStock">
</div>
<div itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating">
<span itemprop="ratingValue">4.5</span>
<span itemprop="reviewCount">128</span>
</div>
</div>
Validator result:
✓ Valid microdata
Type: schema.org/Product
Properties found: name, image, description, offers, aggregateRating
Nested items: Offer, AggregateRating — correctly nested ✓
Rich result eligibility: Product rich result ✓
Valid Article Microdata
<article itemscope itemtype="https://schema.org/Article">
<h1 itemprop="headline">10 JavaScript Tips</h1>
<meta itemprop="datePublished" content="2026-03-18">
<meta itemprop="dateModified" content="2026-03-18">
<div itemprop="author" itemscope itemtype="https://schema.org/Person">
<span itemprop="name">Alice Johnson</span>
</div>
<div itemprop="publisher" itemscope itemtype="https://schema.org/Organization">
<span itemprop="name">DevBlog</span>
</div>
</article>
Invalid Property Name
<div itemscope itemtype="https://schema.org/Product">
<span itemprop="productName">Widget</span> <!-- invalid -->
<span itemprop="cost">$29.99</span> <!-- invalid -->
</div>
Validator output:
Error — itemprop "productName" is not a valid property of schema.org/Product.
Did you mean: "name"?
Error — itemprop "cost" is not a valid property of schema.org/Product.
Did you mean: "price" (inside an Offer item)?
Valid properties for Product include:
name, description, image, brand, sku, gtin, offers, aggregateRating,
review, category, color, material, weight, url
Missing Required Property
<div itemscope itemtype="https://schema.org/Event">
<span itemprop="name">Tech Conference 2026</span>
<span itemprop="location">San Francisco, CA</span>
<!-- missing startDate -->
</div>
Validator output:
Warning — schema.org/Event is missing recommended property "startDate".
Google requires "startDate" for Event rich results.
Fix: Add <meta itemprop="startDate" content="2026-06-15T09:00">
Rich result eligibility: Event rich result — NOT ELIGIBLE (missing startDate)
Incorrect Nesting
<div itemscope itemtype="https://schema.org/Product">
<span itemprop="name">Widget</span>
</div>
<!-- itemprop outside of itemscope -->
<span itemprop="price">29.99</span>
Validator output:
Error — itemprop "price" at line 7 is outside of any itemscope context.
itemprop attributes must be inside an element with itemscope.
Fix: Move this element inside the Product itemscope, or wrap it in
a nested Offer item:
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<span itemprop="price">29.99</span>
</div>
Extracted Item Structure
Parsed microdata items:
Product (https://schema.org/Product)
├── name: "Blue Widget Pro"
├── image: "widget.jpg"
├── description: "Professional-grade widget..."
├── offers → Offer
│ ├── price: "29.99"
│ ├── priceCurrency: "USD"
│ └── availability: "https://schema.org/InStock"
└── aggregateRating → AggregateRating
├── ratingValue: "4.5"
└── reviewCount: "128"
Rich Result Eligibility
Based on your microdata:
✓ Product rich result — eligible
Required: name ✓, offers ✓
Recommended: image ✓, description ✓, aggregateRating ✓
✗ Review snippet — not eligible
Missing: review property with reviewRating
✗ FAQ rich result — not eligible
Wrong type: requires FAQPage, found Product
Common Use Cases
- Validating product, article, and event microdata before publishing
- Checking rich result eligibility for Google Search
- Identifying invalid property names and incorrect nesting
- Auditing existing pages for structured data errors
- Learning schema.org property names for a given type
- Comparing microdata implementation against JSON-LD equivalent
Paste your HTML or enter a URL to validate all microdata items, check property names against schema.org, and see which rich results your markup qualifies for.