Sitemap Health Checker
Validate a sitemap the way Google reads it — limits, namespace, dates, duplicates, wrong hosts — then explore it by section and spot-check that the URLs actually return 200.
| URL | lastmod | freq · prio | extras | status |
|---|
Sitemap as fetched
Settings
Follow index · up to 10 child sitemaps
How to Use Sitemap Health Checker in 3 Steps
Fetch or paste
Enter the site (the tool fetches /sitemap.xml), the sitemap’s own URL, or paste the XML. A sitemap index is followed automatically — up to the number of child sitemaps set in Settings. Plain-text sitemaps (one URL per line) work too. Press Check.
Read the report
Errors are what Search Console would reject: malformed XML, wrong namespace, over 50,000 URLs or 50 MB, URLs on another host or scheme, missing <loc>. Warnings cover duplicates, invalid or future lastmod dates, identical timestamps on every URL, and changefreq / priority noise. The section bars show where your URLs live; click one to filter the list.
Spot-check live URLs
Press Check status of 25 URLs to fetch a spread sample through the relay and see the HTTP status, redirects, noindex and canonical mismatches — the three things that silently waste a sitemap entry. Export the URL list as CSV or TXT, or the whole report as Markdown.
Sitemap Health Checker — Frequently Asked Questions
What makes a sitemap invalid for Google?
Malformed XML (an unescaped & is the classic), a missing or wrong xmlns, more than 50,000 URLs or 50 MB uncompressed per file, URLs that are not absolute, URLs on a different host or scheme than the sitemap itself, and a sitemap index that points to another index (Google supports one level). This tool reports all of those as errors.
Does lastmod matter? What about changefreq and priority?
lastmod matters — Google uses it to decide what to recrawl, as long as it is consistently accurate. Dates must be W3C format (2026-01-15 or full ISO 8601 with a timezone); future dates and “every URL has the same timestamp” are flagged because they teach Google to ignore the field. changefreq and priority are ignored by Google and Bing; invalid values are reported, but removing them entirely is fine.
How does the status check work and why is it limited?
Toolity has no server, so each sampled URL is fetched by your browser — directly where the site allows it, otherwise through a public read-only relay that sees only the URL. That costs a request per URL, so the sample is capped at 25 evenly spread across the list and never runs unless you press the button. For a full crawl use a desktop crawler.
Why is a URL marked “another host”?
The sitemap protocol says a sitemap at https://www.example.com/sitemap.xml may only list URLs on https://www.example.com. http:// URLs in an https sitemap, or a bare-domain sitemap listing www URLs, are ignored by Google unless the host is verified in Search Console — a common cause of “sitemap could not be read”.
Can it read compressed (.xml.gz) sitemaps?
Not yet — the browser receives the gzip bytes as text. Paste the decompressed XML, or point the tool at the uncompressed version. Everything else (sitemap index, image, video and hreflang extensions, plain-text sitemaps) is supported.
Why does fetching sometimes fail — and what is the relay?
Browsers block JavaScript from reading other websites directly (CORS). The tool first tries a direct request; when the site forbids it, the URL only is sent to a public read-only relay (allorigins.win, then codetabs.com) that fetches the page and returns its HTML. The relay sees the URL you typed, nothing else — Toolity has no server and keeps no record. If the relay is busy or the site blocks bots, paste the page source instead: that path is 100% local.
Is my input sent anywhere?
No. Everything is computed by JavaScript in your browser tab. Nothing is uploaded, logged or stored by Toolity.