dotvitals

No XML sitemap could be found

LowConfirmedQuick winseo.sitemap.missing

What this check looks for

Neither robots.txt nor the conventional /sitemap.xml location produced a sitemap. Crawlers will still find your pages by following links; a sitemap makes discovery faster and more complete.

Why it matters

Pages that are not linked from anywhere prominent — a new section, a deep archive, anything reachable only through a search box — can go undiscovered for a long time without a sitemap listing them.

When the check passes, your report says: “An XML sitemap was found for the site”.

What it costs your score

When this check fails it removes 8 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
8 points
Family cap
seo.crawl · 15
Category
SEO
Module
Seo audit
Fix owned by
user
In the ruleset since
2026.09

How the whole score is calculated

How to fix it

Publish an XML sitemap and declare it in robots.txt.

It gives crawlers a complete, authoritative list of the pages you want indexed, including ones that are not easy to reach by following links.

  1. Generate a sitemap from your application or CMS rather than maintaining one by hand — a stale sitemap is worse than none.

  2. List canonical, indexable URLs only. Exclude anything that redirects, 404s or carries noindex.

  3. Add Sitemap: https://example.com/sitemap.xml to robots.txt. The line is global and does not belong to a User-agent group.

  4. Submit it in Google Search Console as well; the two routes are independent and both are cheap.

  5. Split into a sitemap index beyond 50,000 URLs or 50 MB uncompressed.

How to confirm it worked

  • curl -sS ‹well known url› | head -3 — should show <urlset or <sitemapindex

  • curl -sS ‹robots url› | grep -i sitemap — should name the sitemap URL

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.

Remediation by platform

Site root files
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-09-13</lastmod>
  </url>
</urlset>
  • Absolute URLs, and lastmod only where it is genuinely accurate — a date that changes on every deploy is ignored, and Google has said so.

Technical detail

We looked at the Sitemap: lines in ‹robots url› and at ‹well known url›, fetching at most two candidates in total and taking the declared ones first. So a robots.txt that declares two sitemaps uses up both attempts, and ‹well known url› is then not fetched at all. ‹detail›

A sitemap is not required and its absence is not a penalty. What it does is give crawlers a complete list of the URLs you consider canonical, together with a last-modified date they can use to prioritise recrawling. On a small, well-linked site the benefit is modest; on a large one, or one with content that is not reachable in a few clicks, it is substantial.

List only canonical URLs you want indexed, use absolute URLs, and keep each file under 50,000 URLs and 50 MB uncompressed — beyond that, use a sitemap index. A sitemap listing URLs that redirect, 404, or carry noindex wastes crawl budget and is a common source of confusing Search Console reports.

We did not follow a sitemap index to its children, and we did not verify the URLs inside. This finding is about discovery only.

Standards and references

Test this on your domain

Run the check that produces this finding, on its own, against any domain.

Open the seo audit checker

Other seo audit checks