Validate the structured data on any URL — syntax, @context, @type, and which schema types are present.
Schema.org markup in JSON-LD tells search engines and AI assistants what a page is about in a form they do not have to guess at: this is a product with this price, this is an article by this author, this is a business at this address. It is also what makes a page eligible for rich results such as review stars, breadcrumbs and product details. If a JSON-LD block has a syntax error, the entire block is ignored and you lose all of it without any error on the page itself.
application/ld+json block is parsed; invalid ones are flagged@graph array (the shape Yoast SEO and Rank Math write) are read and listed@context and declares at least one @type.@context or @type is missing, so a search engine cannot tell what the data describes.application/ld+json script. Markup added by JavaScript, or written as Microdata or RDFa, is not read here.<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Co",
"url": "https://example.com/"
}
</script>
Check a page's title, description and social tags with the meta tag checker, or test crawl rules with the robots.txt tester. Draft an llms.txt with the llms.txt generator, or browse all free tools.
The SEO Audit API runs deep multi-tier schema validation as part of 80+ checks, scored. Free tier available.
It loads the URL, finds every script block of type application/ld+json, and for each one reports whether the JSON parses, whether @context is present, whether a @type is declared, and which schema.org types it found, including the nodes inside an @graph array.
No. It checks that the markup is well formed and lists what is there. It does not check the required and recommended properties Google asks for per type, such as an offer price on a Product. For eligibility use Google's Rich Results Test; the SEO Score API scores structured data as part of a full audit.
No, only JSON-LD. JSON-LD is the format Google recommends and the one most CMS plugins write. Markup written as Microdata or RDFa attributes is not read by this tool.
A parser cannot read any of it, so the whole block is ignored and everything it described is lost. A trailing comma, an unescaped quote inside a string, or a smart quote pasted in from a word processor is usually the cause. The tool shows the parser's message for each broken block.
It is a way to put several linked entities in one JSON-LD block, such as an Organization, a WebSite and a WebPage that refer to each other by @id. Yoast SEO and Rank Math both write their markup this way. The top-level object has no @type of its own, and that is correct.
Either the markup is Microdata or RDFa, or it is added by JavaScript after the page loads. This tool reads the HTML as served and does not run scripts.