What we check
The check finds every <script type="application/ld+json"> block, parses it and collects the @type values, including those inside @graph lists. No block means "to review"; otherwise the finding lists count and types. Broken blocks with syntax errors are skipped and missing from the type list, which is itself a hint that something is wrong.
What the scan does not test: whether the markup matches the page content, whether required fields are missing and whether Google accepts it for rich results. That is what the Rich Results Test and Search Console are for.
Why it matters
Structured data is not a ranking factor. It does decide whether Google shows a page with rich results, and it hands search engines and AI assistants the entities in machine-readable form: company, product, price, job, question and answer. A site that names its full legal entity with register number and LinkedIn profile in the markup gets confused less often with a similarly named vendor. Exactly that clarity is missing on many mid-market sites.
Common causes
- The CMS theme ships no markup and nobody added any.
- The markup exists but is invalid (syntax errors, wrong types) and gets ignored.
- Plugin-generated blocks contradict each other, say two Organization nodes with different data.
- Prices or availability in the Product schema are stale because the markup does not come from the shop system.