What's New: JSON Reports and a One-Click AI Prompt
Export your scan as a versioned JSON report, or copy a ready-made prompt that gets any AI chat to explain your findings in plain language.

A scan gives you a table. A table tells you that forty pages are missing an H1 — it doesn't tell you whether that's forty separate jobs or one line in a template, which problem to fix first, or what any of it means to somebody who doesn't do SEO for a living.
This update is about closing that gap. There are two new items in the Export menu, and the existing CSV export got sharper. Everything below is live now, on every tool — point the sitemap checker at a sitemap and open Export.
Copy AI prompt
This is the one we're most pleased with. Run a scan, click Export → Copy AI prompt, then paste into ChatGPT, Claude, Gemini or whatever you already have open. You get back an explanation of your own scan, written for a human.
What lands on your clipboard is a set of instructions plus a condensed version of your results: the issue counts, the per-template breakdown, and your twenty worst pages. Deliberately not the full page list — on a 500-page scan that runs to hundreds of kilobytes, it won't fit in a chat box, and it isn't what the answer depends on anyway.
The instructions matter as much as the data. Left to itself, a model handed a pile of scan results tends to do three unhelpful things, so we tell it not to:
- Don't invent numbers. The report contains no traffic, rankings or conversion data, so any figure of that kind would be fabricated. We say so explicitly.
- Don't present a partial scan as the whole site. If the 500-page cap cut your sitemap short, the prompt tells the model to say that out loud rather than quietly describing half a site.
- Don't write for an SEO specialist. The answer is meant for whoever owns the site, which is usually not the person who knows what a canonical tag is.
We also explain our own vocabulary to the model, which is what makes the answers genuinely useful. It's told that a fix marked template-edit is one change that covers every affected page, while page-content means each page needs its own edit — and that anything marked low confidence should widen its estimate rather than be trusted. That's the difference between "you have 71 problems" and "you have one template to fix, plus seven pages to rewrite by hand".
Nothing is sent anywhere. The prompt is built in your browser and copied to your clipboard; where you paste it is entirely up to you.
Report (JSON)
The second new item downloads your scan as a structured JSON file. It's aimed at anyone wiring our output into something else — a script, a spreadsheet pipeline, a report generator, an internal dashboard.
The most important thing about it is the version stamp at the top: "schema": "seositemap/v1". We've been burned by tools that quietly restructure their exports, and we're not going to do that to you. If the shape ever changes in a way that breaks parsers, the version changes with it.
A few decisions inside the file are worth calling out, because they're the ones that make it more useful than a CSV.
H1 is an array
A page with eight H1 tags is a real thing we find often, usually on a homepage built from stacked sections. Flattened into a single string, that page is indistinguishable from one with a single correct H1 — the "multiple H1" problem simply vanishes from your data. So h1 is a list, always, even when there's one item in it.
If you want the background on why that matters, we wrote about it in multiple H1 tags.
Counters sit apart from the data
The file opens with a summary block: how many pages have each kind of issue. You shouldn't have to iterate a thousand objects to learn the scale of a problem, and now you don't.
Work is grouped by template
This is the part that took the longest to get right. Alongside the per-page results, the report groups your URLs into the templates that produced them — /blog/*, /services/* and so on — and for each template says how much work each issue actually represents.
Each item carries a units count and a unitKind, plus a plain-English why explaining how we reached that conclusion. Seventy-one over-long titles on one blog template, all built from the same title pattern, come through as a single template edit rather than seventy-one rewrites. Seven missing descriptions scattered across unrelated pages come through as seven separate jobs, because that's what they are.
We think this is the number most audit tools quietly get wrong. A list of problems isn't an estimate; the same hundred issues can be an afternoon or a fortnight depending on how they cluster, and nothing downstream can work that out once the grouping is lost.
Sharper issue exports
The issue-centric CSV — one row per problem rather than one per page — picked up two new columns.
Code is a stable identifier for each kind of issue: missing-h1, title-too-long, canonical-mismatch. Previously the only identity an issue had was its English sentence, which meant anything filtering or grouping our export was matching on prose that could change whenever we reworded a message. Now the wording is presentation and the code is the contract.
That change fixed a bug we hadn't noticed. The old categoriser only knew the messages it had been taught, so several checks — canonical mismatches and the AI-readability findings among them — were quietly landing in a bucket labelled "Other". They're properly categorised now, which may make your next export look like it found new problems. It didn't; it just stopped hiding them.
Source is the other new column, and it leads into the last change.
Saying what we don't know
Two kinds of line used to look identical in an export: a real problem on your site, and a page we simply failed to read. A timeout on our end is not a missing H1 on yours, and counting the two together makes a report claim problems that don't exist.
They're separated now. The Source column marks each row as Site or Scan, the JSON report keeps them in different fields, and the summary counts only your site's actual issues. Pages we couldn't read are still reported — you should know about them — but they no longer inflate your problem count.
The same thinking applies to coverage. Free scans are capped at 500 pages, which is plenty for most sites but not for all of them. The report now states how many URLs your sitemap offered, how many we scanned, and how many were skipped. If you send that report to a client or a colleague, it says on its face which part of the site it describes.
A 404 or a redirect listed in your sitemap, incidentally, stays a genuine finding — that's your site telling search engines about pages that aren't there, and it's worth fixing. It's our own failures we've stopped counting against you.
Where to find it
All of this lives in the Export button above your results, on every tool: the sitemap checker, the meta tags checker and content analysis. No account, no settings to change. Run a scan and the menu is there.
Key takeaways
- Copy AI prompt puts your scan plus a carefully-worded prompt on your clipboard, so any AI chat can explain the findings in plain language — with instructions not to invent traffic figures or overstate a partial scan.
- Report (JSON) exports a versioned
seositemap/v1document, so parsers built against it won't break when we ship changes. - H1s are exported as an array, so pages with several of them stay visible in your data instead of flattening into one.
- Issues are grouped by template with a
unitscount, which distinguishes a one-line template fix from two hundred individual edits. - Every issue now carries a stable
Code, and canonical and AI findings no longer fall into an "Other" bucket. - Our own scan failures are separated from your site's real problems, and the report states how much of your sitemap it actually covered.
Put this into practice
Run a free SeoSitemap audit and spot these issues on your own pages in seconds — up to 500 pages, no signup.
Start a free scanRelated articles

What's New: The AI-Friendly Checker, Smarter Meta Audits and Canonical Checks
A roundup of what we've shipped recently — a new AI-Friendly Checker, an interactive meta summary, real canonical validation, and AI-crawler discoverability.

Should You Block GPTBot and Other AI Crawlers in robots.txt?
A decision guide to AI crawlers in robots.txt: which bots train models, which ones cite you, what blocking really costs, and copy-paste rules for each stance.

A Short History of the Meta Description: From 1990s Keyword Tag to a CTR Signal Google Rewrites
How the meta description went from a 1990s ranking input to a click-through tool Google now rewrites — and what the tag is actually for today.