How the checker finds your sitemap
If you enter a sitemap URL, we start there. If you enter a domain, we read its robots.txt and use the Sitemap: lines, the way crawlers do. If there are none, we try /sitemap.xml and /sitemap_index.xml. A sitemap index is followed to its first 10 child sitemaps. We handle XML, gzipped XML and plain-text sitemaps (one URL per line).
What we check
- It’s really a sitemap. A 200 response with
<urlset>or<sitemapindex>, not an HTML error page. - Size limits. At most 50,000 URLs and 50 MB uncompressed per file. Bigger sites split into several files listed in an index.
- lastmod you can trust. Missing dates, invalid formats, dates in the future, and the tell-tale sign of a build script: every URL sharing one date.
- One version of each URL. A mix of
httpandhttps, or ofwwwand non-www, means the sitemap disagrees with your canonicals. - Other hosts. URLs on a different domain than the sitemap, which only work with cross-site verification.
URLs per file, sections and changefreq
Below the checks, three views read the whole sitemap again, each file and each URL once, and break it down:
- URLs per file. Entries and new URLs in every file, plus the unique total. A URL listed in two files counts toward the first, so the “new URLs” column adds up to the total. Compare it with the indexed count in Search Console: if you submit 5,000 URLs and 1,200 are indexed, read the “Crawled, currently not indexed” reasons before publishing more.
- Sections and dates. URLs by first folder (
/blog/,/docs/) or first two, folder depth, file types, hosts and lastmod by month. It works on a competitor’s sitemap too. A spike in one month is either a bulk launch or lastmod set to the deploy date. - changefreq and priority. Every value used, the invalid ones, and URLs that say “daily” while their lastmod is months old. Google’s documentation says it ignores both tags and uses lastmod when it’s consistently accurate, so use this view to clean up, not to tune rankings.
What a healthy sitemap looks like
It lists only URLs you want indexed: final URLs that return 200, are self-canonical and aren’t blocked by robots.txt or noindex. No redirects, no parameters, no paginated duplicates. Each lastmod is the date the page’s content last changed, not the date you deployed. Large sites split by page type (products, posts, docs) so Search Console can report indexing per group.
A sitemap index with honest lastmod dates was part of the technical base we built for our own product, described in the Versely case study. Every result here includes a sample of URLs so you can spot-check them; run any that look old through the redirect checker.
Limits
The checks read up to 10 MB per file and 10 child sitemaps, with a time budget of about 25 seconds; the three views read up to 20 files and 50,000 unique URLs. We don’t fetch the listed pages themselves, so we can’t tell you which URLs redirect or return errors, only what the sitemap claims. To check every entry against the protocol, use the sitemap validator; to see what changed between two sitemaps, sitemap compare.