Schema Markup Audit Prompt for ChatGPT & Claude
A page can look perfect and still be sending search engines the wrong schema type, a broken heading order or no breadcrumb schema at all. This is the prompt that checks all three in one pass, using the AI you likely already have open.
Quick answer
This page's prompt audits three things in one pass: what schema markup type is present and whether it's right for the page, whether the heading stack (H1 through H6) has a missing or duplicate H1 or a skipped level, and whether a BreadcrumbList schema block exists and actually matches the visible breadcrumb trail. Give your AI the page by file access (Claude Code, Codex, Cursor, or the chat agent inside Lovable, Bolt.new or Base44) or by pasting its HTML into a chat assistant. A URL alone is worth trying only for the heading check, because the one fetch tool we tested returned no JSON-LD. For real performance numbers (load speed, Core Web Vitals), use Google's own free PageSpeed Insights, which runs Lighthouse, directly; no AI prompt substitutes for a real measurement.
Tools for this build
Custom Prompt Builder
For writing your own where/what/what-shouldn't-change prompt once you know what to fix.
Website Prompt Generator
Ready-made prompts for the rest of the page: titles, meta descriptions, headings and alt text.
POPIA Compliance Checker
For when your build starts collecting real visitor data.
Why one prompt covers three different checks
Schema markup, heading structure and breadcrumb schema are three separate technical signals that never show up in a normal preview. Your page looks fine, so nothing prompts a check. A dedicated SEO audit tool bundles them together with dozens of other checks, usually behind a paid or freemium signup. If you're already building with Lovable, Bolt.new, Base44 or Claude Code, though, you almost certainly have an AI assistant open already, often one that can read your project directly. One well-specified prompt then gets you the same three answers, no new tool, no signup, no waiting for a crawl to finish.
Where your AI can see the page from
The three checks are the same everywhere. What changes is how your AI gets to the page, and that decides which of the checks it can actually do.
| Where your AI works | What to give it | Watch out for |
|---|---|---|
| A coding agent with project access | Nothing to paste or fetch. Claude Code, Codex, Cursor or the chat agent inside Lovable, Bolt.new or Base44 can read the project: name the page's route or file. | A JavaScript app can build its head and headings at runtime, so confirm any finding on the live page. |
| ChatGPT or Claude in a browser | The page's HTML: View Source (Ctrl+U or Cmd+Option+U) on a normal site, or the page after its scripts have run on a client-side rendered app (steps below the table). | View Source on a client-side rendered app (Base44, and older React + Vite Lovable apps created before 13 May 2026 and not upgraded) can show an empty shell without your JSON-LD. |
| An assistant that can only fetch a URL | Just the URL, for the heading check. | In the one tool we tested (Claude Code's fetch tool) the JSON-LD did not come through. ChatGPT's browsing was not tested. |
On a client-side rendered app, View Source can miss what scripts add. Open DevTools in Chrome, right-click the <html> line at the top of the Elements tab and choose Copy, then Copy outerHTML. That gives you the page after its scripts have run, which is the version to paste.
Platforms that prerender for crawlers (Base44, and older Lovable apps) can show a crawler something different from what your browser shows, so a "no JSON-LD found" result on your browser's version does not prove crawlers see none.
The prompt
Copy this into your AI and keep only the option that matches how it reaches the page:
I want you to audit a page for three structural issues: its schema markup, its heading stack, and its breadcrumb schema.
How you can see the page (keep the one option that applies to me, delete the other two):
- OPTION 1, you can read my project's files. Audit this page: [route or file name]. Read the files that build the page's <head> (index.html and any head or SEO component) and the page's own components. If something is generated by code at runtime, say so, because the live page may differ from the source.
- OPTION 2, I've pasted the page's HTML (after its scripts ran, if it's a JavaScript app): [paste the full HTML here]
- OPTION 3, I've only given you a URL: [paste the URL here]
If the way you're reading the page can't show <script> tags (a fetch tool may return plain text only), don't tell me a check found nothing. Tell me which checks you couldn't do and what you'd need to do them.
Check these three things and report each one separately and don't blend them into one paragraph:
1. Schema markup: find every JSON-LD block (a <script type="application/ld+json"> tag, or the code that writes one). For each one, state its @type, and note anything that looks wrong: no schema block at all, a @type that doesn't match what the page's actual content clearly is, two types that each claim to be the page's main subject (for example an Article and a Product; an FAQPage, HowTo or BreadcrumbList block alongside the main type is normal stacking, not competition), or a required field missing for that type (Google's Rich Results Test, for example, flags a software or web app type that has fewer than two of offers, aggregateRating, applicationCategory and operatingSystem).
2. Heading stack: list every H1 through H6 in document order, exactly as written. Flag it if there's no H1, if there's more than one H1, if a heading level is skipped (an H2 followed directly by an H4, with no H3 anywhere), or if a heading looks like it's only there for visual size rather than genuine document structure.
3. Breadcrumb schema: check for a BreadcrumbList JSON-LD block. If it exists, compare its hierarchy against the page's visible breadcrumb trail, if there is one, and note any place they disagree about the page's actual position in the site. If there's a visible breadcrumb trail but no BreadcrumbList schema, say so.
For each of the three checks, tell me plainly whether it's a real problem or just a minor style choice, and what the fix would actually look like. Don't invent an issue where none exists.What "good" looks like, check by check
| Check | What good looks like | Common problem |
|---|---|---|
| Schema markup type | Present, matches the page's real content, one clear main @type (FAQPage, HowTo and BreadcrumbList stack alongside it normally) | Missing entirely, a mismatched type or several @type blocks competing for the same content |
| Heading stack (H1-H6) | Exactly one H1, no skipped levels, headings used for structure | Zero or multiple H1s, a level jumped over or a heading chosen for its font size rather than its place in the outline |
| BreadcrumbList schema | Present, and its hierarchy matches the visible breadcrumb trail | Missing despite a visible trail existing, or describing a different hierarchy than what's actually shown |
What this can look like in practice
Say a page is a free currency converter tool. This is an illustration of the kind of findings a run can turn up, not a single captured output:
Illustrative findings for a free currency converter page
Schema markup
No JSON-LD block found anywhere on the page. This is a free interactive tool with no structured description at all. Adding a WebApplication type (with applicationCategory and operatingSystem set) would give it software-app markup that passes Google's Rich Results Test.
Heading stack
Two H1s found ("Free Rand to Dollar Converter" and "Live exchange rates updated hourly"); there should be exactly one. An H3 ("How to use this tool") appears directly after the first H1 with no H2 in between, which is a skipped level.
Breadcrumb schema
A visible breadcrumb trail exists (Home > Tools > Currency Converter), but no matching BreadcrumbList schema was found anywhere on the page.
AI Build · aibuild.co.za
Three separate, specific findings, each one something a quick glance at the rendered page would never surface. After a URL-only run, don't trust a "no JSON-LD found" answer for the schema check: re-run with file access or the pasted page HTML. Cross-check anything it flags as broken against Google's Rich Results Test before treating it as confirmed.
Fixing what the audit flags
For a wrong or missing schema block, including a missing BreadcrumbList, use this site's prompt for generating correct schema markup. For a heading problem, or a visible breadcrumb that's wrong, fix it in your project's code: your builder's chat agent or Claude Code can make the edit from the audit's findings, or you can change the file yourself. Then run the audit again to confirm the finding is gone.
What this prompt doesn't check
This prompt is deliberately narrow. It doesn't measure load speed, Largest Contentful Paint, Cumulative Layout Shift or any other real performance number. For that, use Google's own free PageSpeed Insights directly; an AI reading your page can't replicate what a real browser measurement engine does. It also doesn't check for broken links, content quality or whether you're targeting the right keywords. It covers three specific structural signals, nothing more, and it's meant to sit alongside a real performance check, not replace one.
If this didn't cover your situation
- The audit came back clean but the page still isn't showing up on Google: Why Your AI-Built Website Isn't Showing Up on Google.
- Not sure which schema type your page even needs before running either prompt: Schema Markup Types Explained.
- Want the full detail on how visible breadcrumbs and BreadcrumbList schema are supposed to relate: Breadcrumb Navigation vs Schema Markup.
Not affiliated with the platforms we write about
AI Build South Africa is an independent resource. We're not endorsed by, or an official partner of, Google, Schema.org, Anthropic or OpenAI. We do participate in affiliate and referral programmes with some platforms named on this Site, though not these four. AI model behaviour changes between versions and a plain chat session can occasionally miss or misjudge a borderline case, so treat this prompt's findings as a fast first pass, not a guaranteed audit. See our Disclaimer for the full disclosure and our Terms of Service for the wider terms.
Frequently asked questions
What is a schema markup audit?
A schema markup audit checks what structured data is actually on a page, which schema.org @type it uses, whether required fields are present, and whether all of that matches what the page should have for its real content type. This page's prompt handles that check, plus two related structural checks (heading order and breadcrumb schema) in one pass.
Is there a free heading structure checker?
Not as a dedicated tool on this site, but the prompt on this page checks it directly. Give an AI that can read your project's files the page's name, paste the page's HTML into a chat assistant, or, for this check only, give a browsing-capable AI the URL, then ask it to list every H1 through H6 in document order, flagging a missing or duplicate H1 and any skipped level. A chat AI you already have open can do the job without installing anything.
How do I check if my breadcrumbs have schema markup?
Open the page's source (Ctrl+U or Cmd+Option+U) and search for BreadcrumbList; on a JavaScript-app builder where the source looks empty, search in the Elements tab of DevTools instead. The absence of a BreadcrumbList block doesn't mean your visible trail is broken, only that the trail isn't in a machine-readable format search engines can read directly. The prompt on this page checks for it and reports whether the schema's hierarchy actually matches what a visitor sees.
Can I check my website with AI for free?
Yes. Both ChatGPT and Claude have a free plan, and either can run the audit prompt on this page (usage limits apply). Which route to use depends on how your AI reaches the page, so see the table above the prompt on this page.
Does this replace PageSpeed Insights?
No. This prompt only checks structural correctness (your schema type, heading order and breadcrumb schema), none of which is a performance metric. See the "What this prompt doesn't check" section above for the full split between what this prompt covers and what PageSpeed Insights covers instead.
Why does heading order matter if it doesn't change how the page looks?
Because a heading tag communicates document structure, not visual size, to a screen reader and a search engine, even when CSS makes it look identical to a paragraph. A skipped level or a missing H1 makes the page harder for both to parse correctly, an accessibility and an SEO issue at once, not just a cosmetic one.
Related reading
- Getting Your Site Indexed: once schema and headings check out, the next real question is whether Google has actually found the page.
- Do SEO Hacks Actually Work in 2026?: where a genuine structural fix like this one fits among the fundamentals, separated from the hype.
- How to Add Schema Markup to an AI-Built Site: where the corrected code goes, and four checks that prove it's really there.