LaunchRanked

XML sitemap validator

Enter a domain or sitemap URL. We read the index and its child sitemaps and check every entry against the sitemaps.org protocol.

What we check

Enter a domain and we find the sitemap through robots.txt (or /sitemap.xml), follow any sitemap index into its child files, and check every URL entry. Each file and each URL is read once, even when robots.txt lists both an index and the files inside it.

Per file

  • It returns HTTP 200 with XML (not an HTML error page).
  • The root element carries the http://www.sitemaps.org/schemas/sitemap/0.9 namespace.
  • At most 50,000 URLs and 50 MB uncompressed, the protocol’s limits. gzip files are decompressed first.
  • It isn’t empty, and an index isn’t nested inside another index.

Per URL entry

  • <loc> is an absolute http(s) URL, under 2,048 characters, with & escaped as &amp;, no spaces and no #fragment.
  • It’s on the same host as the sitemap. A www/non-www mix is flagged separately, because it usually means the sitemap lists URLs that redirect.
  • <lastmod> uses W3C Datetime (2026-09-23 or a full timestamp with a time zone), is a real date and isn’t in the future.
  • <changefreq> is one of always, hourly, daily, weekly, monthly, yearly or never, and <priority> is a number from 0.0 to 1.0.
  • No URL is listed twice, in the same file or across files.

Limits of one check

We read up to 20 sitemap files and 50,000 unique URLs within 25 seconds. On bigger sites, the result says how many files were left, and you can validate a child sitemap directly by entering its URL. For an overview of discovery, lastmod and host mix, start with the sitemap checker; for changefreq and priority, the frequency analyzer.

Questions

Is this a full XML schema validation?

No. We parse the file the forgiving way crawlers do and check what the sitemaps.org protocol and Google's documentation require: structure, the namespace, URL format, host, date format, allowed values, size limits and duplicates. A file can pass here and still have an XML quirk a strict validator would flag.

Which problems actually hurt?

Errors that stop a crawler using an entry: relative URLs, URLs on another host, unescaped & characters that break the XML, and files over 50,000 URLs or 50 MB. Invalid changefreq or priority values are errors against the protocol, but Google ignores those tags anyway.

Do you check that each URL returns 200?

No, that would mean requesting thousands of pages. Use the broken link checker on key pages, and Search Console's Pages report for the whole site.

Autopilot · early access

Want this fixed automatically?

Autopilot checks your site, publishes researched articles at a safe pace, and tracks whether ChatGPT, Perplexity, Gemini and Claude cite you. $49/mo.

Related free tools

See all free tools