Free instant website audit · 190,000+ sites checked · no card, no account
Custom Web Audits
← All free tools
{ }

Schema Markup Checker

Detect and validate the structured data (JSON-LD and microdata) on any URL. See a full breakdown of every entity and its properties, a complete inventory of every schema @type (including nested types like Offer, Review, AggregateRating and PostalAddress), exactly which Google rich results your markup is eligible for, validation errors and missing recommended properties, plus a one-click export of your raw JSON-LD — and recommendations for the schema that unlocks more rich results.

⚡ Interactive demo — sample data
3 schema blocks detected, but the Product markup is missing a price and there's no BreadcrumbList.
Total 3 structured-data blocks found (3 JSON-LD, 0 microdata) Looks good
Types Detected: Organization, WebSite, Product Looks good
Product Product present but missing offers/price — no price rich result will show Warning
BreadcrumbList Missing — add breadcrumbs so Google can show your page path Issue
Organization Present with name and logo Looks good
Recommendation Add AggregateRating to Product to become eligible for review stars Warning

About this tool

Detect and validate the structured data (JSON-LD and microdata) on any URL. See a full breakdown of every entity and its properties, a complete inventory of every schema @type (including nested types like Offer, Review, AggregateRating and PostalAddress), exactly which Google rich results your markup is eligible for, validation errors and missing recommended properties, plus a one-click export of your raw JSON-LD — and recommendations for the schema that unlocks more rich results.

How it works

Enter your page URL
Paste any public URL and run the check. We fetch the page and parse it for structured data in both formats search engines read — JSON-LD scripts in the page and inline microdata attributes on your HTML elements.
Review your schema types and gaps
You get a count of every structured-data block found, the schema types detected (Organization, WebSite, Product, Article, LocalBusiness, BreadcrumbList, and so on), a completeness score, and recommendations for the high-value schema you're missing for rich results.
Add the markup and re-run
Add or fix the recommended JSON-LD in your template or CMS, then run the check again to confirm the new types are detected and your completeness score climbs before search engines re-crawl and re-evaluate the page for rich results.

What we check

  • JSON-LD blocks — Counts every <script type="application/ld+json"> block on the page and reads its contents. JSON-LD is Google's recommended format because it lives in a separate script and doesn't tangle with your visible HTML.
  • Microdata items — Detects inline microdata — itemscope, itemtype and itemprop attributes attached directly to HTML elements. It's an older but still valid format; many themes and ecommerce platforms still output it.
  • Schema types present — Lists the schema.org types found on the page (e.g. Organization, WebSite, WebPage, Product, Article, FAQPage, Review, BreadcrumbList) so you can confirm the page is describing itself with the right vocabulary for its content.
  • Key foundational types — Checks specifically for the building blocks most sites should have: Organization (or LocalBusiness), WebSite, WebPage and BreadcrumbList. Missing any of these is flagged because they anchor your entity and navigation signals.
  • Completeness score — Scores how complete and well-formed the detected markup is, factoring in which foundational types are present. A low score usually means thin markup — a single type with the bare-minimum required properties.
  • Rich-result recommendations — Surfaces specific schema types worth adding for the page's apparent content — for example FAQPage on a Q&A page, Product with offers and reviews on a product page, or LocalBusiness with address and hours on a contact page.

Common issues we catch

  • No structured data at all — Many pages ship with zero schema. They can still rank, but they forfeit rich results — review stars, FAQ accordions, breadcrumb trails, product price and availability — that make a result bigger and more clickable. Adding even basic Organization and WebSite JSON-LD is a quick win.
  • Schema present but missing required properties — A Product block with no price, or a Review with no rating value, is incomplete: Google won't show the rich result because the required fields aren't there. The markup exists but earns nothing. Fill in every required property for each type.
  • JSON-LD injected by JavaScript — Tag managers and frameworks sometimes inject the JSON-LD script after page load. It appears in the rendered DOM but may be absent from the initial HTML a crawler reads first. Server-render the markup or confirm it's in view-source, not just dev tools.
  • Schema describing content that isn't on the page — Marking up reviews, FAQs or prices that a user can't actually see on the page violates Google's structured-data guidelines and can trigger a manual action. The visible content and the markup must match.
  • Conflicting duplicate blocks — Two JSON-LD scripts each declaring a different Organization (one from the theme, one from an SEO plugin) send contradictory signals about your business identity. Consolidate to a single, authoritative block per entity type.
  • Invalid JSON syntax — A trailing comma or an unescaped quote breaks the entire JSON-LD block — search engines silently skip it, so the markup contributes nothing. Because it fails silently, it looks present in your code but is functionally absent.
  • Broken @id and entity references — Advanced markup links entities with @id (e.g. a WebPage referencing its parent WebSite). A typo'd or dangling @id breaks the relationship graph, so the entities don't connect into the coherent picture rich results rely on.

Where this matters

  • Google Search — Reads structured data to power rich results — review stars, FAQ drop-downs, breadcrumb paths, product price/availability, event dates and more. JSON-LD is its recommended and best-supported format.
  • schema.org vocabulary — The shared, open vocabulary (Organization, Product, Article, LocalBusiness, FAQPage, etc.) that all major search engines agreed on. This tool checks your markup against these standard types so it's understood everywhere.
  • Bing — Also consumes schema.org structured data for enhanced results and to better understand page entities. Clean, valid markup helps you across search engines, not just Google.
  • WordPress, Shopify & ecommerce platforms — SEO plugins (Yoast, Rank Math) and ecommerce themes auto-generate JSON-LD for products, articles and breadcrumbs. They often produce partial or duplicate blocks, which this checker surfaces so you know what actually shipped.
  • AI assistants & answer engines — Structured data helps AI search and answer engines extract facts about your business, products and content reliably, improving the odds you're cited accurately when they summarize a query.

Frequently asked questions

What is schema markup?
Schema markup (structured data) is code you add to a page that describes its content in a machine-readable vocabulary from schema.org — for example marking text as a product price, a review rating, or business hours. It helps search engines understand the page and can unlock richer-looking search results.
What's the difference between JSON-LD and microdata?
Both are valid ways to add structured data. JSON-LD is a self-contained script block in the page's head or body and is Google's recommended format because it's clean and easy to maintain. Microdata is sprinkled as attributes directly on your visible HTML elements — older, more fragile, but still supported.
Which schema types should I add first?
Start with the foundations: Organization (or LocalBusiness for a physical business) and WebSite for your identity, plus BreadcrumbList for navigation. Then add type-specific markup that matches your content — Product on shop pages, Article on blog posts, FAQPage on Q&A pages.
Will schema markup improve my rankings?
Not directly — it isn't a ranking factor on its own. What it does is make you eligible for rich results, which take up more space and attract more clicks, and it helps search engines understand your content, which can indirectly support visibility. The click-through gain is the real prize.
Why aren't my rich results showing even though I have schema?
Common reasons: required properties are missing, the markup describes content not visible on the page, the JSON has a syntax error, or the page is too new to have been re-evaluated. Rich results are also discretionary — Google decides whether to show them even when you're eligible.
How long until my rich results appear in Google?
After you add valid markup, the page must be re-crawled and re-evaluated, which typically takes days to a few weeks. You can request indexing in Google Search Console and monitor eligibility in its Rich Results report. Appearance is never guaranteed even when eligible.
Can I have too much schema?
You can't be penalized simply for marking up a lot, but you should only mark up content that genuinely exists on the page, and avoid conflicting duplicate blocks (like two different Organization definitions). Quality and accuracy matter far more than volume.
Does my schema need to be in the initial HTML?
Ideally yes. While Google can render JavaScript, structured data that's present in the server-rendered HTML is read fastest and most reliably. If your markup is injected client-side, confirm it's actually detected — that's exactly what this checker tells you.

This is one of several free SEO tools from Custom Web Audits. For a complete, prioritized analysis of your whole website, run a full audit.