Skip to content
SCRAWL
Technical SEOFaisal Y

Schema Checker Guide: How to Validate JSON-LD and Microdata

A schema checker reads the structured data on a page and tells you whether a machine can parse it and whether the fields search engines look for are there. Paste a URL into the Scrawl Schema Checker, fix anything marked as an error, then work through the warnings.

Schema checker guide: a JSON-LD block passing through a checker that sorts it into errors and warnings
Schema checker validation flow
Use the free tool
Schema Checker
Validate JSON-LD and microdata on a live URL or pasted snippet.

A schema checker reads the structured data on a page and tells you whether a machine can parse it and whether the fields search engines look for are there. Paste a URL into the Scrawl Schema Checker, fix anything marked as an error, then work through the warnings. Valid markup does not guarantee a rich result, but broken markup rules one out.

Schema checker guide: a JSON-LD block passing through a checker that sorts it into errors and warnings

What schema markup is

Schema markup is a set of labels from the schema.org vocabulary that you add to a page so software can tell what the page is about. A human sees a recipe. A crawler sees text and images until something says "this is a Recipe, this is its cook time, this is its rating."

Google, Bing and other consumers read that markup to understand entities on the page and, for some types, to build rich results: product prices and stock, breadcrumbs, review stars, event dates and similar extras in the search listing.

There are three ways to write it. JSON-LD sits in a <script type="application/ld+json"> block. Microdata puts itemscope, itemtype and itemprop attributes on your existing HTML. RDFa does the same job with a different set of attributes. Google accepts all three and recommends JSON-LD.

How to check schema markup with the Schema Checker

The tool has two modes, and they answer different questions.

URL mode answers "what does this live page actually serve?" Enter the address and run the check. The tool requests the page, reads the HTML the server returns, and pulls out every JSON-LD script block and every microdata itemscope it finds. JSON-LD that uses @graph gets split into its separate nodes, so a site-wide graph with Organization, WebSite and Article shows up as three items, not one blob. Alongside the schema, URL mode also lists the page's Open Graph tags, Twitter card tags, title, meta description, robots meta and canonical, plus an overall score.

Paste mode answers "is this snippet right before I ship it?" Switch to Paste JSON-LD and drop in a raw object, an array, or a full <script type="application/ld+json"> block. Nothing gets fetched. This is the faster loop when you are editing a template or a CMS field.

A practical routine:

  1. Check the live URL first so you see what Google would see today.
  2. Copy the block that has a problem into paste mode.
  3. Edit until errors are gone and the warnings left are ones you understand.
  4. Deploy the fix, then run URL mode again on the live page.
How the Schema Checker reads a page: fetch the HTML, pull JSON-LD and microdata, run checks, show errors, warnings and tags

One limit to know: URL mode reads the HTML response. It does not run JavaScript. If your schema is injected client-side by a tag manager or a script after load, the checker will not see it. Google can render JavaScript, but server-rendered JSON-LD is easier for every crawler to pick up, so treat "the checker found nothing" on a JS-heavy page as a prompt to look at how the markup gets added.

Reading the results: errors, warnings and what to fix first

Each JSON-LD item gets a type label, a valid or invalid status, and lists of errors and warnings. Microdata items show the type taken from itemtype and the properties found inside the scope.

Errors mean the item is broken:

  • Parse error. The block is not valid JSON, so nothing inside it counts. Common causes are a missing comma between properties, smart quotes pasted from a word processor, an unescaped double quote inside a string, or a stray comment.
  • Missing @type. The item parses but does not say what it is. Without a type, no consumer can map it to anything.

Warnings mean the item parses but is thin or unclear:

  • Missing or invalid @context. The block should point at https://schema.org. Without it, the property names have no vocabulary behind them.
  • Missing recommended field. For common types the tool checks a short list of fields: Article needs headline, author and datePublished; Product needs name, image and offers; LocalBusiness needs name, address and telephone; Event needs name, startDate and location. BreadcrumbList, FAQPage, Review, Organization, WebSite, Person and VideoObject have their own checks.
  • Empty breadcrumb list. A BreadcrumbList with no items.
  • Microdata scope with no properties. An itemscope that declares a type but carries no itemprop values.
Fix order for schema results: parse errors and missing @type first, then missing @context, then missing recommended fields

Fix errors first, since a broken block hides everything else in it. Then add missing fields. The checker's field list is a floor, not the full spec: Google's documentation for each rich result type lists required and recommended properties, and some go beyond what any general checker tests. When a type matters to you, read Google's page for it and compare field by field.

Common schema mistakes and how to fix them

Invalid JSON. JSON does not allow trailing commas, single quotes or comments. The checker tries to read past a trailing comma or HTML-encoded quotes, but other parsers may not, so clean them up anyway. If you build JSON-LD in a template, generate it with your language's JSON encoder instead of string concatenation; that removes most quoting bugs at once.

Dates in the wrong format. Use ISO 8601: 2026-10-29 or 2026-10-29T09:00:00+05:00. A date like 29/10/2026 is ambiguous and may be ignored.

Markup that does not match the page. Prices, ratings, FAQ answers and authors in the schema should match what a visitor sees. Marking up reviews that are not on the page, or a price that differs from the visible one, is the kind of thing Google's structured data policies treat as spam.

Two plugins, two graphs. Themes and SEO plugins often both output Organization or Article markup. You end up with duplicate or conflicting items. URL mode lists every block it finds, which makes duplicates easy to spot; keep one source and switch the other off.

Relative or broken image URLs. Use absolute URLs for image, logo and url fields, and make sure they load.

If you would rather start clean than patch, the Structured Data Generator builds JSON-LD for Article, Product, FAQ, LocalBusiness, Breadcrumb and other types. Generate, paste the output into the Schema Checker, then add it to your template.

JSON-LD vs microdata

Both describe the same things. The difference is where the markup lives.

The same Article described in JSON-LD inside a script tag and in microdata attributes on the HTML

JSON-LD is one self-contained block. You can add or change it without touching visible HTML, generate it from your data layer, and review it in a single place. That is why most modern sites and frameworks use it, and why Google recommends it.

Microdata is woven into the HTML. Each value is attached to the element that displays it, so the markup and the visible content stay in sync by design. The cost is that a redesign can break it without anyone noticing, and nested types get hard to read.

If you are starting fresh, use JSON-LD. If an older theme already outputs microdata that validates, there is no need to rip it out, but avoid describing the same entity in both formats on one page. The Schema Checker reads both, so you can see whether that is happening.

Which schema types matter for rich results

Not every schema.org type produces a visible change in search. Types tied to Google rich result features include Product (with offers and reviews), BreadcrumbList, Article, Event, Recipe, VideoObject, LocalBusiness, Review snippets, JobPosting and Organization (logo and site details).

Two changes from recent years are worth knowing. Since 2023, Google shows FAQ rich results only for a small set of well-known government and health sites, and it stopped showing HowTo rich results. FAQPage markup is still valid schema and still describes your Q&A to machines; just do not add it expecting the old dropdowns in search. And no rich result is guaranteed: Google decides per query, even when the markup is perfect.

Checking more than one page

Schema usually comes from templates, so one broken template means hundreds of broken pages. After a theme or plugin update, sample one URL per template type: home, a category page, a product or post, a contact page. When you need a wider sweep, the Bulk Schema Checker audits up to 50 URLs and shows schema types, errors and warnings for each in one table. Use it to find the template that is failing, then open that URL in the single-page checker to see the detail.

After a fix goes live, request indexing for a representative URL in Search Console and watch the enhancement report for that type. Google's Rich Results Test is the final word on whether a page is eligible for a specific rich result; the Schema Checker is the faster place to find and fix the markup before you get there.

schema markupjson-ldmicrodatatechnical seo

Frequently Asked Questions

What does a schema checker do?

It finds the structured data on a page or in a pasted snippet, checks that the JSON parses, that each item has a type and a schema.org context, and that common types include the fields search engines expect. It then lists errors and warnings so you know what to fix.

Is the Scrawl Schema Checker the same as Google's Rich Results Test?

No. It checks syntax and a set of common fields for JSON-LD, and lists microdata, Open Graph and meta tags. Google's Rich Results Test tells you whether a page is eligible for a specific Google rich result. Use the Schema Checker to find and fix problems, then confirm in Google's tool.

Can I validate JSON-LD without publishing it?

Yes. Use Paste JSON-LD mode and paste a raw object, an array, or a full script tag. Nothing is fetched.

Why does the checker find no schema on my page?

URL mode reads the HTML the server returns and does not run JavaScript. If schema is added by a script or tag manager after the page loads, it will not appear. Check the page source, or move the markup into the server-rendered HTML.

Should I use JSON-LD or microdata?

JSON-LD for new work. It is easier to maintain and is Google's recommended format. Existing microdata that validates can stay, but do not describe the same item in both formats.

Does valid schema guarantee rich results?

No. Valid markup makes a page eligible. Google decides whether to show a rich result for each search, and some features, such as FAQ and HowTo results, are now shown rarely or not at all.

How do I check schema on many pages at once?

Use the Bulk Schema Checker for up to 50 URLs, then open any failing URL in the single-page Schema Checker for detail.

Related Articles

Technical SEO

Site migration SEO checklist

Most migrations don't fail because someone forgot a "best practice." They fail because one boring th…

Technical SEO

Technical SEO audit checklist

Most technical audits start in the wrong place. Someone opens a crawler, exports 4,000 "issues," and…

Tool Guides

SEO readiness checker: score any URL, fix what matters

Most technical audits start with a 4,000-row crawl export. You need something faster: is this one UR…

Technical SEO

How to Check if a Page Is Indexed by Google (and Fix It If Not)

Pages outside Google's index cannot rank. Learn what "indexed" means, how to confirm status in Searc…

Technical SEO

What Is PageRank in 2026? How Google Link Authority Works (and How to Check It)

Google retired public PageRank in 2016, but links still matter for discovery and relevance. Here's h…

Technical SEO

Broken link checker: find 404s on a page, check URL lists in bulk, and fix the right links

A broken link is a link that leads nowhere useful. Usually that means a 404, sometimes a 410, a serv…

Technical SEO

Bulk status checker: audit up to 200 URLs for 404s, redirects, and server errors

A bulk status check answers one question: for each URL in this list, what does the server return rig…

Technical SEO

How to see which AI crawlers visit your site in your server logs

robots.txt states what you want crawlers to do. Access logs show what actually hit your server: whic…

Technical SEO

How to check whether AI search bots can crawl your pages

A page can look fine in Chrome and still be a thin shell in raw HTML. AI retrieval crawlers mostly r…

Technical SEO

Custom Extraction with CSS Selectors and XPath: A Practical Guide

Fixed heading extractors stop where your audit question starts: a canonical href, a SKU in a data at…

Technical SEO

Automated Accessibility Checks: What They Catch and What They Miss

A clean automated report does not mean your page is accessible. Static HTML rules catch missing name…

Technical SEO

Soft 404s: How to Find Them and Why Google Flags Them

A soft 404 can mislead crawlers and users when missing URLs return the wrong HTTP status. Learn what…

Technical SEO

Indexability: How to Check If a Page Can Be Indexed

Learn whether a page can be indexed from server signals before you ask why Google excluded it. Statu…

Technical SEO

Googlebot Simulator: Compare Googlebot vs Browser Fetches

Learn when to compare Googlebot and Chrome fetches, how to read a side-by-side diff, and what Scrawl…

Technical SEO

How to Find Any Site's XML Sitemap

Learn where sitemaps usually live, how robots.txt Sitemap lines work, and how to discover index and…

On-Page SEO

What Is a PAA Box? How People Also Ask Works in Google Search

A PAA box is the People Also Ask list Google shows for many searches: related questions that open in…

Technical SEO

Robots.txt Explained: How Allow, Disallow and Wildcards Really Work

Robots.txt tells crawlers which URLs they may fetch. It does not remove pages from Google's index by…

On-Page SEO

Google AI Overviews: What They Are and How to Get Your Content Cited

AI Overviews are Google's generated answer blocks on some searches. They cite a small set of sources…