Technical SEO guide
One bad character can make Google throw away a whole sitemap
A sitemap is plain XML, and XML is unforgiving. A single unescaped & in a URL, a tag that never closes, or a missing namespace can make a parser reject the file entirely, not just the one entry that is wrong. Search Console then reports "couldn't fetch" or "sitemap could not be read", and none of the URLs inside get the discovery help the sitemap was meant to give them.
What this validator checks
- Structure — a
<urlset>or<sitemapindex>root, the sitemap namespace, matching open and close tags, and an XML declaration. - Every entry — a
<loc>on each one, under 2,048 characters, with&written as&. - Dates and values —
lastmodin W3C format and not in the future, plus validchangefreqandpriorityvalues. - Limits — 50,000 URLs and 50 MB per file, then split into several files under a sitemap index.
- Hygiene — duplicate URLs, URLs on a different host, and relative paths where a full URL is required.
Why lastmod is the field that matters
Google has said it reads lastmod and ignores changefreq and priority. A lastmod that changes on every build, whether or not the page changed, teaches Google to distrust the field, so only update it when the content does.
How this differs from the other sitemap tools
The XML Sitemap Generatorbuilds one from a site's links, and the Robots.txt & Sitemap Checker confirms the two files agree. This tool is for the file itself: paste any sitemap, from any generator, and see what is wrong with it.
Frequently asked
Does it check that each URL actually loads?
No. It validates the file, not every page inside it. Crawling thousands of URLs from a free tool would be slow and unkind to the site being checked. To test the links on one page, use the Broken Link Checker.
Can it read a gzipped sitemap?
Not directly. Unzip the .xml.gz file first and paste the XML.
Is my pasted sitemap uploaded?
No. Pasted text is checked in your browser. Only the Fetch button sends a request, and only to the address you typed.
