Sitemap Checker: Find 404s, Redirects & Errors in Every URL
We fetch the list from your sitemap and test every URL inside it — live status codes, redirects, response times. No signup, 1,000 URLs free.
Sitemaps rot after every migration — Sitewell can re-check yours on a schedule and alert you when a URL starts failing.
Check your sitemap in three steps
No signup, 1,000 URLs free. Your sitemap is the list of pages you’re actively asking search engines to crawl — this tool reads that list and verifies each entry is actually alive.
- 01
Enter your sitemap URL
Paste the sitemap address — or just your domain, and Sitewell finds the sitemap via robots.txt automatically.
- 02
We fetch the list from your sitemap
Every <loc> entry is extracted, up to 1,000 URLs per run. Sitemap indexes get a per-child picker.
- 03
Every URL is tested live
Each URL is requested and its status code, redirect target, and response time stream into the table.
What this sitemap checker actually tests
For every URL inside your sitemap, Sitewell makes a live request and records three things: the HTTP status code the server returns (200, 404, 500…), whether the URL redirects and where it ends up, and how long the response took. Results stream in as they’re checked, with quick filters for 404s, redirects, and anything that isn’t a clean 200 — plus a one-click CSV export for your fix list.
One thing it deliberately does not do: score your XML syntax. Namespaces, encoding declarations, and file size limits are a file-validation concern — this tool assumes the file parses and focuses on whether the pages it lists are actually reachable.
Sitemap checker vs. XML sitemap validator
A validator checks the file: is the XML well-formed, are the namespaces right, is it under the size limit? A checker tests the URLs inside it: does each page actually respond, and with what status code? Both are useful, but they catch different failures — a syntactically perfect sitemap can still be full of dead pages, and no validator will tell you that. If Google Search Console accepted your sitemap without complaint but your traffic still sagged after a migration, the file was fine; the URLs inside it weren’t. That’s the case this tool is built for.
Why 404s and redirects in your sitemap hurt SEO
A sitemap is a direct statement to search engines: these URLs exist and are worth crawling. Every 404 in it wastes crawl budget on a dead end, triggers “Submitted URL not found (404)” errors in Google Search Console, and — repeated at scale — teaches Google to trust your sitemap less, which means slower discovery for the pages that do matter. Redirected entries are subtler but still costly: each one forces an extra hop before the real content, and signals that the file is out of date.
Finding the 3xx redirects hiding in your sitemap
A sitemap is a list of the final addresses you want indexed. Every entry should answer 200 on its own, with no hop in between. When an entry returns a 301, Googlebot spends the request on the redirect, reads the Location header, then makes a second request to reach the content it was promised. The destination usually still gets indexed. What you lose is the request, plus the credibility of the file: a sitemap pointing at addresses that no longer serve content is out of date, and it says so on every affected line.
They accumulate quietly. Nobody adds a redirect to a sitemap on purpose. After a migration the old URLs keep redirecting correctly and the new URLs work, while the sitemap sits in the middle listing a mixture of both, because the generator that wrote it read your CMS rather than your redirect rules. Nothing breaks, so nothing prompts you to look.
The “Redirects only” filter above the results table produces exactly this list: every entry in your sitemap that answered with a 3xx. Export it and the CSV carries a finalUrl column holding the address each entry resolved to. That column is your replacement list.
- 01
Run the sitemap above, then switch the results filter to Redirects only.
- 02
Export the CSV and read the finalUrl column — that is the address each listed entry actually resolved to.
- 03
Replace the old entry in your sitemap with that final URL, or drop the entry entirely if the destination is already listed on its own.
- 04
Leave the redirect rule itself alone. It still serves visitors, bookmarks and inbound links; it just should not be what your sitemap advertises.
- 05
Regenerate the sitemap, resubmit it, and re-run this check until the Redirects only filter comes back empty.
Why your sitemap generator keeps re-adding them
Fix the sitemap by hand and the next build undoes it. Generators are not editors; they are a projection of your content database. A WordPress plugin queries posts and prints permalinks. A framework sitemap route maps over a list of slugs. Neither one knows your redirect rules exist, so neither can tell that the URL it just printed is the one you retired six months ago.
The disagreement almost always starts with a change made somewhere else. A permalink structure switched from /2019/03/post-name/ to /post-name/. A canonical tag pointed at a new address while the CMS kept the old slug. A category renamed, a product moved between collections, a trailing-slash convention flipped at the CDN. Your redirect layer learned about the change. The generator did not, because it reads the field the change never touched.
So fix it where the URL is decided: update the permalink or slug, correct the canonical, or change the query the sitemap route runs. Then regenerate the file and resubmit it. Editing the XML output instead is a fix with a shelf life of one deploy.
How to fix what you find
404s: if the page is gone for good, remove it from the sitemap; if it has a natural successor, 301-redirect it to that live page and remove the old URL from the file. 301 entries: replace each one with the final canonical URL it resolves to — run suspicious ones through the redirect chain checker to see the full hop-by-hop path first. 5xx errors: those are server problems, not sitemap problems — triage the server or hosting issue, then re-check. And if you maintain URL lists outside your sitemap too, the bulk HTTP status checker takes any pasted list, up to 1,000 URLs at a time.
Keep your sitemap clean automatically
A sitemap is clean until the next deploy. Sitewell Watch re-checks your key URLs on a schedule — after every release, not just when you remember — and alerts you the moment one starts returning 404s or errors, before Google finds it first. Monitoring starts on the Pro plan at $12/mo; save any URL from the results above with one click.
Frequently asked questions
- How do I check my sitemap for 404 errors?
- Three steps: enter your sitemap URL (or just your domain and Sitewell discovers it via robots.txt), let the checker fetch the list of URLs from your sitemap, and read the results table — every URL is requested live and its status code shown. Use the '404s only' filter to jump straight to the broken pages, then export the list to CSV to fix them.
- What is the difference between a sitemap checker and a sitemap validator?
- A validator inspects the sitemap file itself — XML syntax, namespaces, size limits. This checker tests the URLs inside the file: it requests each one and reports the live status code, redirects, and response time. A syntactically perfect sitemap can still be full of dead pages, which is what this tool finds.
- Does this work with a sitemap index (nested sitemaps)?
- Yes. If your sitemap URL is a sitemap index, Sitewell fetches each child sitemap and counts its URLs. When the total is 1,000 or fewer, everything is checked in one run; over 1,000, you get a picker listing each child sitemap with its URL count so you can check them one at a time.
- Why does Google Search Console say 'Submitted URL not found (404)'?
- That report means a URL you submitted via your sitemap returns a 404 — you told Google the page exists, and it doesn't. It usually appears after deleting or renaming pages without updating the sitemap. Run your sitemap through this checker, find the 404s, and either remove them from the sitemap or 301-redirect them to a live page.
- Should a sitemap contain redirects?
- No. A sitemap is a list of final, canonical URLs that return 200, and a 301 entry contradicts that: you are advertising an address you have already decided is not the real one. There is no penalty for it, and Google will usually follow the hop and index the destination anyway. What it costs you is a wasted request per entry and a file that reads as stale, which is a poor signal to send about a document whose entire job is to be current.
- How do I find redirecting URLs in my sitemap?
- Enter your sitemap URL above (or just your domain, and it is discovered through robots.txt), let the run finish, then click the 'Redirects only' filter over the results table. That leaves exactly the entries that answered 3xx instead of 200. The CSV export includes a finalUrl column showing where each one landed, which is your list of replacements.
- Is a 301 in a sitemap an error in Search Console?
- Not an error in the way a 404 is. Search Console files it in the Pages report under 'Page with redirect', which sits among the not-indexed reasons rather than the errors. The consequence is on that line: the URLs you submitted are not indexed. Their destinations may well be indexed under their own addresses, so traffic usually survives, but the sitemap entries themselves are doing nothing for you.
- How do I remove 3xx URLs from my sitemap?
- Edit the source, not the output. The XML is rewritten on the next build, so change whatever decides the URL: the permalink or slug in your CMS, the canonical on the post, or the query your sitemap route runs. Regenerate the file and resubmit it in Search Console. Keep the redirect rules in place — they still serve old inbound links and bookmarks. Re-run the check afterwards and the 'Redirects only' filter should come back empty.
- My sitemap URL itself returns a 404 — what do I do?
- That's a different problem: the file is missing, not the pages inside it. Try both common paths — /sitemap.xml and /sitemap_index.xml — and check your robots.txt for a 'Sitemap:' line pointing at the real location. On WordPress and similar platforms, the sitemap path is set by your SEO plugin (Yoast, Rank Math), so confirm it's enabled there and resubmit the working URL in Google Search Console.
- How many URLs can I check for free?
- Every run covers up to 1,000 sitemap entries at no cost and with no account. Results appear progressively while the run is still going, so you can start triaging the first 404s before the last URL is tested. For bigger sites, a sitemap index gives you a per-child picker so you can work through it section by section.
- How often should I re-check my sitemap?
- After every migration, redesign, or bulk content change — that's when sitemaps rot fastest — and monthly as routine hygiene. If you'd rather not remember, Sitewell Watch can re-check your key URLs on a schedule and alert you the moment one starts returning an error.