XML sitemap validator and checker, free
This XML sitemap validator and checker fetches a sitemap or sitemap index, validates the XML, and checks up to 25 of the URLs it lists: whether each one loads, redirects, is marked noindex, or names a different canonical URL than the sitemap does.
Result for
URLs found across child sitemaps, checked. Capped at 25 for this free check. A full crawl covers every URL.
Format issues
robots.txt
-
→
canonical:
Note
noindex directive, or name a different canonical URL than the sitemap lists them under. Format issues (missing or empty <loc>, a <loc> that isn’t a fully-qualified URL, a URL on a different host than the sitemap file itself, duplicate URLs, invalid priority/changefreq/lastmod, mixed http/https, over 50,000 URLs in one file) are checked against every URL the sitemap lists, not just the sample of 25.
Paste any public sitemap, ours or someone else's, and see where it disagrees with the pages it points to.
Use this tool often? Bookmark this page, so it is one click away next time.
Email me this result
Want a copy for your records or a client? Leave your email and we'll send you this result. It is written by a real person at Crawl Cove, not an automated blast, so it may take a little while to arrive. We'll only use your address to send it, unless you also tick the box below. Privacy policy.
Got it. We'll email your result to you. Nothing else lands in your inbox unless you ticked the tips box.
What this XML sitemap validator shows you
Paste a sitemap URL and it is fetched and parsed server-side. Paste your homepage instead and the tool finds the sitemap for you: first from the Sitemap: lines in your robots.txt, then at /sitemap.xml, /sitemap_index.xml and /wp-sitemap.xml, and the result says which file it used. If it is a sitemap index, up to 5 of its child sitemaps are followed and their URLs pooled together. Up to 25 of the listed URLs are then checked: the HTTP status each one returns, whether it redirects and to where, whether it carries a noindex directive (in the page's meta robots tag or its X-Robots-Tag header), and whether its own canonical tag names a different URL than the one the sitemap listed it under.
Why a sitemap entry can be wrong even when the page loads fine
A sitemap is a claim: "index this URL." Three things quietly break that claim without the page ever 404ing. A redirected URL sends a crawler somewhere else, so the sitemap is really pointing at the destination, not the address it lists. A noindexed URL tells search engines not to index it at all, which contradicts the sitemap listing it in the first place. And a canonical mismatch means the page itself names a different URL as the "real" one, so the sitemap entry and the page disagree about which address should rank. All three are common after a site migration, a redirect clean-up, or a CMS default nobody checked.
Sitemap index files, followed automatically
Larger sites often publish a sitemap index rather than one flat file: a small XML file that itself lists several child sitemaps (one per section, or split by URL count). This tool detects that shape and follows the first few child sitemaps to pull their URLs in, rather than stopping at the index and reporting nothing useful. The URLs it checks are then taken in turn from each child sitemap it read, so an index that lists its blog posts first still gets its pages and categories checked too.
One sitemap here, every page on your site there
Checking one sitemap you already suspect is useful, but the more complete question is whether your sitemap and your actual site agree everywhere: every indexable page present, nothing broken or redirected inside it, and no page missing that should be there. That needs a real crawl to answer, not a read of the sitemap file alone.
The rule most sitemaps quietly break: one host per file
The sitemaps.org protocol is stricter than most people realise: every URL in a sitemap must be a fully-qualified address, and it must sit on the same host as the sitemap file itself, unless that other host has been separately verified for it in Search Console. This breaks silently after a domain migration, a switch between www and bare domain, or a staging sitemap that never got its URLs rewritten to production, because none of those produce an error the page itself would show. This checker flags both halves of that rule: any <loc> that is not a complete http(s) URL, and any <loc> that resolves to a different host than the sitemap listing it.
Frequently asked questions
- What is an XML sitemap?
- A file, usually at /sitemap.xml, listing the URLs on a site that its owner wants search engines to find and index. It does not force indexing, it is a hint search engines are free to ignore.
- What is a sitemap index?
- A sitemap that lists other sitemaps rather than pages directly, used by larger sites to split their URLs across several files. This tool detects one automatically and follows up to 5 of its child sitemaps.
- Why does a redirected sitemap URL matter?
- It means the sitemap is listing an address the site itself has moved away from. Search engines will generally follow the redirect, but it wastes crawl budget and the sitemap should point straight at the destination instead.
- What does "noindexed" mean in this result?
- The page carries a noindex directive, either in its meta robots tag or its X-Robots-Tag HTTP header, telling search engines not to index it. A noindexed page has no reason to be listed in a sitemap at all.
- What is a canonical mismatch?
- The page names a different URL as canonical (the one it wants indexed) than the address the sitemap lists it under. Search engines generally trust the page's own canonical tag over the sitemap, so the sitemap entry is effectively pointing at the wrong address.
- How many URLs does this check?
- Up to 25 from the sitemap (or pooled across up to 5 child sitemaps, if it is a sitemap index). Larger sitemaps are truncated at 25 so the check finishes in one page load; the result says how many URLs the sitemap actually contains. Each sitemap file is read up to 3 MB uncompressed; a bigger file is reported as too large rather than cut off and called invalid.
- Does it check gzipped (.xml.gz) sitemaps?
- Yes. The sitemaps.org protocol allows a sitemap to be compressed with gzip, and a compressed file is decompressed before it is read, then checked exactly like a plain one. A gzip file that will not decompress is reported as damaged.
- I don't know my sitemap's address. Can I just enter my website?
- Yes. Enter your homepage and the checker reads your robots.txt for a Sitemap: line, then tries the usual addresses (/sitemap.xml, the /sitemap_index.xml that Yoast and Rank Math use, and WordPress's own /wp-sitemap.xml), and checks the first real sitemap it finds. The result names the file it used. If none of those exist, it says so, and the fix is to add a Sitemap: line to robots.txt so search engines can find it too.
- What does it tell me if my sitemap is not valid XML?
- The line and column of the first error, and for the mistakes sitemaps make most often, what the cause is in plain English: an HTML page served at the sitemap address instead of XML, a blank line or space before the <?xml declaration (often printed by a plugin or theme), a bare & in a URL that should be written &, or a file that ends early with a tag still open.
- Is this XML sitemap checker free?
- Yes. It is completely free and needs no sign-up.
- Can I check a sitemap on a site I do not own?
- Yes, the same as any browser could reach the URLs directly. It is a read-only check, nothing is submitted to the target, and results are not stored anywhere you or anyone else can browse back to.
- Does this check the sitemap’s own formatting, not just the pages it lists?
- Yes. Checked against the sitemaps.org protocol: a missing or empty <loc>, a <loc> that isn’t a fully-qualified http(s) URL, a URL on a different host than the sitemap file listing it, duplicate URLs, a <priority> outside 0.0-1.0, a <changefreq> that isn’t one of the seven the spec defines, a <lastmod> that isn’t a valid W3C date, a <lastmod> in the future, every entry carrying the identical <lastmod>, mixed http and https URLs in one file, and more than 50,000 URLs in a single sitemap. These run against every URL the sitemap lists, not just the sample of 25 that gets a live HTTP check.
- Why does it flag a sitemap where every <lastmod> is the same?
- Because that is almost always the moment the sitemap was generated, not the moment each page changed. Many plugins and build scripts stamp the current time on every entry. Google says it uses <lastmod> only when the value is consistently and verifiably accurate, so a file where every page claims to have changed at the same second teaches it to ignore the field, including on the pages that really did change. The same goes for dates in the future. The fix is to set each entry from the page's real modified date, or to leave <lastmod> out rather than send a value that is wrong. It is flagged once a sitemap has at least 10 entries that all share one value.
- Why would a sitemap list a URL on the wrong host?
- Usually a leftover from a change: a domain migration where the sitemap was never regenerated, a www-to-bare-domain switch, or a staging sitemap pushed to production with its old host still in every <loc>. The sitemaps.org spec requires every URL to sit on the same host as the sitemap file unless that host is separately verified in Search Console, so this is a real validation failure, not a style nitpick.
- Can I export the results?
- Yes. A “Download CSV” button next to the results gives you every checked URL, its status, verdict and any redirect or canonical target in one file.
From one page to your whole site
This checks one sitemap, up to 25 URLs. Crawl Cove audits your whole site as it crawls, reconciling every sitemap URL against the real crawl rather than a sample, and flags pages that are indexable but missing from the sitemap too. See audit an XML sitemap across your whole site or compare the plans.
Prefer the terminal? This check is also an open-source CLI: crawlcove-sitemap-validator.
More free tools
-
SERP Snippet Preview
Open tool → -
Title Tag Checker
Open tool → -
Meta Tag Generator
Open tool →