Free schema markup checker
Find the structured data on a page, see which types it declares, and catch the blocks that are present but silently broken.
- Lists every JSON-LD block on the page
- Shows the schema types declared, including inside @graph
- Flags blocks that fail to parse and are silently ignored
- Tells you when a page has no structured data at all
- Every page checked, with the types each one should carry
- Missing schema by page type — products without Product, posts without Article
- Generated markup written for the page, ready to paste
- Verification — we re-check the live page to confirm you shipped it
Learn more
Questions
What is schema markup?
A block of structured data — almost always JSON-LD in a script tag — that states plainly what a page is: a product, a recipe, an FAQ, a local business. It doesn't change what a visitor sees. It removes the guesswork for anything reading the page as data rather than prose.
Does schema markup improve rankings?
Not on its own. What it does is make a page eligible for rich results — star ratings, FAQ dropdowns, prices — which change how much space your result takes and how often it gets clicked. It also makes a page far easier for an AI answer engine to quote accurately.
Which schema types should I use?
The ones that describe what the page genuinely is. Organization and WebSite on the homepage, Article or BlogPosting on posts, Product on product pages, LocalBusiness if you serve a physical area, FAQPage where you really do answer questions. Marking up things that aren't on the page is a policy violation, not a shortcut.
Why does this tool say my markup is broken?
Because a JSON-LD block on the page failed to parse. That's the worst case in structured data: the markup is present, so it looks done, but every search engine silently ignores it. Usually a trailing comma, a smart quote from a CMS editor, or an unescaped character.
Is JSON-LD better than microdata?
For new work, yes. Google recommends JSON-LD, it sits in one block instead of being woven through your HTML, and it survives template changes that would otherwise break attribute-based markup.