XML sitemap checker and validator
Check sitemap XML the way search engines read it: format, encoding, limits and lastmod values, then a live test of the first URLs it lists. Enter a sitemap URL, or just a domain to find its sitemap.
Up to 10 checks a minute. Pages are fetched from IndexCyborg's servers; private and local addresses are refused.
What the sitemap validator checks
The checker reads the file with the same sitemap parser IndexCyborg uses for monitoring, against the sitemaps.org protocol and Google's sitemap guidelines:
- HTTP 200 at the final URL, and any redirect on the way
- Well-formed XML, UTF-8, a
<urlset>or<sitemapindex>root with the sitemap namespace - At most 50,000 entries; absolute
http(s)URLs; URLs on the sitemap's own host; duplicates <lastmod>in W3C Datetime format (2026-11-01or2026-11-01T09:30:00+00:00), not in the future, and not the same date on every entry- The first 20 URLs, fetched live: redirects, error codes and noindex, none of which belong in a sitemap
For a sitemap index, it checks the first 20 child sitemaps instead. Files up to 10 MB are read here; gzipped sitemaps aren't, so test the uncompressed version.
Common sitemap errors
| Finding | Fix |
|---|---|
| Sitemap returns 404 or HTML | Serve the XML at that URL, or reference the right file in robots.txt. |
| Relative or other-host URLs | List full URLs on the sitemap's host, exactly as you want them crawled. |
| Listed URLs redirect or are noindex | List only final, canonical URLs that return 200. |
| Every lastmod is the same | Use each page's real last change, or drop the tag. |
When Search Console says “Couldn't fetch” or Sitemap could not be read, start with the HTTP status and the first lines of the file. lastmod, priority and changefreq covers the optional tags.
What a sitemap does, and doesn't
A sitemap is how you tell search engines which URLs exist and when they changed. It's a discovery signal, not an indexing guarantee: Google still decides what to crawl and index. If you don't have one yet, the XML sitemap generator builds one for a small site, and the XML sitemap guide covers the rest.
How IndexCyborg handles this
IndexCyborg finds your sitemaps through robots.txt and /sitemap.xml, follows sitemap indexes (up to 50 child sitemaps, 20,000 URLs each) and rescans every 24 hours by default. New, changed and removed URLs are detected on each scan, checked, notified through IndexNow once your domain is verified, and inspected in Google Search Console once you link it.
Frequently asked questions
- How do I validate a sitemap XML file?
- Paste its URL into the checker. It confirms the file returns 200, is well-formed UTF-8 XML with a <urlset> or <sitemapindex> root, stays within 50,000 URLs, uses absolute URLs and valid lastmod dates, and that the first URLs it lists return 200 without noindex.
- How big can a sitemap be?
- Google accepts up to 50,000 URLs or 50 MB uncompressed per sitemap file. For more, split the URLs across several sitemaps and list them in a sitemap index.
- Does Google use lastmod, changefreq and priority?
- Google ignores changefreq and priority. It uses lastmod only when the dates are consistently and verifiably accurate, so set it to each page's last significant change, or leave it out.
- My sitemap is valid. Why aren't its pages indexed?
- A sitemap helps Google discover URLs; it doesn't make Google index them. Check each page's status with URL Inspection in Search Console, which reports Google's reason when a page isn't indexed.