Validate your XML sitemap

Finds your sitemap (from robots.txt or /sitemap.xml), parses it including sitemap indexes, counts the URLs and checks the things search engines reject: wrong host, HTTP URLs on an HTTPS site, bad lastmod dates, files over the 50,000 URL or 50 MB limit, and sampled URLs that do not answer 200.

Any public page. Try .

Next step

What to do about it

The check found it. These are the ways to fix it, keep it fixed, or run the same check for every business you serve.

Fix it

TagFrog Pro

$75/mo per store

Server-side tracking, consent and every ad platform API, proven with a real test order and kept current. Watch included when it launches.

See TagFrog Pro
Watch this

Watch

Coming soon
$19/mo per site

Re-runs this check every week and emails you the moment the answer changes: site down, tag gone, score dropped, certificate expiring.

Join the waitlist
For agencies

OpsBlu

Territory from $49/mo

This same check, run for every local business in a territory. Leads with a reason to call, as CSV, API and MCP.

Go to opsblu.com

What we check

  • Sitemap discovered via robots.txt or the default path
  • Valid XML with the sitemaps.org namespace
  • Sitemap index handling and child sitemap counts
  • URL count per file and total against the 50,000 limit
  • Hosts and schemes that do not match the site
  • lastmod values that parse as dates
  • A sample of listed URLs fetched for status

Cost of one run: 1-2 requests. Results for the same URL are kept for a few minutes, so running twice is free and instant.

Questions

Where should my sitemap live?

Anywhere on the same host, but /sitemap.xml is where every crawler looks first. Whatever the path, add a Sitemap: line to robots.txt so it is discovered without a Search Console submission.

Does every page need to be in the sitemap?

Only the pages you want indexed. Leave out redirects, noindex pages, paginated duplicates and anything behind a login. A sitemap full of 404s and redirects teaches crawlers to trust it less.

How often should lastmod change?

Only when the content actually changes. Setting every lastmod to today on every build is a known pattern that makes crawlers ignore the field entirely.