AI Visibility Tracking ToolFree checker

Free JSON-LD Checker: Does Your Markup Match Your Page?

99Visibility Research · Updated October 21, 2026 · 6 min read

A free JSON-LD check does two jobs. It confirms your markup parses without syntax errors. More usefully, it shows where the facts in your markup (price, business name, address, phone) disagree with the text a visitor sees. Fix the mismatches so every version of a fact says the same thing. Don't add schema to win AI citations, and don't rip existing markup out either.

What a free JSON-LD check tells you

JSON-LD is a block of structured data that sits in a script tag in your page's HTML. It restates facts about the page in a machine-readable format: your business name, a product price, an address, opening hours.

A free check answers three questions:

  • Does it parse? One missing comma or unclosed bracket makes the whole block unreadable.
  • Does it match the page? If the markup says $49 and the pricing table says $59, your page now carries two versions of one fact.
  • Is it in the raw HTML? Markup added by a tag manager or a client-side script only exists after JavaScript runs.

The second question is the one most validators skip. A validator checks that the markup is well-formed against the schema.org vocabulary. It doesn't read your visible text, so it can't tell you the price is stale. That comparison is the part worth your time.

How to check JSON-LD by hand

You need a browser and, optionally, a terminal. Pick one page with facts that matter, such as pricing, contact or a product page.

  1. Find the blocks. Open the page, press Ctrl+U (Cmd+Option+U on Mac) to view source, and search for application/ld+json. Each match is one JSON-LD block.
  2. Count them from the raw HTML. This shows what a crawler that doesn't run JavaScript receives:
curl -s https://example.com/pricing | grep -c 'application/ld+json'
  1. Compare with the rendered page. Open DevTools (F12), go to Elements, and search for the same string. If the rendered count is higher than the curl count, some markup is injected by script.
  2. Check syntax. Copy one block's contents (without the script tags) into a file and run:
python3 -m json.tool schema.json

It prints the JSON neatly if valid, or the line and column of the error if not. Google's Rich Results Test (search.google.com/test/rich-results) and the Schema Markup Validator (validator.schema.org) also flag vocabulary problems. 5. Compare facts line by line. For each field that states a fact (name, price, priceCurrency, address, telephone, openingHours, dateModified), find the same fact in the visible text. Write down every difference. 6. Repeat on the pages that share a template. A wrong value in a template repeats on every page built from it.

How to read the result

Sort what you found into four groups, then act on each.

Finding What it means Next move
Syntax error The block can't be parsed at all Fix the JSON. Usually a stray comma or quote
Vocabulary warning A property or type isn't recognised Fix it if it's a typo. Ignore optional-field nags
Fact mismatch Markup and page disagree Update the markup to match the visible text
Rendered-only markup Present after JavaScript, missing in raw HTML Move it into the server-rendered HTML if you keep it

Fact mismatches deserve the most attention. The usual cause is an old template or a plugin that cached last year's price or address. Make the visible page the source of truth, because that's what customers read. Then make the markup, the footer, the about page and any other copy of that fact agree with it.

The rendered-only finding matters beyond markup. Vercel's crawler study found that ChatGPT and Claude crawlers fetch JavaScript files but don't execute them, so they can't read client-side rendered content. If your prices only appear after hydration, that is a bigger problem than any schema block.

Keep it, fix it, but don't add it for AI

The evidence on schema and AI answers points in one direction. Google's AI optimization guide says you don't need new markup or machine-readable files to appear in Google Search, including its generative AI features. It says adding them will neither harm nor help.

The best test available agrees. Ahrefs' matched-control study tracked 1,885 pages that added schema against matched controls and found no major uplift on any platform. AI Overview citations fell 4.6%, a statistically significant result. One boundary applies: every treated page already had 100 or more AI Overview citations. Whether schema helps a page with none is untested, not proven either way. You can read the full picture in does schema markup help AI citations.

FAQ rich results were also deprecated in May 2026, so FAQ markup no longer earns a Google display feature.

So the honest line has two halves:

What does carry evidence is a specific fact stated plainly on a page that can be fetched. A price or a one-line definition in the HTML gives an engine a sentence it can quote. The structured data vs plain-text facts comparison covers that trade-off.

What the check can't tell you

A clean JSON-LD result is a hygiene result. It doesn't predict anything about AI answers.

  • It can't tell you whether AI crawlers reach the page. A robots.txt rule or a firewall returning 403 blocks a crawler before markup matters. Run the AI crawler checker for that.
  • It can't see suppression controls. A stray noindex or data-nosnippet keeps content out of AI answers regardless of markup. The noindex and nosnippet check covers those.
  • It can't see index status. As of October 2026, Google says a page must be indexed and eligible for a snippet to appear as a supporting link in AI Overviews or AI Mode. Only Search Console confirms index membership.
  • It can't tell you what AI says about you. Matching markup removes one internal contradiction. It doesn't show whether ChatGPT states your price correctly. The free checker on this site runs up to three buyer questions and shows what the engines say.

No check, free or paid, can promise a citation. You control access, rendering and whether your facts are consistent. You don't control what a model chooses to say.

The free tool that does it faster

The manual steps work, but comparing every field across a template gets slow. The free Schema Markup Generator builds valid JSON-LD from the facts you enter, so you can regenerate a clean block from your current visible values and replace a stale one. It won't make markup a citation lever, and it's best used to fix what you already have. For what a generator can and can't do, read the free schema markup generator guide.

More on this

Is valid JSON-LD enough to get rich results? No. Valid syntax only means the block can be parsed. Google decides separately whether to show any rich result, and some types no longer have one: FAQ rich results were deprecated in May 2026. Treat a passing validator as a minimum, not a promise of any display feature in search.

Should the markup or the visible page win when they disagree? The visible page, in almost every case. Customers read the page, and it's usually the version someone updated most recently. Correct the visible text first if it's wrong, then update the markup, the footer, the about page and any other place the same fact appears so they all match.

Does JSON-LD added through Google Tag Manager count? Googlebot renders JavaScript, so it can usually see script-injected markup. Many AI crawlers don't execute JavaScript, per Vercel's crawler study, so they likely never see it. If you keep the markup, put it in the server-rendered HTML. Compare a curl fetch with the rendered DOM to check.

Will fixing mismatched markup stop AI getting my facts wrong? Nobody can promise that. It removes one contradiction on your own site, which is in your control. AI answers also draw on model training data and other sites that mention you. The useful next step is to compare what the engines actually say against your corrected facts.

How often should I recheck my JSON-LD? Recheck after any change to prices, addresses, product names or page templates, and after plugin or CMS updates. Those are the moments a stale value gets reintroduced. A quick pass over your pricing and contact pages each quarter catches most drift between releases.

Sources

  1. We Tracked 1,885 Pages Adding Schema. AI Citations Barely Moved.
  2. Google's Guide to Optimizing for Generative AI Features on Google Search
  3. AI Features and Your Website
  4. The rise of the AI crawler - Vercel
  5. Intro to How Structured Data Markup Works

This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.

Keep reading