XML sitemap validator

This XML sitemap validator checks that your sitemap is valid XML with the right structure, stays within the protocol's limits, and lists only absolute, unique URLs with correctly formatted dates. Then it spot-checks up to 8 of the listed URLs to catch redirects, errors and noindex headers.

Finds
sitemap from robots.txt
Spot-checks
up to 8 listed URLs
Cost
free, no signup

Enter a domain and the validator finds the sitemap from robots.txt or common locations.

Try

Issues found

Before a run, these are the checks made. After a run, each row is a real issue in your sitemap

  1. Not runSitemap found and returns 200—

    Why it mattersA sitemap that returns 404, loops or sits behind a login cannot be read at all.

    How to fixServe the sitemap at a stable URL that returns HTTP 200, and add a <code>Sitemap:</code> line with its full URL to robots.txt. The validator follows up to 3 redirects; anything other than a final 200 is an error and the score is 0.

  2. Not runWell-formed XML—

    Why it mattersOne unescaped ampersand or unclosed tag makes the whole file unreadable, not just that entry.

    How to fixThe validator reports the first parser error with its line number. Escape & as <code>&amp;</code> inside URLs and remove anything printed before <code><?xml</code>, such as a plugin notice or blank line.

  3. Not runRoot element and namespace—

    Why it mattersThe sitemaps.org protocol expects a <code><urlset></code> root for a list of pages or a <code><sitemapindex></code> root for a list of sitemaps, declared with the namespace http://www.sitemaps.org/schemas/sitemap/0.9.

    How to fixUse <code><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></code> or the same namespace on <code><sitemapindex></code>. A different root, a missing namespace or a file with no entries is an error.

  4. Not run50,000 entries and 50 MB—

    Why it mattersThe sitemaps.org protocol limits each file to 50,000 URLs and 50 MB uncompressed. Google's documentation gives the same limits.

    How to fixSplit the file by section or by date and list the parts in a sitemap index. The validator reads the first 10 MB and warns if the file is bigger.

  5. Not runEvery <loc> is absolute, unique and on this host—

    Why it mattersEach entry needs a full URL including https://. URLs on another host are ignored unless you have verified cross-site submission.

    How to fixWrite every <code><loc></code> as the full canonical https:// URL on the same host as the sitemap (www and non-www count as the same here). Missing or relative values are an error; other-host URLs, http:// URLs and duplicates are warnings.

  6. Not run<lastmod> format and dates—

    Why it mattersGoogle's documentation says it uses <code><lastmod></code> when the value is consistently and verifiably accurate. A bad or future date suggests the value is not real.

    How to fixUse W3C Datetime, such as 2026-11-09 or 2026-11-09T10:00:00+00:00, and change it only when the page's main content changes. Bad formats and dates more than a day ahead are warnings. If no entry has a lastmod at all, you get an information note that costs nothing.

  7. Not runSpot check of listed URLs—

    Why it mattersA sitemap should list only final, indexable URLs. Redirects, 404s and noindexed pages send mixed signals about what you want in search.

    How to fixThe validator requests up to 8 of the listed URLs (child sitemaps, for an index). Any that do not return 200 count as one error; in a URL set, any sending <code>X-Robots-Tag: noindex</code> count as another. Replace redirected URLs with their destination and remove noindexed or deleted pages.

What was read and spot-checked

The file, its type and size, and what each sampled URL returned

Nothing to show yet. After a check, this shows which file was read and how it was found, its type, entry count and size, and the status of up to 8 sampled URLs.

Errors, warnings and the score

Every issue the validator finds is an error, a warning or an information note. The score starts at 100 and loses 20 points per error and 8 per warning, down to 0. Information notes cost nothing. Each type of problem counts once, however many entries it affects: 40 relative URLs are one error, with the count shown in the row.

What counts as an error, a warning or a note
IssueSeverityPoints
Sitemap not found, not 200 or not well-formed XMLErrorscore 0
Wrong root element, or sitemaps.org 0.9 namespace missingError, each−20
No entries in the fileError−20
Over 50,000 entries or over 50 MB uncompressedError, each−20
Missing, relative or over-long <loc>Error−20
Sampled URLs not returning 200Error−20
Sampled URLs sending X-Robots-Tag: noindex (URL sets only)Error−20
URLs on another hostWarning−8
http:// URLs in an https:// sitemapWarning−8
Duplicate <loc> valuesWarning−8
<lastmod> not in W3C Datetime format, or in the futureWarning, each−8
Only the first 10 MB readWarning−8
No entry has <lastmod>Note0
Sitemap file itself sends X-Robots-Tag: noindexNote0
Clean100

Valid XML, correct structure and limits, absolute URLs, and every sampled URL returned 200.

Issues found1 to 99

Often duplicates or http:// URLs, which still leave most of the sitemap usable.

Fails

No file found, not valid XML, or several errors such as redirected and noindexed URLs.

The validator reads the sitemap file and the HTTP response of up to 8 listed URLs. It does not open those pages to read their meta robots tag or canonical, and it does not fetch the child sitemaps of an index to validate their contents; run each child sitemap separately. Protocol rules are from sitemaps.org and Google's guide to building and submitting a sitemap.

How to validate an XML sitemap

Start with the file search engines actually use: the one in robots.txt or submitted in Search Console.

  1. Step 1

    Enter the sitemap or the domain

    Paste the full sitemap URL, or just the domain to have the validator find it via robots.txt or common locations.

  2. Step 2

    Read the issue list

    Each row is one error, warning or note, with a count of the entries affected. A clean file shows one pass row.

  3. Step 3

    Check what was read

    The details confirm which file was checked, how it was found, whether it is a URL set or an index, its size, and how many entries lack lastmod.

  4. Step 4

    Fix the spot-checked URLs

    Replace each sampled URL that redirects with its destination, and remove any that error or send noindex. Then fix the plugin that adds them.

  5. Step 5

    Validate each child sitemap

    For a sitemap index, the spot check covers the child sitemap files themselves. Paste each child sitemap URL in turn to validate the page URLs inside it.

What a sitemap does, and what it will not do

An XML sitemap is a list of the URLs you want search engines to crawl, with optional dates showing when each one last changed. Google's documentation describes it as an aid to discovery, most useful for large or new sites and poorly linked pages. Listing a URL does not guarantee it is crawled or indexed.

Most of the value is in keeping the list honest. A sitemap full of redirects, deleted pages and noindexed URLs is not a reliable guide to what matters.

Google's documentation says it ignores <priority> and <changefreq>, and uses <lastmod> when it is consistently and verifiably accurate. A lastmod that changes on every build, whether or not the content did, is worse than none.

What the validator does

  • Finds the sitemap from robots.txt or three common locations
  • Follows up to 3 redirects and reads up to 10 MB, gzip included
  • Checks XML, root element, namespace and the 50,000 and 50 MB limits
  • Checks every and in the file
  • Spot-checks up to 8 listed URLs for status, redirects and noindex headers

What it does not do

  • Read meta robots tags or canonicals on the listed pages
  • Check more than 8 listed URLs per run
  • Validate the contents of child sitemaps in an index
  • Check image, video, news or hreflang extensions
  • Show whether Google has processed the file (Search Console does that)

Common sitemap faults and where they come from

Redirected and deleted URLs. Generated sitemaps often keep listing pages after they move or are removed, or list an http:// version that redirects. Each entry should be the final canonical URL that returns 200.

Noindexed pages. This validator catches a noindex sent as an HTTP header on sampled URLs, not one in the page's meta robots tag, so run the On-Page and Indexability Audit on any page you are unsure about.

Several sitemaps competing. Switching SEO plugins can leave WordPress's /wp-sitemap.xml and two plugin sitemaps all live. Keep one, point robots.txt at it and retire the rest. Our SEO services include this kind of technical clean-up.

Need help cleaning up your sitemaps?

Review which URLs your sitemaps list, why redirects and noindexed pages keep appearing, and how the files are generated.

XML sitemaps, answered plainly

Short, standalone answers. Email editorial@moxseo.com if any of them is wrong.

What does the XML Sitemap Validator check?

It fetches a sitemap, or finds one from a domain, and checks that it returns 200, is well-formed XML, uses a urlset or sitemapindex root with the sitemaps.org 0.9 namespace, and stays within 50,000 entries and 50 MB. It checks every loc and lastmod, spot-checks up to 8 listed URLs, and scores the sitemap out of 100.

How does it find my sitemap if I only enter a domain?

It reads the domain's robots.txt and uses the first valid Sitemap line. If there is none, it tries /sitemap_index.xml, /sitemap.xml and /wp-sitemap.xml in that order and uses the first that returns 200. If nothing is found, enter the sitemap URL directly.

What are the size limits for a sitemap?

The sitemaps.org protocol allows up to 50,000 URLs and 50 MB uncompressed per sitemap file, and Google's documentation gives the same limits. Larger sites split their URLs across several sitemaps listed in a sitemap index.

Does Google use priority and changefreq?

No. Google's documentation says it ignores the priority and changefreq values. It uses lastmod when the value is consistently and verifiably accurate, so only update lastmod when the page's content changes. The validator does not check priority or changefreq.

Does the validator check every URL in my sitemap?

No. It checks the format of every loc and lastmod in the file, but it only requests up to 8 of the listed URLs. It does not read meta robots tags or canonicals on those pages, so a clean result does not prove every listed page is indexable.

How do I validate a sitemap index?

Enter the index URL. The validator checks the index and spot-checks up to 8 child sitemaps for status, but does not validate the URLs inside them. Paste each child sitemap URL separately for that.

Is the validator free, and is my URL stored?

It is free with no signup. The sitemap and sampled URLs are fetched from our server, and it keeps only a short-lived request counter for rate limiting, currently 40 checks per 5 minutes. It does not ask for any personal data.

All 23 free tools

A clean sitemap gets the right pages crawled.
Good pages get them indexed.

A sitemap only helps discovery; indexing and rankings depend on the pages themselves. Book a free 30-minute call with Sakshi Kumari or Ashish Khan, or see our SEO services.

A call is not an engagement. We never guarantee rankings or AI citations.