XML Sitemap Checker

Enter a domain to find its XML sitemap, or paste a sitemap URL to validate it. The checker reads robots.txt, tries the usual sitemap locations, then checks the XML, the URLs, lastmod dates and sitemap index files against the sitemaps.org protocol and Google's rules.

How to find a website's sitemap

Most sites put their sitemap in one of a handful of places. Check them in this order:

  1. robots.txt. Open https://example.com/robots.txt and look for lines that start with Sitemap:. This is the most reliable place, because it's where site owners tell every crawler where the sitemap is. A file can list several.
  2. The common file names. Try /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml and /sitemap.xml.gz at the root of the domain.
  3. Your CMS's default. WordPress 5.5 and later generates /wp-sitemap.xml. Yoast SEO and Rank Math replace it with /sitemap_index.xml. Shopify, Wix and Squarespace serve /sitemap.xml.
  4. Search Console, for your own site. The Sitemaps report in Google Search Console lists every sitemap that has been submitted for the property, with the date Google last read it and how many URLs it found.
  5. A search, as a last resort. site:example.com filetype:xml sometimes turns up sitemap files that Google has indexed. It's hit or miss, because sitemaps usually aren't indexed.

The tool above does steps 1 and 2 for you: enter a domain and it reads robots.txt, tries the common locations, shows which ones returned 404, and validates the first sitemap it finds. If a sitemap exists but robots.txt doesn't mention it, it tells you.

A sitemap only shows what the site owner chose to list. To see every page a site actually links to, you need a crawl; see how to see all pages on a website.

What an XML sitemap is and when you need one

An XML sitemap is a file that lists the URLs you want search engines to crawl and index, with optional dates for when each one last changed. It's a hint, not a command: listing a URL doesn't guarantee Google will crawl or index it.

A small site whose pages are all linked from the navigation may not need one. Sitemaps matter most for large sites, new sites with few external links, sites with pages that are hard to reach through internal links, and sites that publish or change a lot of content. Most CMSs generate one automatically, so in practice the question is usually whether the generated sitemap is correct.

Sitemap format

A regular sitemap is a <urlset> with one <url> per page. <loc> is required; <lastmod> is optional:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-09-01</lastmod>
  </url>
  <url>
    <loc>https://example.com/products?color=red&amp;size=m</loc>
  </url>
</urlset>

A sitemap index lists other sitemaps instead of pages:

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

The rules the checker applies:

Sitemap size limits

LimitValue
URLs per sitemap50,000
File size per sitemap50 MB uncompressed
Sitemaps per sitemap index50,000
Sitemap index files per site in Search Console500

Past either limit, split the URLs into several sitemaps and list them in a sitemap index. Gzip compression saves bandwidth but doesn't raise the 50 MB limit, which applies to the uncompressed file. Child sitemaps must be in the same directory as the index or below it, and Google has said it doesn't support an index that lists other indexes. See Google's guide to managing large sitemaps.

lastmod, priority and changefreq

<lastmod> must use the W3C Datetime format: 2026-09-16, or a full timestamp with a time zone such as 2026-09-16T14:30:00+00:00. Google uses lastmod only when it's consistently and verifiably accurate, so it should be the date the page's content last changed in a meaningful way, not the date the sitemap was generated. Two patterns tell Google the dates aren't reliable: dates in the future, and every URL sharing the same lastmod. The checker flags both.

Google ignores <priority> and <changefreq>. They don't hurt, but there's no reason to spend time tuning them.

What not to put in a sitemap

List only the URLs you want to appear in search results. That rules out:

How to submit a sitemap

There are two ways that work for Google:

Google deprecated its sitemap "ping" endpoint in June 2023, and it stopped responding about six months later. Plugins that still ping it do nothing useful; use robots.txt and Search Console instead.

Compare your sitemap with a crawl to find orphan pages

A sitemap and a crawl of your internal links should mostly agree. Where they don't, there's usually a problem:

To get both lists, crawl the site from its home page, then crawl again starting from the sitemap, and compare the URLs. The guide to seeing all pages on a website walks through the method.

bseoa can start a crawl from a sitemap. Pass --is-sitemap (a URL ending in .xml is detected automatically), and it reads every URL in the sitemap, follows child sitemap URLs ending in .xml listed in an index, and then keeps crawling the links it finds on those pages:

black-seo-analyzer --url-to-begin-crawl https://example.com/sitemap.xml --is-sitemap --output-type csv --output-file sitemap-crawl.csv

It can also export a visual map of a crawl with --output-type sitemap. That's an HTML diagram of how pages link together, not an XML sitemap file for search engines.

Check every page, not just one

These tools look at one URL at a time. bseoa crawls your whole site on your own machine and checks every page for 300+ technical SEO issues across 16 analysis modules.

Start the 14-day free trial

More free SEO tools