Structured data checker

Check if your page has Schema.org markup and which data types are used

Free
No sign-up
Instant results

Check results

This check only covers Schema.org markup. For a full picture of your page, run a page audit.

For issues across your whole site — duplicate titles, orphan pages, broken internal links — run a site audit.

Want us to fix what we found? Our team can help.

What is structured data and why it matters

Structured data is special markup that helps search engines better understand page content. The Schema.org standard describes hundreds of entity types: products, articles, organizations, recipes, events, FAQ, and more. When a search engine recognizes the markup, it can display a rich snippet — with ratings, prices, dates, or answers directly in search results.

Structured data formats

  • JSON-LD — Google's recommended format. Markup is added as a JSON script in <head> or <body>, separate from HTML code
  • Microdata — itemscope, itemtype, and itemprop attributes added directly to HTML tags. Supported by Google
  • RDFa — vocab, typeof, and property attributes embedded in HTML. Less popular but fully supported by search engines

What this tool checks

  • JSON-LD syntax — each <script type="application/ld+json"> must contain valid JSON
  • @context — must be present (JSON-LD requirement) and reference schema.org
  • Empty script tags — declared but without content
  • Required fields per type — Product, Article, Organization, LocalBusiness, Event, Recipe, FAQPage, BreadcrumbList each have fields Google requires for rich snippets
  • Deprecated types — e.g. Blog (use BlogPosting instead)
  • Format preference — Microdata and RDFa work, but Google recommends JSON-LD
  • BreadcrumbList on inner pages — high-impact rich result
  • Microdata presence (itemscope, itemtype)
  • RDFa presence (typeof)

Good vs bad examples

Good — complete Article with all required fields:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Free SEO Audit Tool — 26 Checks",
  "image": "https://example.com/hero.jpg",
  "datePublished": "2026-04-15T08:00:00+00:00",
  "author": { "@type": "Person", "name": "Jane Doe" }
}
</script>

Good — BreadcrumbList on an inner page (replaces URL in SERP):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com" },
    { "@type": "ListItem", "position": 2, "name": "Guides", "item": "https://example.com/guides" }
  ]
}
</script>

Bad — Product missing required name and offers (Google won't generate rich snippet):

{
  "@context": "https://schema.org",
  "@type": "Product",
  "image": "/product.jpg"
}

Bad — missing @context (markup won't be recognized as Schema.org):

{
  "@type": "Organization",
  "name": "Seorado"
}

Bad — deprecated type:

{
  "@context": "https://schema.org",
  "@type": "Blog"  // → use "BlogPosting"
}

Why structured data matters for SEO

Rich snippets take up more space in search results and attract more user attention. Studies show CTR for pages with rich snippets can be 20-30% higher compared to regular results.

  • Google uses structured data to create rich snippets, product carousels, and FAQ blocks
  • Google actively supports Schema.org and displays ratings, prices, availability, and other data directly in search results
  • Markup helps search engines more accurately determine the topic and content type on a page
  • Proper markup increases chances of appearing in voice search and featured snippets

Common mistakes

  • Missing structured data — page loses the chance to get a rich snippet
  • Invalid JSON-LD — syntax errors that prevent search engines from parsing the markup
  • Markup-content mismatch — Schema.org data differs from what users see
  • Missing required fields — e.g., Product without name or offers
  • Using deprecated types — some Schema.org types are no longer supported by search engines

Frequently asked questions

Google recommends JSON-LD — it's easier to implement, independent of page HTML structure, and easily added via Google Tag Manager. Google supports both JSON-LD and Microdata equally well. If starting from scratch, choose JSON-LD. If your site already has correct Microdata, changing format is unnecessary.
No, having structured data is necessary but not sufficient. Google independently decides whether to show a rich snippet for a specific query. The decision is influenced by markup quality, site authority, content type, and how well the markup matches page content. However, without markup, a rich snippet definitely won't appear.
For e-commerce — Product with Offer (price, availability, AggregateRating). For articles and blogs — Article / BlogPosting with headline, image, datePublished, author. For local business — LocalBusiness with address, telephone, openingHours. For recipes — Recipe with image, ingredients, instructions. On inner pages, BreadcrumbList replaces the URL in SERP with a readable path — high CTR impact for minimal effort. Choose markup type based on your page content.
Use Google's Rich Results Test — paste your URL or code and it shows exactly which rich-result types your markup qualifies for, plus any missing required fields. The older Structured Data Testing Tool was deprecated in 2020. Also check Google Search Console's "Enhancements" section for live reports of markup issues Google detected on your site.
Each Schema.org type Google supports has a list of fields required to generate the rich snippet. For example, Article requires headline, image, datePublished, and author. Missing even one means Google parses the markup, recognizes it as an Article, but won't show the rich result — no image thumbnail, no date, no byline in SERP. This is different from "markup is invalid" — it's valid Schema.org, just incomplete for Google's UI. The full per-type list is at developers.google.com/search/docs/appearance/structured-data.