CoreCited
Sitemap indexes and .gz · 20 URLs sampled · no signup

XML sitemap validator that checks the URLs, too

Validate the XML, namespace, dates and limits against the sitemap protocol. Then see whether the URLs you list actually answer 200, and whether robots.txt blocks them for Googlebot, Bingbot or the AI crawlers.

A domain (we find the sitemap through robots.txt) or a sitemap URL, .xml or .xml.gz.

Free · no signup · sitemap indexes and .gz files · 20 URLs sampled for status and robots.txt blocks

Key takeaways
1A sitemap may hold 50,000 URLs and 50 MB uncompressed. Bigger sites split it and list the parts in a sitemap index.
2Google ignores <changefreq> and <priority>. It uses <lastmod> only when the dates are accurate, so dates that all match are worse than none.
3Valid XML is the start. A sitemap that lists redirects, 404s, noindexed pages or URLs robots.txt blocks is sending mixed signals.
4Declare the sitemap in robots.txt. It is the one place every crawler looks, including the ones you never submit to.

What this XML sitemap validator checks

Enter a domain and the validator reads your robots.txt for Sitemap: lines, then tries /sitemap.xml and /sitemap_index.xml. Enter a sitemap URL and it starts there. If the file is a sitemap index, it reads up to 50 of the child sitemaps it lists, compressed or not, and draws them as a tree.

Every file is checked against the protocol and what Google and Bing document:

  • Fetching. An HTTP 200, an XML content type, and no HTML page where the sitemap should be.
  • Structure. Well-formed XML, a <urlset> or <sitemapindex> root, and the exact namespace http://www.sitemaps.org/schemas/sitemap/0.9.
  • Every URL. Absolute, http or https, properly escaped, under 2,048 characters, on the same host as the sitemap, with no duplicates and no mix of http and https or www and non-www.
  • Dates and hints. <lastmod> in W3C Datetime, not in the future, and not the same on every URL. <changefreq> and <priority> are noted, with the fact that Google and Bing ignore them.
  • Limits and nesting. No file over 50,000 entries or 50 MB uncompressed, and no sitemap index inside another.
  • robots.txt. Whether the sitemap is declared, whether Googlebot may fetch it, and whether any listed URL is disallowed for Googlebot, Bingbot, GPTBot, ClaudeBot and PerplexityBot.

Then it does the part a pure XML check cannot. It requests 20 URLs from across your sitemaps, once each and without following redirects, and reports which answer 200, which redirect, which fail, which carry a noindex, and which name a different canonical URL. Every finding comes with a plain-English fix, and where it helps, a corrected snippet you can copy.

50000
URLs per sitemap file, at most
sitemaps.org
50 MB
per file, uncompressed (52,428,800 bytes)
sitemaps.org
2048
characters: each <loc> must be shorter
sitemaps.org
500
sitemap index files per site in Search Console
Google, Dec 2025

Sources: the sitemap protocol[1]; Google[3].

How the validator reads your sitemap
Every URL it requests, including the ones your sitemap supplies, is checked first. Private and local addresses are refused.
robots.txt
We read your robots.txt for Sitemap: lines and for the rules each crawler gets.
Step 1: robots.txt. We read your robots.txt for Sitemap: lines and for the rules each crawler gets.
Step 2: Find the sitemap. Declared sitemaps first, then /sitemap.xml and /sitemap_index.xml.
Step 3: Read the index. If it is an index, we read up to 50 child sitemaps and decompress .gz files.
Step 4: Check every entry. Each <loc>, <lastmod> and hint is checked, and every URL is tested against robots.txt.
Step 5: Sample the URLs. We request 20 listed URLs once each and record the status, noindex and canonical.

The sitemap protocol rules, in one place

The format is defined at sitemaps.org, and Google, Bing and other engines follow it[1]. A sitemap is a UTF-8 XML file whose root element is <urlset>. Each page is a <url> entry with one required child, <loc>, and three optional ones: <lastmod>, <changefreq> and <priority>.

A minimal valid sitemap
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/</loc>
    <lastmod>2026-09-30</lastmod>
  </url>
  <url>
    <loc>https://www.example.com/pricing?plan=team&amp;billing=annual</loc>
    <lastmod>2026-10-02T09:15:00+00:00</lastmod>
  </url>
</urlset>

The rules that trip people up:

  • Full URLs only. Each <loc> must start with the protocol and be less than 2,048 characters[1]. Google asks for fully qualified, absolute URLs[2].
  • Escape for XML. An & in a URL must be written &amp;, and the same goes for <, >, and quotes[1]. One raw ampersand makes the whole file unparseable, and Search Console names an unescaped character in a URL as the usual cause of a parsing error[5].
  • One host, one protocol. All URLs in a sitemap must use the same protocol and sit on the same host as the sitemap. A sitemap at /catalog/sitemap.xml may only list URLs under /catalog/[1]. Google applies the folder rule unless you submit the sitemap in Search Console[2].
  • Size. At most 50,000 URLs and 50 MB uncompressed per file. You may gzip it to save bandwidth, but the limit counts the uncompressed size[1][2].
  • Dates. <lastmod> uses W3C Datetime: a date such as 2026-09-30, or a date and time with a time zone such as 2026-09-30T09:15:00+00:00[8]. A time without a zone, or a space instead of the T, is invalid, and Search Console reports it as an invalid date[5].

The protocol also allows a plain text file with one URL per line, in UTF-8[1]. It works, and this validator reads it, but it has nowhere to put a <lastmod>, so it gives search engines no freshness signal.

What Google and Bing actually use

Of the three optional tags, only one matters. Google says it ignores <priority> and <changefreq>, and uses <lastmod> if it is consistently and verifiably accurate[2]. Bing said the same about the two hints in July 2025: they are ignored and do not influence how content is crawled or ranked. It called <lastmod> a key signal for deciding which URLs to recrawl, or to skip because nothing changed[7].

Myth
Set priority to 1.0 on your key pages and Google crawls them first.
What is true
Google ignores <priority>. Yoast removed it from its sitemaps for that reason.
Myth
Setting every lastmod to today makes the whole site look fresh.
What is true
The protocol says lastmod is when the page changed, not when the sitemap was generated. Google uses it only when it is verifiably accurate.
Myth
A sitemap makes Google index every URL in it.
What is true
Google calls a sitemap a hint. It does not guarantee the sitemap is downloaded or that the URLs are crawled.

Sources: Google[2]; sitemaps.org[1]; Yoast[11].

That makes the identical-date pattern worth catching. When every URL carries the same <lastmod>, the generator is almost always writing the time it ran rather than the time each page changed. The dates then say nothing true, and an engine that checks them learns to ignore them. This validator flags it when every dated URL, or 95% of a large set, share one value.

A sitemap is also not a requirement. Google says a site of about 500 pages or fewer, well linked from its home page, may not need one, and that one helps most on large sites, new sites with few links, and sites with a lot of media[4]. Submitting it is a hint, not a guarantee of crawling[2].

Sitemap index files

When a site outgrows one file, it splits the URLs into several sitemaps and lists them in a sitemap index. The index has the same shape, with <sitemapindex> as the root and a <sitemap> entry for each child. It may hold up to 50,000 child sitemaps, and Search Console accepts up to 500 index files per site[3].

sitemap_index.xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.example.com/sitemaps/posts.xml</loc>
    <lastmod>2026-10-01</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://www.example.com/sitemaps/products.xml.gz</loc>
  </sitemap>
</sitemapindex>

Three rules apply to the index:

  • No nesting. “A sitemap index file can’t list other sitemap index files, only sitemap files”, in Search Console’s words[5]. The validator reads the children of your index and flags any child that is itself an index.
  • Same site, same folder or lower. Google requires child sitemaps to be hosted on the same site as the index, and in the same directory or lower[3].
  • Dates are about the child file. In an index, <lastmod> is when that sitemap changed, in the same W3C format[3].

Bing gives the scale in round numbers: 50,000 URLs per file and 50,000 files per index make up to 2.5 billion URLs per index[7].

Common sitemap errors and how to fix them

Most broken sitemaps fail in one of a handful of ways. The names below match the ones Search Console uses in its sitemaps report[5], so you can match a validator finding to a Search Console error.

Common sitemap errors, their causes and fixes
ErrorUsual causeFix
Parsing errorA raw & in a URL, or an HTML entity like &nbsp; that XML does not defineEscape & as &amp;. Use numeric references for other characters.
Incorrect namespacehttps:// in the namespace, a trailing slash, or an old Google namespaceUse http://www.sitemaps.org/schemas/sitemap/0.9 exactly.
Invalid date2026-09-30 10:00:00, a missing time zone, or day-first datesWrite 2026-09-30 or 2026-09-30T10:00:00+00:00.
URL not allowedURLs on www while the sitemap is on the bare domain, or the reverseServe the sitemap from the host its URLs use.
Sitemap is HTMLThe URL serves a page: a moved sitemap, or a 404 answered with 200Point to the real XML file. Make missing URLs return 404.
Nested indexingAn index lists another index, often from two pluginsList the inner index's children directly.
Too many URLsMore than 50,000 entries in one fileSplit the file and list the parts in an index.

The quieter problems are the ones a schema check passes. A sitemap can be perfectly valid and still list URLs that redirect, URLs that return 404 after a page was deleted, pages carrying noindex, and duplicates whose canonical points elsewhere. Google asks you to list the canonical URLs you want in search results[2], so each of those is a sitemap entry that should not be there. The sample table in the result shows them, and the redirect checker traces any chain hop by hop.

Listed and blocked at the same time
A URL in your sitemap says “please index this”. A Disallow rule that matches it in robots.txt says “do not crawl this”. Search engines get both messages and you get neither result. The validator checks every listed URL against your robots.txt with the RFC 9309 matching rules, where the longest matching rule wins[9], and shows each crawler separately. Test a single path in the robots.txt tester.

Fixing the sitemap on your platform

Most sites do not write their sitemap by hand. The fix is usually a setting in the tool that generates it, so start by finding out which one does.

Since WordPress 5.5, core serves a sitemap index at /wp-sitemap.xml, adds it to the robots.txt WordPress generates, and lists only URLs, with no <lastmod> by default. SEO plugins such as Yoast switch the core sitemap off and serve their own[10]. If you see both /wp-sitemap.xml and a plugin’s sitemap, one of them is stale.
functions.php: turn the core sitemap off
// Only if another plugin serves your sitemap.
add_filter( 'wp_sitemaps_enabled', '__return_false' );

Declare it in robots.txt

Search Console and Bing Webmaster Tools are where you submit a sitemap to Google and Bing. Every other crawler has to find it on its own, and the one place they all look is robots.txt. The protocol defines a Sitemap: line that takes the sitemap’s full URL[1], Google accepts it as a way to submit[2], and Bing recommends it alongside Bing Webmaster Tools[7]. RFC 9309 leaves such lines outside the user-agent groups, so put it anywhere in the file[9].

robots.txt
User-agent: *
Disallow:

Sitemap: https://www.example.com/sitemap_index.xml

Use the full URL, protocol included. A bare path such as Sitemap: /sitemap.xml is not what the protocol describes, and the validator flags it. To build a file from scratch, use the robots.txt generator.

Why sitemaps matter for AI search too

Start with what is documented. Bing’s July 2025 post on sitemaps in AI powered search says freshness signals directly influence how quickly updates are reflected in its search results and AI generated answers, and that <lastmod> remains a key signal for what it recrawls[7]. Google says a page must be indexed and eligible for a snippet in Google Search to appear as a supporting link in AI Overviews or AI Mode, with no additional technical requirements[6]. A sitemap that helps a page get indexed therefore helps it become eligible for both.

What is not documented: OpenAI, Anthropic and Perplexity do not publish sitemap guidance for GPTBot, ClaudeBot or PerplexityBot that we could find. Nobody outside those companies can say how much weight their crawlers give a sitemap, so be wary of anyone who claims to. Two things are within your control. Declare the sitemap in robots.txt, where any crawler can find it. And make sure robots.txt does not block the URLs you list, which is why this validator checks GPTBot, ClaudeBot and PerplexityBot next to Googlebot and Bingbot. Blocking a training crawler can be a deliberate choice, so the validator marks AI blocks as warnings, not errors. The AI crawler checker shows what your file says to every major AI bot, and server log analysis shows which ones actually visit.

XML sitemap checklist

Run through this after a redesign, a migration or a change of SEO plugin. Your ticks are saved in this browser only.

Before you call the sitemap done
0/8

Check every page the sitemap lists

This validator requests 20 of your URLs. A sitemap with thousands of entries can hide a whole section of redirects or noindexed pages that a sample of twenty misses. The GEO Audit starts from the same discovery, robots.txt then the sitemap, then crawls the pages and runs 31 checks on each, including whether it answers a clean 200 and whether AI crawlers are allowed in.

Free
10
pages audited per brand
Starter
50
pages audited per brand
Growth
500
pages audited per brand

The free account audits 10 pages with an email address and no card. Paid plans audit more and re-run on a schedule; every limit is on the pricing page.

Questions people ask

What does an XML sitemap validator check?

That the file is valid XML, that its root is <urlset> or <sitemapindex> with the exact sitemaps.org namespace, that every <loc> is an absolute, escaped URL on the sitemap's own host, that <lastmod> dates use W3C Datetime, and that the file stays within 50,000 URLs and 50 MB uncompressed. This one also follows sitemap indexes, reads .gz files, checks robots.txt, and requests 20 listed URLs to see whether they answer 200.

How do I find my sitemap?

Look in your robots.txt for a line starting with Sitemap:. If there is none, try /sitemap.xml and /sitemap_index.xml on your domain. WordPress core serves /wp-sitemap.xml, Yoast SEO and Rank Math serve /sitemap_index.xml, and Shopify serves /sitemap.xml. Enter just your domain above and this validator tries all of them.

Does Google use changefreq and priority?

No. Google's documentation says it ignores <priority> and <changefreq>, and Bing said in July 2025 that it ignores both too. Google does use <lastmod> when it is consistently and verifiably accurate, and Bing calls lastmod a key signal for deciding what to recrawl.

What is the maximum size of a sitemap?

50,000 URLs or 50 MB (52,428,800 bytes) uncompressed, whichever comes first. Gzip saves bandwidth but does not raise the limit, which applies to the uncompressed file. A sitemap index has the same limits, counted in sitemaps rather than URLs.

Can a sitemap index contain another sitemap index?

Not for Google. Search Console's help says a sitemap index file can't list other sitemap index files, only sitemap files, and reports it as nested indexing. List every child sitemap directly in one index, or submit each index separately.

Should my sitemap list URLs that redirect?

No. Google asks for the canonical URLs you want to appear in search results, and a URL that redirects is not one. Replace each redirecting URL with its destination, and remove URLs that return 404, carry noindex or name a different canonical. The sample table above shows which of yours do.

Do AI crawlers use sitemaps?

Bing says sitemaps and accurate lastmod dates directly influence how quickly updates reach its search results and AI generated answers. Google's AI features only use pages that are indexed in Google Search, which is what sitemaps help with. OpenAI, Anthropic and Perplexity do not publish sitemap guidance for their crawlers that we could find, so the safe position is to declare your sitemap in robots.txt where any crawler can see it.

Keep reading

Sources

[1]Sitemaps XML format — sitemaps.org, updated 21 November 2016
[2]Build and submit a sitemap — Google Search Central, updated 8 July 2026
[3]Manage your sitemaps with sitemap index files — Google Search Central, updated 10 December 2025
[4]What is a sitemap — Google Search Central, read 7 October 2026
[5]Sitemaps report — Search Console Help, read 7 October 2026
[6]AI features and your website — Google Search Central, updated 10 December 2025
[7]Keeping Content Discoverable with Sitemaps in AI Powered Search — Bing Webmaster Blog (Fabrice Canel, Krishna Madhavan), 31 July 2025
[8]Date and Time Formats — W3C Note, 27 August 1998
[9]RFC 9309: Robots Exclusion Protocol — IETF, September 2022
[10]New XML Sitemaps Functionality in WordPress 5.5 — Make WordPress Core, 22 July 2020
[11]XML sitemaps in the Yoast SEO plugin — Yoast help center, read 7 October 2026
[12]Submit your sitemap to search engines — Yoast help center, read 7 October 2026
[13]How to Configure Sitemaps in Rank Math — Rank Math knowledge base, read 7 October 2026
[14]Finding and submitting your sitemap — Shopify Help Center, read 7 October 2026
[15]sitemap.xml (metadata file conventions) — Next.js docs, updated 18 August 2026
Updated 2026-10-07