The short answer
Validate one layer at a time and record the result under the right label. Fix syntax first, check Schema.org meaning second, compare the markup with visible content third, audit crawl and index controls fourth, then test a fixed set of prompts. Treat a ChatGPT link as an observed output, not proof that JSON-LD caused the selection.
What to know
JSON-LD can describe facts on a page in a machine-readable form, but there is no documented ChatGPT-specific JSON-LD validator or citation score. OpenAI‘s publisher guidance tells site owners who want content included in ChatGPT search summaries and snippets not to block OAI-SearchBot. It does not state that JSON-LD is required, preferred, or a direct citation signal. A sound audit therefore separates five questions: can the JSON parse, does the vocabulary make sense, does it match the visible page, can the page be retrieved, and does the page actually appear in observed answers?
The problem
A green result in a JSON parser proves only that the text is valid JSON. Schema.org validation checks types and properties, while Google’s Rich Results Test checks eligibility for supported Google Search features. None of those results proves that ChatGPT retrieved the page, used its JSON-LD, cited it, or ranked it for a prompt.
Before you start
Have these ready before you change anything, so you can check the result straight away.
Admin access to your site
Your CMS or code, or someone who can change the site for you.
A list of the pages that matter
The product, pricing and guide pages you most want AI to read.
A way to check the result
A crawler or the page source, plus your server logs if you have them.
Local diagnostic
Check JSON-LD syntax and basic structure
Paste raw JSON-LD or one or more script blocks. This check runs in your browser and does not send the markup to Trakkr.
Four different outcomes
Valid syntax
{"@context":"https://schema.org","@type":"Article","headline":"Example"}Parseable JSON with a Schema.org context and type. This is not proof that every property is accurate or feature-eligible.
Invalid syntax
{"@context":"https://schema.org","@type":"Article",}The trailing comma makes this invalid JSON, so the block cannot be parsed as written.
Misleading data
{"@type":"Product","offers":{"price":"99"}}Syntactically valid, but misleading if the visible page says the price is $129. Validation cannot settle that comparison for you.
Unsupported inference
{"@type":"Article","aiCitationLikelihood":"high"}Adding an invented property does not create ChatGPT citations, AI Overview eligibility, or a ranking signal.
What this check cannot prove
It does not validate Schema.org meaning, compare markup with visible content, test Google rich-result eligibility, confirm indexing or retrieval, or predict an AI citation or ranking.
Then measure the answers your audience sees
Work through it in six steps.
Parse the exact markup served on the page
Copy the application/ld+json block from the rendered page, not only from a CMS field. A valid example is {“@context”:”https://schema.org”,”@type”:”Article”,”headline”:”Example”}. An invalid example is the same object with a trailing comma before the closing brace. The first parses; the second does not.
Check Schema.org types and property relationships
A JSON parser cannot tell you whether a property belongs on a type or whether its value has the expected shape. Use the Schema.org validator for that semantic check. A custom property such as {“aiCitationLikelihood”:”high”} may still be valid JSON, but it does not create a documented Schema.org meaning or ChatGPT signal.
Compare every marked-up claim with visible content
Markup should describe what a visitor can verify on the page. For example, {“@type”:”Product”,”offers”:{“price”:”99”}} is misleading when the visible price is $129. Fix stale names, prices, availability, dates, authors, and URLs at the source rather than hiding a different claim in JSON-LD.
Use Google feature tests only for their stated purpose
Google’s Rich Results Test reports whether supported markup can qualify for specific Google Search rich results. It is not a general ChatGPT test. A pass does not show that OpenAI fetched the page or that a future ChatGPT answer will cite it.
Audit ChatGPT search retrieval prerequisites
Confirm the page is public, returns the intended canonical HTML, is not accidentally noindexed, and is not blocked for the crawler policy you chose. For ChatGPT search inclusion, OpenAI specifically tells publishers not to block OAI-SearchBot. OpenAI does not document JSON-LD as a substitute for crawler access or useful page content.
Measure citations with a fixed prompt log
Save the exact prompt, date, answer, linked URL, and competing sources for each run. Repeat the same prompt set after meaningful page changes. If a link appears, record it as a ChatGPT search observation. Do not infer from the link alone that JSON-LD was read or that it caused the answer.
Conclusion
JSON-LD validation is useful when it stays within its limits. Parse the markup, check the vocabulary, match it to the page, and keep retrieval controls intentional. Then measure ChatGPT answers directly. Valid markup can support a clean technical foundation, but it does not guarantee retrieval, citation, or ranking.
You’re done when the change is live and checks out.
Check these on the published site, not in the editor.
The pages can be fetched
Key pages return a 200 status and show their main content without scripts.
The change is in the live code
You can see the tag, file or setting on the published page.
Nothing else broke
Search Console and your analytics show no new errors after the change.
If the results don’t make sense
| What you see | What to check next |
|---|---|
| The change doesn’t show on the live page | Clear any cache or CDN, then check the published page, not the editor preview. |
| AI crawlers are still blocked | Check robots.txt, your firewall and any bot-protection rules for AI user agents. |
| Results haven’t moved yet | Technical fixes take effect when pages are fetched again. Keep the change and recheck the same questions later. |
Sources and method
Schema.org validation can establish syntax and vocabulary, while OpenAI documents crawler access for ChatGPT search. Neither source says valid JSON-LD causes a ChatGPT citation, so this guide tests markup, retrieval, and answer output as separate layers.
ChatGPT · 2 primary sources · 6 steps
Updated July 21, 2026