The sitemap URL does not return XML
What this check looks for
Something answers at ‹sitemap url›, but it is not an XML sitemap. Crawlers will discard it, so the sitemap is effectively missing while appearing to be present.
Why it matters
This is the failure mode that survives longest: the URL returns 200, a browser shows a page, and every check short of parsing it says the sitemap exists.
What it costs your score
When this check fails it removes 6 points from your SEO score, before the status, confidence and repeat multipliers are applied. SEO carries a weight of 5 in the overall score.
It shares the seo.crawl family ceiling of 15 points: however many findings that family produces, together they cannot remove more than that from SEO. One underlying problem showing up in several places is still one problem.
- Severity
- low
- Default confidence
- confirmed
- Status when triggered
- warn
- Deduction
- 6 points
- Family cap
- seo.crawl · 15
- Category
- SEO
- Module
- Seo audit
- Fix owned by
- user
- In the ruleset since
- 2026.09
How to fix it
Serve a real XML sitemap at that URL, or stop pointing at it.
A body that is not XML is discarded by crawlers, so the sitemap is doing nothing while appearing to exist.
Open the URL and look at the raw response, not the rendered page —
curlrather than a browser.If a catch-all route is answering, exclude the sitemap path from it so the generated file wins.
If the generator was removed, either restore it or remove the
Sitemap:line from robots.txt so nothing points at a dead URL.Confirm the response is served with an XML content type and is not behind a redirect.
How to confirm it worked
curl -sS ‹sitemap url› | head -3 — should begin with <?xml and a <urlset or <sitemapindex root
A named slot like ‹domain› — and the braces left in the configuration below — is filled in with your own values when this rule appears on a report.
Technical detail
‹sitemap url› returned ‹status› with a body whose root element is ‹root element›:
‹excerpt›
A sitemap must have <urlset> or <sitemapindex> as its root element, in the http://www.sitemaps.org/schemas/sitemap/0.9 namespace. Anything else is discarded.
The causes, in rough order of frequency: a catch-all route serving the application's HTML for an unrecognised path with a 200 status, and a sitemap plugin that was disabled while the robots.txt line pointing at it stayed.
A sitemap that *redirects* — to a login page, a consent wall or anywhere else — does not produce this finding. We treat any 3xx as inconclusive and say nothing about the sitemap at all, so if you expect a sitemap and this report is silent about one, check for a redirect first.
A 404 here would be a better outcome than this, because it is unambiguous. What is served now tells anyone checking that the sitemap is fine.
Standards and references
Test this on your domain
Run the check that produces this finding, on its own, against any domain.
Other seo audit checks
- The page declares more than one canonical URL
- The canonical URL cannot be used
- The page declares no canonical URL
- The canonical URL points at a different page
- The page has no h1 heading
- The heading levels skip a level
- The page has more than one h1
- An hreflang annotation is not valid
- The hreflang set does not include this page
- The page's declared language is not a well-formed language tag
- The page does not declare what language it is written in
- Images on the page have no alt attribute