Run your markup through the Schema.org Markup Validator first to catch syntax errors, then test the live URL in Google's Rich Results Test to check feature eligibility, and finish by confirming what crawlers actually see through Search Console or Bing URL Inspection. That three-step order catches almost every failure mode: broken syntax, ineligible pages, and rendering mismatches that only show up post-deploy. Skip a step and you'll find out about it from a client asking why their FAQ rich results disappeared.
TL;DR:
- Running a schema test involves checking syntax with the Schema.org validator before verifying feature eligibility with Google's Rich Results Test and then confirming the crawler view in Search Console or Bing's URL Inspection.
- The Schema.org validator focuses on vocabulary and syntax, while Google's tool assesses actual eligibility for rich results, and Bing emphasizes crawler-rendered markup, making all three essential steps.
- Validating a site’s schema should be part of a recurring workflow, including local linting, staging checks, JavaScript render testing, and post-publish monitoring, especially for template-based pages.
- Most schema errors are due to missing required properties or incorrect data types, with relative URLs and JavaScript timing issues also frequently causing silent failures.
- For JavaScript-heavy sites, compare crawler-rendered HTML using Bing's live URL view and ensure the schema matches visible content rather than relying solely on static code validation.
Table of Contents
- What Each Schema Testing Tool Actually Checks
- Building a Repeatable Schema Testing Workflow
- Fixing the Errors That Show Up Most Often
- Advanced Verification for JavaScript-Heavy Sites
- What Actually Moves the Needle in Schema Testing
- Where to Verify Your Schema Testing Results
- Sources
- FAQ
What Each Schema Testing Tool Actually Checks
Every schema testing guide worth following starts with a hard truth: no single tool does the whole job. Each one answers a different question, and confusing them wastes hours.
The Schema.org Markup Validator (validator.schema.org) checks vocabulary and syntax. Feed it a pasted snippet or a fetched URL, and it extracts JSON-LD, RDFa, and Microdata, then displays the parsed structured-data graph so you can see exactly what a machine reader would extract. It flags malformed JSON, missing brackets, and incorrect nesting. It does not tell you whether Google will show a rich result for that page. That's a separate question entirely.
Google's Rich Results Test answers that separate question. It checks whether a specific URL is eligible for Google's rich-result features, things like FAQ rich results, review stars, or product snippets. Google itself frames these as complementary tools built for two different jobs: syntax validation versus feature eligibility. Run only one and you're missing half the picture.
Bing Webmaster Tools offers its own URL Inspection feature with a markup card. Use the Live URL option to see the page as Bingbot renders it, which matters more than most developers assume once JavaScript enters the picture. Bing supports Microdata, JSON-LD, Microformats, and RDFa without favoring one format, but it will silently ignore annotations if a data type is wrong (a text string where a date belongs, for instance).
Third-party schema checkers and browser extensions have their place for fast sweeps across a large site or for linting inside a CI pipeline. Treat their output as a first pass. Before you ship a fix based on a third-party tool, verify it in the Schema Markup Validator or Google's official tester. Third-party tools drift out of sync with evolving Google features faster than the official ones do.
- Schema.org Markup Validator: vocabulary and syntax, works on pasted code or a URL
- Google Rich Results Test: feature eligibility for a specific live URL
- Bing URL Inspection: crawler-rendered view plus markup recognition for Bing
- Third-party linters: fast bulk scans, best used in CI, not as the final word
Building a Repeatable Schema Testing Workflow
A schema testing guide is only useful if it turns into a checklist you actually run every time you touch a template. Here's the sequence that catches problems before they reach production, in the order that matters most.
- Lint locally before you commit. Run your JSON-LD through a schema linter and paste the snippet into the Schema.org Markup Validator. Catching a missing
@typehere costs thirty seconds. Catching it after deploy costs a support ticket. - Validate on staging. Fetch the staged URL directly in the Schema.org validator rather than pasting code, since fetching exposes rendering issues a static snippet can't reveal.
- Check JavaScript-rendered markup separately. If your schema is injected client-side, confirm the validator actually extracts it. The Schema.org validator can pull JS-injected data, but if it comes back empty, don't assume the tool failed. Assume your render timing did, and check the crawler view instead.
- Run the deployed URL through Google's Rich Results Test. This is the step that tells you whether the page qualifies for the search feature you actually want.
- Monitor after publish. Check Search Console's enhancement reports and Bing's markup card for the same URL. Request reindexing if the markup changed materially.
- Note schema changes in release notes. Test one representative page per template, not every single page, and log what changed so a regression is traceable later.
Pro Tip: Don't validate your homepage and call it done. Test one page from every template type, product, article, local business, FAQ, because a single broken include file can silently break schema across hundreds of pages at once.
A clean result from the Schema.org validator confirms the graph is parseable. It does not confirm Google will display anything for it. Treat validation as layered rather than binary: syntax check, then eligibility check, then a look at what the crawler actually received. Skipping the last step is how JavaScript-heavy sites end up debugging "missing" rich results for weeks when the real problem was a three-second render delay.
Fixing the Errors That Show Up Most Often
Most schema failures fall into a short list of repeat offenders, and the fix is usually faster than the diagnosis.
Missing @type or required properties. Every schema type has a specific set of required fields for the search feature you're targeting. A Recipe without recipeIngredient, or an Event without startDate, won't just show warnings, it disqualifies the page from that feature entirely. Cross-reference the exact requirements against the feature's documentation before you assume a field is optional.
Type mismatches. A price formatted as "49.99 USD" inside a price property that expects a plain number, or a date written as "March 3" instead of ISO 8601 format, will get silently dropped. Bing is explicit about this: incorrect data types can cause the crawler to ignore the entire annotation, not just the broken field.
Relative URLs. Properties like url and image need absolute paths. A relative path validates fine in a syntax checker but often fails silently once a search engine tries to resolve it against the wrong base.
JavaScript timing and caching. If your markup injects after initial page load, a validator fetching too early sees nothing. Test the rendered HTML, not just the source, and consider server-side rendering for pages where a rich result carries real business value.
Not every warning demands a fix. Schema that its data model is intentionally flexible, and validators can surface non-fatal warnings for optional fields. Fix fatal errors first. Add the nice-to-have properties later, once the feature you actually care about is working.

Advanced Verification for JavaScript-Heavy Sites
Single-page applications and sites with heavy client-side rendering need one extra layer most teams skip: comparing what the crawler downloads against what you see in a browser. Bing's URL Inspection tool includes a Live URL view that shows exactly what Bingbot receives, which is invaluable for catching consent-banner scripts or lazy-loaded content that blocks markup from ever reaching the crawler.
A parseable graph is not a guaranteed rich result. Eligibility depends on the specific feature's own documentation, page quality signals, and crawlability, none of which a validator measures. Format choice (JSON-LD versus Microdata versus RDFa) rarely moves the needle for major search engines; what matters is correct typed values and content that matches what a visitor actually sees on the page.
- Compare Bing's Live URL render against your source HTML for JS-heavy templates
- Check the target feature's own documentation, not just validator output, before declaring success
- For staged or auth-protected pages, use temporary access tokens or a headless-browser snapshot that mimics a crawler request
- Fold schema checks into CI using headless-browser tests that diff the extracted graph against a known-good sample
What Actually Moves the Needle in Schema Testing
Most teams over-index on validator warnings and under-index on one question: does the markup match what's visible on the page? Mismatches are the most common reason a technically valid schema gets ignored. Automate your checks in CI so a template change can't silently break schema across hundreds of pages, and add a schema line item to every release checklist. For high-value local or service pages where a rich result genuinely drives calls or bookings, ongoing schema hygiene is worth treating as a recurring task, not a one-time fix.
— Jason
Where to Verify Your Schema Testing Results
Bookmark these for repeat use: Google Search Central's structured data docs for eligibility rules, the Schema.org Markup Validator for syntax checks, and Bing's URL Inspection tool for crawler-rendered verification.
Rooted Up's own guide on local business schema implementation walks through a real example if you want to see the workflow applied to a live page. For generating clean test snippets quickly, BabyLoveGrowth's free JSON-LD tool is a solid starting point before you run anything through the official validators.
If your site's rendering setup is the actual root cause behind repeated schema failures, that's usually a templating or JavaScript problem, not a markup problem, and no amount of validator tweaking fixes it. A partner like Extraordinary's flat-price website rebuild is worth a look when the fix requires touching the underlying build rather than the schema itself.

Rooted Up folds schema hygiene into its ongoing Foundation, Growth, and Partner plans for solo professionals who'd rather not re-learn this checklist every time Google tweaks a feature requirement. If you just need the audit without the ongoing subscription, the Foundations Sprint covers a one-time cleanup for $1,500 to $3,000.
Sources
- Structured data - Google Search Central
- Schema.org Markup Validator — docs
- Marking up your site with structured data - Bing Webmaster Tools
FAQ
How Do I Test My Schema Markup?
Start with the Schema.org Markup Validator to check syntax, then run the live URL through Google's Rich Results Test to check feature eligibility, and finish by confirming crawler-rendered output in Search Console or Bing's URL Inspection tool. That order catches syntax errors, eligibility gaps, and rendering issues in sequence rather than all at once.
What's a Good Tool to Check Schema Code?
The Schema.org Markup Validator is the standard choice for checking JSON-LD, RDFa, and Microdata syntax, since it extracts and displays the parsed graph directly. For checking whether Google will actually show a rich result, pair it with Google's Rich Results Test, since the two check different things entirely.
How Do I Test Schema in a Database-Driven Site?
For sites pulling structured data dynamically from a database, test a representative page per template rather than every generated page, since a single broken query or include file can affect an entire category at once. Fetch the rendered URL (not a static code snippet) in the Schema.org validator so any database-driven values get checked as they actually output.
Is FAQ Schema Still Relevant?
FAQ schema remains a supported structured-data type, and Google's own documentation on structured data eligibility covers current requirements for FAQ rich results. Eligibility and display rules shift periodically, so it's worth rechecking Google's feature-specific documentation rather than assuming last year's implementation still qualifies.