Schema Gap Finder: Diagnoses Gaps, Not Just Generates Tags
There are a hundred schema generators on the web. Paste your details, get a JSON-LD block. Useful — but they all assume you already know which types you need. This tool does the opposite job: it reads a page you already have, works out what kind of page it is, and tells you the structured data you're missing for that page type. Diagnosis, not generation.
What it actually does
Paste a URL and the tool fetches the page, then pulls every structured-data type already present. It does this two ways:
- It extracts every
<script type="application/ld+json">block, parses the JSON, and walks the whole tree — including@graph, nestedmainEntity,itemListElement,provider, and other embedded typed nodes — collecting every@typeit finds. If a block is malformed, it attempts a lenient salvage rather than silently dropping it. - It also reads microdata
itemtypedeclarations (itemtype="https://schema.org/..."), so it catches schema declared the older way too.
That gives the "You have" column. Then it builds the "You're missing" column by inferring your page type and comparing.
How it decides what you "should" have
This is where the tool earns its keep. It doesn't hand everyone the same checklist. It reads the page content and detects type with heuristics:
- Article — an
<article>element, or eight-plus paragraphs alongside adatetime, an ISO date, or "published / posted on / min read" phrasing. - FAQPage — "frequently asked", an FAQ heading,
<summary>elements, or question-and-answer patterns. - Service / Offer — "our services", "we offer", pricing, "book now", "get a quote", "starting at", a currency symbol next to a number.
- LocalBusiness — a street-address pattern, a
tel:link, or a phone number near "address / location / visit us" language.
From that, it assembles a recommended baseline — WebSite and BreadcrumbList for almost any page, plus an Organization or LocalBusiness anchor — and adds the conditional types your content actually warrants. The missing list is only the recommended types that are genuinely absent. Each comes with a plain reason: why Article markup earns rich results, why LocalBusiness drives map-pack visibility, why Offer surfaces pricing.
Why this is different from a validator or a generator
Google's Rich Results Test and the schema.org validator tell you whether the markup you have is valid. They say nothing about what you're missing — paste a page with zero schema and they'll happily report no errors, because there's nothing to error on. A blank page is "valid". That's the blind spot.
Generators have the opposite blind spot: they produce markup but don't look at your live page, so they can't tell you what's already there or what's absent. This tool sits in the gap between the two — it reads your real page, infers intent from the content, and points only at the structured data that page type should reasonably carry but doesn't.
It's also deliberately honest about the anchor. It will flag LocalBusiness or Organization, never both, because LocalBusiness already covers the organisation role. No padding the missing list to look more alarming.
What it does not do
- It does not validate your existing schema. This is the important one. The tool catches missing types. It does not check whether the schema you already have is correct, complete, or contradicts your visible page. Missing and broken are different problems; this finds the first.
- It checks one page at a time — not your whole site.
- The page-type detection is heuristic. It's a best-effort read of raw HTML, so an unusual page might be mis-typed. The reasons are shown so you can judge each suggestion rather than apply it blindly.
- Adding schema is not a ranking button. It makes you eligible for rich results and hands AI clean facts to quote. That helps over time; it isn't a switch.
What you'll see when you run it
Two columns. On the left, in green, every type the tool found on the page — Organization, WebSite, Article, Product, whatever's there. On the right, in amber, the types it recommends you add, each with a one-line reason. If it finds no structured data at all, you get a clear banner: the page is being read as plain text, and every type below is a gap.
A strong page shows a healthy "have" column and a short "missing" one. A page with an empty "have" column and a full "missing" one is being read by machines as undefined — they're guessing what it is.
Who should run this
Anyone who's had schema "added" by a plugin or a developer and isn't sure what landed — this shows you what's actually on the page. Anyone publishing articles, marketing a service, or running a local business who wants to know if the obvious markup for their page type is in place. And anyone who's run a generator and wants to confirm the output is actually live on the page.
Find your schema gaps on any page in a few seconds. To validate every existing block site-wide and get the exact JSON-LD to add, page by page, that's the full AUDXY audit.