Sitemap Checker

Paste a domain or a sitemap URL and get the whole picture: every file in the index, every rule the protocol sets, the URLs search engines will refuse and why, and whether the dates in it mean anything.

No 100-URL ceiling: every entry of each file, up to 50,000 · robots.txt and its consequence · a spread of the pages fetched the way a crawler would · free, no sign-up, nothing stored

A domain is enough: we read robots.txt and look in the usual places. A file works too, as in example.com/sitemap.xml.

URLs readthe whole fileFiles in the indexup to 10
  • robots.txtRead first, and what it means
  • Sitemaprobots.txt, then the usual paths
  • Files readThe index and ten of its files
  • CheckedEvery rule, against robots.txt
CheckOne pass from our server: the files, the rules, and a sample of the pages
Try

How to check an XML sitemap

Enter your domain above and select Check sitemap: we read robots.txt, find the file it names, read it and up to ten of its files and fetch a spread of its URLs, then show what a search engine would make of all of it.

You can give a bare domain or the file's own address. From a domain we take the Sitemap: lines in robots.txt first, then try the usual paths; from an address we read exactly what you gave. Either way the whole file is read, not the first hundred URLs, and up to ten files of a sitemap index with it.

Four things decide whether a sitemap is doing its job: the file parses, it stays inside the protocol's limits, nothing in it contradicts robots.txt or the pages' own noindex, and its dates mean something. The views above cover them: Files and Problems for the format and the limits, robots.txt and Sample pages for the contradictions, and URLs for the dates.

Four steps, from a domain to what a crawler sees
1Enter a domainor the sitemap's own address
2We find the filerobots.txt first, then the usual paths
3Every file is readthe index and up to ten of its files
4A spread is fetchedstatus, redirect, noindex, canonical
robots.txt200sitemap_index.xml
Sitemap checker result for a sitemap index: 4 files, 420 URLs, 36 errors, 7 warnings and 31 URLs robots.txt blocksSitemap checker result for a sitemap index: 4 files, 420 URLs, 36 errors, 7 warnings and 31 URLs robots.txt blocksThe verdictWhat is wrong with this sitemap in one sentence, with the five numbers that carry it: URLs, files, errors, warnings and the URLs robots.txt refuses.robots.txt and its consequenceNot only the status code: what that status means for the whole site. A 4xx means everything may be crawled; a 5xx means nothing may be.Every file of the indexEach file with the URLs it holds, its decompressed size against the 50 MB limit, the transfer size beside it, and its own findings.The contradictionsURLs the sitemap asks search engines to crawl while robots.txt refuses them, and sampled pages that carry noindex or name another URL as canonical.
A check of a made-up shop's sitemap index: the verdict and the numbers, the files with their own findings, and the contradictions between the sitemap and robots.txt. Select a number to see what each part shows.

What makes a sitemap invalid

A sitemap is invalid when a parser cannot read it: a bare &, a wrong root element, a missing namespace, a relative URL or blank space printed before the XML declaration. Everything else is a warning, not a refusal.

The commonest of all is an unescaped ampersand. XML reads & as the start of a character reference, so a single bare one ends the file for a parser and everything after it is unread. Write it &amp;, and escape <, >, " and ' the same way (sitemaps.org). A <loc> must be a full URL that starts with the protocol and stays under 2,048 characters.

The namespace must be exactly http://www.sitemaps.org/schemas/sitemap/0.9, on http:// even for an https site: it is a name for parsers, not an address anyone fetches. The file must be UTF-8, and nothing, not even a blank line, may come before <?xml; a UTF-8 byte-order mark is the one thing allowed there.

One sitemap, five reasons a parser refuses itsitemap.xml
  1. 11
  2. 2<?xml version="1.0" encoding="UTF-8"?>
  3. 3<urlset xmlns="http://sitemaps.org/schemas/sitemap/0.9">2
  4. 4 <url>
  5. 5 <loc>https://www.example.org/shop/?size=l&colour=blue</loc>3
  6. 6 </url>
  7. 7 <url>
  8. 8 <loc>/guides/raised-beds/</loc>4
  9. 9 <lastmod>2026-09-14T08:30:00</lastmod>5
  10. 10 </url>
  11. 11</urlset>
  1. 1A blank line before the declaration
  2. 2The namespace must be this exact string, on http://
  3. 3A bare & ends the file for a parser
  4. 4A path is not a URL: it must start with the protocol
  5. 5A time needs a time zone, or leave the time out

Sitemap errors in Search Console, and what each one means

Google Search Console gives a sitemap one of three statuses — Success, Has errors or Couldn't fetch — for verified properties only, and it does not tell you which line is wrong. This page checks any public sitemap and names the line.

Couldn't fetch means Google's request did not come back with a readable file: a 4xx or 5xx, a redirect chain, a timeout, a firewall that refuses Google, or a robots.txt rule that disallows the sitemap's own path. Has errors means the file was read and something in it broke a rule — the figure beside this lists the messages you are most likely to see and the line behind each one.

Two of them are about size rather than format: a sitemap that lists more than 50,000 URLs, and a sitemap index that lists more than 50,000 sitemaps (Google). Split an oversized sitemap into files listed in an index; an index that is too big becomes several indexes, each submitted on its own. A sitemap that lists URLs robots.txt blocks is reported too, and that one is a contradiction in your own files rather than a format mistake.

What Search Console says, and what is behind it

The three statuses

Successfetched and read without errors
Has errorsread, and something in it broke a rule
Couldn't fetchthe request never came back with a file

The messages you are most likely to see

  • Couldn't fetchA 4xx or 5xx, a redirect chain, a firewall, or robots.txt disallowing the sitemap's own path.
  • Too many URLsMore than 50,000 URLs in one sitemap: an error, not a warning. Split it under an index.
  • Parsing errorOften a bare & inside a URL. Write it &amp;.
  • Invalid dateA lastmod that is not a W3C Datetime, or a time with no time zone.
  • Invalid URLA space, a quote or another character a URL cannot hold, or a broken scheme such as htp://.
  • Sitemap contains urls which are blocked by robots.txtThe two files contradict each other. Decide which one is right.

Verified properties onlySearch Console reports a sitemap only for a property you own. This page checks any public sitemap, and names the line.

Does lastmod have to be honest?

Yes. Google uses <lastmod> “if it's consistently and verifiably accurate”, so a date that is the same on every URL, or that moves every time the file is written, is worse than no date at all — it teaches Google to ignore the tag.

Every other sitemap checker reads the format of a date: whether it is a W3C Datetime, whether the time carries a zone. Format is the easy half. The question that decides whether the tag does anything is whether the value means what it claims, and the two giveaways are a single stamp repeated across every entry and a date that is always today. Bing schedules crawls with lastmod too and may disregard dates that are always current.

So this checker reports what the dates are, not only how they are written: how many entries carry one, the oldest and the newest, and whether they are one value repeated. Leaving <lastmod> out is valid and costs nothing; inventing one costs the tag's credibility for the whole site. Mark the last significant change — the main content, the structured data, the links — not a new copyright year (Google).

The same 2,400 URLs, two sets of dates
One stampevery entry the moment the file was writtenEntries by monthWhat Google does with itlearns to ignore the tag
Real dateseach entry the day that page last changedEntries by monthWhat Google does with ituses it to schedule the next crawl

No lastmod at allValid. Nothing to schedule from, and nothing to disbelieve.

50,000 URLs and 50 MB: when to split

One sitemap may hold at most 50,000 URLs and 50 MB uncompressed. Past whichever you cross first, split the URLs across several files and list those files in a sitemap index, then submit the index.

The size limit counts the decompressed file, even when you serve it as .xml.gz, which is why this checker shows the uncompressed size with the transfer size beside it: a 30 KB sitemap served gzipped can read as 1.6 KB on the wire, and that number tells you nothing about the limit. Naver Search Advisor refuses files over 10 MB, so a Korean site has a lower ceiling than the protocol's.

An index may list up to 50,000 sitemaps, only files on its own site, and never another index: a nested index is not read. Language alternates written with xhtml:link do not count toward the 50,000. This checker reads the index and up to ten of its files in one run, each with its own count, size and findings.

One file against the two caps
12,48050,000 URLs
6.2 MB50 MB uncompressed
Uncompressed6.2 MBOver the wire812 kBgzip makes the file smaller to send; the limit still counts the size after decompression.
10 MB · Naver Search Advisor50 MB uncompressed · Google, Bing, Yandex
Over either cap: split and list the parts in an indexsitemap_index.xmlAn index may not name another index

robots.txt and your sitemap: the contradictions that cost you pages

Your sitemap asks search engines to crawl a list of URLs; robots.txt tells them what they may not crawl. When the two disagree, robots.txt wins and the sitemap entry is wasted — and Search Console reports it.

The status of robots.txt itself is the first thing to read, and almost nobody reports what it means. A 4xx is “unavailable”: there are no rules, so everything may be crawled. A 5xx or no answer at all is “unreachable”, and a crawler that follows RFC 9309 must then crawl nothing on the site; Google reads a 429 the same way. The same broken file produces opposite outcomes, and a tool that prints “no URLs are blocked” over an unreadable robots.txt is wrong whenever the file answered 5xx or 429, or did not answer.

Then come the contradictions inside a working file: URLs the sitemap lists that robots.txt disallows, and — easy to miss — the sitemap's own path disallowed, which publishes a file no crawler may read. The other direction is cheap and worth doing: a Sitemap: line in robots.txt needs no account anywhere and every crawler reads it.

What robots.txt's answer means for the whole site

The status, and its consequence

200the rules in the file apply
404no rules: everything may be crawled
503unreachable: a crawler must crawl nothing at all

The contradiction

The sitemap asks for/search/?q=pepper
robots.txt refusesDisallow: /search/

The entry does nothing, and Search Console reports it

And the sitemap's own path, disallowed: a file published that no crawler may read.

Which URLs do not belong in a sitemap

Only canonical URLs you want in search results, one per page: final addresses that answer 200, are indexable and are not blocked by robots.txt. Redirects, noindex pages, URLs canonical to somewhere else, errors and parameter variants all belong somewhere else.

A sitemap that lists a redirecting URL sends a crawler one hop further than it had to go, and Google asks for the URL the redirect ends at instead. A noindex page in a sitemap is a straight contradiction: the file says “index this”, the page says “do not”. The page wins, and the entry does nothing.

None of this is fatal — every URL in a sitemap is a suggestion, and Google still decides what to index — but each wrong entry is one a search engine learns to discount. That is why this checker fetches a spread of the URLs rather than only parsing the file: parsing cannot tell you that a listed page now answers 404.

Six URLs in one sitemap, and what a crawler does with each
In the sitemapWhat a crawler getsResult
/shop/raised-beds/ValidIndexed as listed
/shop/raised-bed/Redirectwasted
/shop/?sort=priceCanonical elsewherewasted
/tags/autumn/noindexwasted
/shop/old-kit/404wasted
/search/?q=pepperBlockedwasted
Numbers from one made-up site, www.example.org: a shop with a sitemap index, a stale blog file and a robots.txt that contradicts it.

Image, video and hreflang entries

A <url> entry can carry more than an address: the page's images, its versions in other languages, and video or news metadata, each in its own namespace inside that entry.

Images use Google's image namespace, up to 1,000 per page; only <image:image> and <image:loc> still count, and caption, title, license and geo_location were retired in 2022. This checker counts the image entries it finds and shows them per URL.

Language versions use xhtml:link with an hreflang code: an ISO 639-1 language with an optional ISO 3166-1 region, never a region alone. Every version of a page must list every other version, itself included, or Google ignores the set. Alternates do not count toward the 50,000-URL limit, so listing twelve language versions in each entry does not multiply the count by twelve.

One entry, dissectedA single <url> entry
The pagehttps://www.example.org/guides/raised-beds/
When it last changed2026-09-14
Its images3up to 1,000 per page
Its other languagesen · de · frevery version lists every version, itself included

Alternates do not count toward the 50,000

How often do search engines read your sitemap?

Google reads a sitemap on its own schedule, which it does not publish: submitting one is a hint, not an order. Bing reads one as soon as it finds it and then usually at least once a day. Neither re-reads a file more often because you ask them to.

The old anonymous pings are gone: Bing switched off bing.com/ping on 13 May 2022 and Google announced in June 2023 that its ping would stop working; it now answers 404. A tool that still offers to “ping Google” does nothing at all.

What does bring a changed page's next crawl forward is an accurate lastmod, which is the whole reason the tag's honesty matters, and IndexNow for individual changed URLs — one submission reaches Bing, Yandex, Naver, Seznam and others, though not Google. Resubmitting an unchanged sitemap by hand achieves nothing.

When each search engine reads the file
You submit it
Google takes it as a hintand reads it on a schedule it does not publish
Bing reads it as soon as it finds itthen usually at least once a day

An accurate lastmod brings a changed page's next crawl forward

What no longer worksgoogle.com/pingswitched off in 2023; it answers 404bing.com/pingswitched off on 13 May 2022IndexNowfor changed URLs: Bing, Yandex, Naver and others, not Google

Do you need a sitemap at all?

A small site whose pages all link to each other may not need one: Google puts the figure at about 500 pages or fewer. Large sites, new sites with few links from elsewhere, and sites with many images or videos benefit most.

Google's own starter guide calls a sitemap optional, and submitting one is a hint rather than an instruction: it does not make a page rank and it does not guarantee indexing. What it does is make sure a crawler knows a URL exists, which matters most for pages your own links do not reach.

If you have one, it is worth being right. A sitemap full of redirects, noindex pages and URLs robots.txt blocks is not neutral — it is a list a search engine learns to trust less. Checking it costs a minute; building a fresh one from your own site takes a crawl.

Sources

Who gains most from a sitemap
Pages on the site
  • large sites
  • new sites with few links from elsewhere
  • many images or videos
  • pages no internal link reaches

Sitemap checker FAQ

How do I check whether my XML sitemap is valid?

Enter your domain above and select Check sitemap. We find the file from robots.txt or the usual paths, read it in full, and report every rule it breaks with the line it is on: the root element, the namespace, absolute URLs under 2,048 characters, escaped ampersands, W3C dates and the values changefreq and priority allow. Nothing needs to be installed and no site verification is involved.

What are the most common sitemap errors?

A bare ampersand inside a URL is one of the commonest: XML reads it as the start of a character reference, so one of them ends the file for a parser. After that come relative URLs instead of full ones, a wrong or missing namespace, a lastmod with a time but no time zone, URLs on another host, and a file over 50,000 URLs or 50 MB uncompressed.

Why does Search Console say “Couldn't fetch”?

Because Google's request did not come back with a readable file. The usual causes are a 404 or a 5xx at the sitemap's address, a redirect chain, a firewall or CDN rule that refuses Googlebot, a robots.txt rule that disallows the sitemap's own path, or an address that was submitted with a redirect in front of it. This page fetches the file from our server and shows the status, the redirects and the robots.txt rule.

Is it a problem if a URL in my sitemap is disallowed in robots.txt?

Yes, and it is a common one. The sitemap asks search engines to crawl the URL while robots.txt refuses it, so the entry does nothing and Search Console reports the conflict. Decide which file is right: take the URLs out of the sitemap, or stop disallowing them. Worse and easier to miss is a robots.txt rule that disallows the sitemap's own path, which publishes a file no crawler may read.

Does lastmod have to be accurate?

Google uses lastmod only if it is consistently and verifiably accurate, so yes. A single timestamp repeated across every URL is a generation time, not a change date, and a date that is always today teaches Google and Bing to ignore the tag altogether. Leaving lastmod out is valid and costs nothing. This checker reports whether the dates vary, their range, and how many entries carry one at all.

How many URLs can one sitemap have?

At most 50,000 URLs and 50 MB uncompressed per file. Above whichever limit you cross first, split the URLs across several files and list those files in a sitemap index, which may itself name up to 50,000 sitemaps but may never name another index. Naver Search Advisor refuses files over 10 MB, so a Korean site has a lower ceiling than the protocol sets.

Does Google use priority and changefreq?

No. Google ignores both, and Bing said in 2025 that it ignores them too; only Yandex still reads them. They are valid tags, so this checker reports them as a note rather than a fault: an out-of-range priority or an unknown changefreq value is still worth fixing, but adding the tags where they are missing gains nothing at Google or Bing.

Is this sitemap checker free, and is there a URL limit?

It is free, with no sign-up and no daily quota, and there is no 100-URL ceiling: we read every entry of each file, up to the 50,000 a sitemap may hold, and follow up to ten files of a sitemap index. The only sampled part is the page fetching, because fetching 50,000 pages would be an attack on the site: we fetch a spread of them, up to fifteen, and say how many.

How is this different from Google Search Console?

Search Console reports sitemaps only for properties you have verified, gives one of three statuses — Success, Has errors or Couldn't fetch — and does not say which line is wrong. This page works on any public sitemap, names the line behind each finding, cross-checks the file against robots.txt and the pages' own noindex, and judges whether the dates mean anything. Use both: Search Console is what Google actually did.

What is a sitemap index, and can it name another index?

A sitemap index is a file of sitemaps rather than pages: it uses a sitemapindex root and lists each file in a sitemap entry with its own optional lastmod. It may name up to 50,000 files, all on its own site, and it may not name another index — a nested index is not read. Submit the index and search engines find every file under it.

Does my sitemap have to be listed in robots.txt?

It does not have to be, but a Sitemap: line is the cheapest line in the file: every crawler reads robots.txt, it needs no account anywhere, and you can have as many lines as you have files. The value must be a full address, not a path. Submitting in Search Console or Bing Webmaster Tools adds reporting, which the robots.txt line alone does not give you.

Will a sitemap get my pages indexed?

No. A sitemap tells a search engine that a URL exists and roughly when it changed; whether to crawl it, and whether to index it, stays Google's decision. It helps most where your own links do not reach a page, on a large site, or on a new one with few links from elsewhere. A sitemap full of redirects and noindex pages makes things slightly worse, not better.

Missing something?Suggest a feature or a new tool