SMThe SERP MasterAdvanced SEO Tools

XML Sitemap Validator

Fetch a sitemap, check it against the protocol, and optionally verify that the URLs inside it actually resolve — finding the broken entries, redirects and duplicates.

Sitemap indexes are recognised, and their child sitemaps listed.

Validating an XML Sitemap, and What Actually Matters in One

Paste a sitemap URL and this fetches it, checks it against the sitemap protocol, and lists every problem it finds — malformed dates, invalid priorities, relative URLs, duplicates, and URLs pointing at a different domain to the sitemap itself. Turn on URL checking and it will request each entry to find the ones that no longer resolve.

Sitemap indexes are recognised as well as ordinary sitemaps, and everything can be exported as CSV, which is usually what you want when the list is long enough to be worth fixing systematically.

At a glance

  • Structural validation is instant; checking that the URLs resolve is opt-in, because it means requesting each one.
  • A sitemap listing dead URLs teaches search engines to trust it less.
  • Google ignores priority and changefreq entirely, whatever your generator writes.
  • Every URL must be on the same host as the sitemap, or search engines skip it.

How to Use This Tool

  1. Enter the sitemap URL

    Usually /sitemap.xml or /sitemap_index.xml. If you are not sure where yours is, your robots.txt should name it.

  2. Read the structural report first

    This runs instantly and needs no requests beyond the sitemap itself. It covers date formats, priorities, absolute URLs, host consistency and duplicates.

  3. Turn on URL checking if you want it

    This requests each URL to see whether it resolves, so it is slower and capped at 100. Off by default deliberately: a 5,000-URL sitemap would otherwise mean 5,000 requests to your server from one click.

  4. Follow an index down to its children

    If you gave it a sitemap index, the child sitemaps are listed and clickable. Validate each one to check the URLs inside.

  5. Export and fix

    The CSV carries every URL with its status, which is far easier to work through than a page of results when there are hundreds.

What a Sitemap Is Actually For

A sitemap is a discovery aid. It tells search engines which URLs you consider worth knowing about, which is genuinely useful for pages that are new, buried deep in the site, or poorly linked internally.

What it is not is a ranking mechanism or an instruction. Listing a page does not make it get indexed, and Google is explicit that a sitemap is a hint rather than a command. Plenty of listed pages never get indexed, usually because Google judged them not worth it.

That reframes what a good sitemap looks like. It is not a complete inventory of every URL that exists — it is a curated list of the pages you would actually want someone to land on. Filling it with thin pages, paginated archives and tag listings dilutes the signal you are sending.

Google Ignores Priority and Changefreq

Almost every sitemap generator writes a priority and a changefreq for every URL, and a great deal of effort goes into tuning them. Google ignores both. It has said so repeatedly and publicly, and has done for years.

The reason is straightforward: they are self-reported values with no cost to inflating, so essentially every site claims its pages are high priority and updated daily. A signal everyone maxes out carries no information.

This validator still checks them for validity, because an out-of-range priority is a sign of a broken generator and worth knowing about. But there is no version of tuning those numbers that will change anything, and the time is better spent on which URLs are in the file at all.

lastmod is the exception. Google does use it, but only when it is honest — if every URL claims to have been modified today, it stops being believed for that site.

The Errors That Actually Break Things

  • URLs on a different host to the sitemap. A sitemap at example.com cannot list URLs on cdn.example.net; search engines skip them rather than following them.
  • Relative URLs. The protocol requires the full absolute address, protocol included.
  • Mixed http and https, or with and without www. These are different URLs, and listing the wrong variant sends traffic through a redirect at best.
  • A malformed lastmod. The protocol requires W3C datetime format, and Google ignores dates it cannot parse rather than guessing at them.
  • More than 50,000 URLs or 50MB uncompressed in one file. Past either limit the file has to be split into an index.
  • An HTML page served with a 200 status where the sitemap should be. This looks fine in a browser and is completely useless to a crawler — this tool detects it specifically.

Broken URLs Are Worse Than Missing Ones

A sitemap full of 404s is a common outcome of a site migration, and it does more damage than an out-of-date sitemap sounds like it should. You are repeatedly telling search engines that a set of pages is worth crawling, and repeatedly being wrong.

Redirects in a sitemap are a milder version of the same problem. They are not errors, but a sitemap should list the final destination rather than a URL that bounces — you are spending a crawl on a hop that teaches nothing.

Duplicates waste crawl budget in the plainest way possible, and usually indicate a generator producing the same URL through two different routes, which is worth fixing at the source rather than in the output.

This is why URL checking exists in this tool at all, and why it is a deliberate second step. Most sitemap validators check the XML and stop, which catches formatting problems and misses the fact that a third of the URLs are gone.

Sitemaps and robots.txt Have to Agree

Listing a URL in your sitemap while blocking it in robots.txt sends two contradictory instructions about the same page. One says please crawl this, the other says do not. Search engines resolve it by not crawling, so the sitemap entry achieves nothing.

It also tends to indicate that one of the two is out of date, which is worth knowing. Our Robots.txt Tester will tell you whether a specific URL from your sitemap is blocked, and the Robots.txt Generator is where to fix it.

The other direction is worth doing too: robots.txt should name your sitemap. It costs one line and is one of the standard ways search engines find it without you submitting anything.

Sitemap Indexes

Once a site outgrows 50,000 URLs, or when it is simply easier to manage, sitemaps get split into several files with an index pointing at them. The index lists child sitemaps rather than pages.

Splitting by content type — one for articles, one for products, one for categories — is more useful than splitting arbitrarily, because Search Console reports indexing per sitemap. If you can see that 90% of your articles are indexed and 40% of your products are, you have learned something. A single monolithic file tells you only an average.

This tool recognises an index and lists its children so you can work through them. Each child is validated separately, since each is its own file with its own limits.

After Validating

Submit the sitemap in Google Search Console once it is clean. Search Console then reports how many of the URLs it discovered and how many it indexed, which is the number that actually tells you something. A large gap between submitted and indexed is a content quality signal, not a sitemap problem.

Keep it generated rather than hand-maintained. A hand-written sitemap is out of date the day after it is written; a generated one stays current on its own. Our Sitemap Generator will build one from a list of URLs if you need a starting point.

Then check what the sitemap points at. The Broken Link Checker covers links on a page rather than sitemap entries, and the Redirect Checker will trace any URL that turned out to redirect, so you can list the destination instead.

Frequently Asked Questions

Do priority and changefreq in a sitemap do anything?

Not for Google, which ignores both and has said so publicly for years. They are self-reported with no cost to inflating them, so nearly every site claims maximum priority and daily updates, which makes the values meaningless. lastmod is different — Google does use it, as long as it is honest.

How many URLs can one sitemap contain?

50,000, or 50MB uncompressed, whichever comes first. Past either limit the sitemap must be split and referenced from a sitemap index. This tool flags both.

Can a sitemap list URLs from another domain?

Not usefully. URLs must be on the same host as the sitemap itself, and search engines skip entries that are not. This is a common problem when a CDN or subdomain is involved, and this validator checks for it specifically.

Does being in a sitemap guarantee indexing?

No. A sitemap is a discovery hint, not an instruction. Google decides independently whether a page is worth indexing, and a large gap between submitted and indexed in Search Console usually points at content quality rather than at the sitemap.

Should I put blocked pages in my sitemap?

No — it sends two contradictory instructions about the same URL. Search engines resolve it by not crawling, so the entry does nothing, and the conflict usually means one of the two files is out of date.

What format does lastmod need?

W3C datetime, so 2026-08-27 or 2026-08-27T14:30:00+00:00. Google ignores dates it cannot parse rather than guessing, so a format like 27/08/2026 has the same effect as omitting it. This validator checks the format of every one.

Why can this tool only check 100 URLs?

Because checking a URL means requesting it. A 5,000-URL sitemap would be 5,000 requests to your server from a single click, which would make this a load generator rather than a checker. The structural validation has no such limit and covers every entry.

My sitemap opens fine in a browser but the tool says it is not XML.

That usually means the server is returning an HTML page — often an error page or a redirect to the homepage — with a 200 status. A browser renders it happily and a crawler gets nothing usable. This is one of the specific cases the validator detects.