SEO check

What Is a Sitemap? XML Sitemap Guide and How to Fix a Missing One

A plain guide to sitemaps and the XML sitemap file, what our free report tests at /sitemap.xml, and how to fix a failed or warning result.

Free to use 10 min read Updated Oct 2026

Quick answer: what is a sitemap?

Quick answer: A sitemap is a file that lists the pages you want search engines to find, and for SEO it is almost always an XML file called sitemap.xml at the root of your site. Our report requests https://yourdomain/sitemap.xml once and judges only the status code that comes back.

  • Pass: the address answers with HTTP 200 after any redirects.
  • Warning: the address answers 401 or 403, which usually points to a firewall, bot rule or password layer.
  • Fail: any other status, or a timeout (3 seconds to connect and 3 to read).
  • Fix: create or switch on a sitemap, make sure it opens at /sitemap.xml, then run the report again.

Check my site free

What is a sitemap, and what does an XML sitemap look like?

A sitemap is a list of the URLs on a website that you want crawled. A search engine reads it as a hint about which pages exist and which ones changed recently, then decides for itself what to fetch and index.

The word covers three things. An XML sitemap is a machine readable file for crawlers, and it is the subject of this page. An HTML sitemap is an ordinary page of links for visitors, and a visual sitemap is a diagram designers draw while planning a build. Our report checks only the first kind.

An XML sitemap opens with an XML declaration, wraps everything in a urlset element that carries the sitemaps.org namespace, and adds one url element per page. Only the loc tag is required, and it must hold a full absolute URL of fewer than 2,048 characters. The file needs UTF-8 encoding, with characters such as the ampersand written as entities. Google ignores the priority tag and changefreq, and it uses lastmod only when the value proves consistently accurate. The sitemaps.org protocol documents every tag.

A minimal sitemap.xml you can copy

XML
<?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-10-01</lastmod>
  </url>
  <url>
    <loc>https://example.com/shop?id=42&amp;lang=en</loc>
    <lastmod>2026-09-24</lastmod>
  </url>
</urlset>

Write lastmod in W3C datetime format, set to the last real content change, not your latest deploy.

How SEO Site Checker tests your sitemap

Our audit takes the host from the address you entered and sends one GET request from our server to https://HOST/sitemap.xml, so www.example.com and example.com count as two different sites. It identifies itself as "Mozilla/5.0 (SEO Checker Bot)".

The exact rule: we use HTTPS only, follow every redirect and judge the final response. The 3 second limit applies to connecting and to reading separately, so a slow generator can keep us waiting longer than 3 seconds in total, but silence for 3 seconds at either stage is a fail.

A genuine sitemap that lives only at /sitemap_index.xml fails unless /sitemap.xml redirects to it, even though search engines can use the file. A firewall rule that blocks our request often shows as a 403 warning.

What pass, warning and fail mean in our report

The warning and the fail print the same message, "No sitemap found", and both show the red How to Fix button, so this table is how you tell them apart.

Status we receivedResultWhat it usually meansWhat to do next
200 after redirectsPassSomething is served there.Confirm it is real XML.
401 or 403WarningA firewall, bot rule or login refused us.Allow public GET requests.
404, 410, 5xx, timeout, SSL or connection errorFailThe file is missing, moved or too slow.Create it, redirect to it or cache it.

What the sitemap check does not judge

Only the status code counts. We do not open the file, validate the XML, count URLs, look for sitemap_index.xml or wp-sitemap.xml, or read the Sitemap directive in robots.txt, so a soft 404 server that answers 200 to every address passes without a sitemap. Open the file and look for a urlset or sitemapindex root element. Our robots.txt check guide covers the file that normally carries that directive.

Run the free report

Why a sitemap matters for SEO, and when you can skip it

A sitemap speeds up crawl discovery of new pages and orphan pages. That matters most on large, brand new or poorly linked sites and sites with many images or videos, where it also gives crawlers a clean list of pages worth their crawl budget. See how Google crawls sites for the background.

It is only a hint, and it does not lift rankings by itself. Google says a well linked site of roughly 500 pages or fewer may not need one, and no sitemap promises crawling or indexing. Good internal links remain the other route in. We still score it as basic hygiene, because it costs almost nothing and Search Console reports on it.

Types of sitemaps: XML, HTML, image, video and news

Google accepts XML, RSS 2.0, Atom 1.0 and plain text lists of URLs, with no preferred format. Image and video sitemaps suit media heavy sites, and a news sitemap is meant only for Google News publishers. A sitemap index is simply a file that lists other sitemap files, which keeps large sites under the 50,000 URL cap.

TypeBuilt forUsual addressCovered by our check
XML sitemapSearch engines/sitemap.xmlYes
Sitemap indexGrouping many sitemap files/sitemap_index.xmlOnly if /sitemap.xml redirects to it
Compressed sitemap.xml.gzSmaller downloads/sitemap.xml.gzNo
HTML sitemapVisitorsAn ordinary pageNo
Image sitemap, video sitemap or news sitemapExtra media data inside XMLExtra tags inside a sitemap fileNo
Text sitemap, RSS sitemap or Atom feed sitemapSimple lists or feedsAny address you submit in Search ConsoleNo

How to find and check the sitemap of any website

These steps answer "does this site have a sitemap" in minutes and predict our result.

  1. Try the usual addresses. Add /sitemap.xml to the domain, then /sitemap_index.xml and /wp-sitemap.xml.
  2. Read robots.txt. Open /robots.txt and look for a line beginning Sitemap:, the most reliable pointer.
  3. Use Search Console. For your own site, its sitemaps report lists every submitted file and status.
  4. Check the status code. Run the first command below for the final status and content type. You want 200 and an XML type.
  5. Test for the soft 404 trap. Run the second command on an address that cannot exist. If it also returns 200, a pass can be false.
Text
curl -sL -o /dev/null -w "%{http_code} %{content_type}\n" https://example.com/sitemap.xml
curl -sL -o /dev/null -w "%{http_code} %{content_type}\n" https://example.com/this-page-should-not-exist-84213

The second command should print 404. We use GET because our report does, and a HEAD request (curl -I) can get a different answer from some servers and firewalls. Add -A "Mozilla/5.0 (SEO Checker Bot)" to send our user agent.

How to fix a failed or warning sitemap check

  1. Fail with a 404: create the sitemap. On a CMS, switch on the built in feature or a plugin. Otherwise build the file with our free XML Sitemap Generator and upload sitemap.xml to the web root.
  2. Fail because the file lives elsewhere: redirect it. Add a 301 from /sitemap.xml to the real file, or copy the sitemap to /sitemap.xml.
  3. Fail with a 5xx or timeout: find the slowdown. Check the error log and any rewrite rule on the path. A generator that rebuilds the file on every request can exceed our 3 second read timeout before sending the first byte, so cache the output.
  4. Warning with a 401 or 403: open the door. Allow public GET requests to /sitemap.xml in your firewall, Cloudflare rules, security plugin or password protection. A bot rule can allow our user agent, Mozilla/5.0 (SEO Checker Bot).
  5. Point to the file and submit it. Add the Sitemap directive to robots.txt, which our Robots.txt Generator can write, then submit the file to Google in Search Console and to Bing Webmaster Tools, which also supports IndexNow.
  6. Run the report again.

If Search Console shows Couldn't fetch or Sitemap could not be read, run the curl command above first, because a 403, 404 or timeout is the usual cause.

On Apache, add this to .htaccess or the vhost if your sitemap lives at /sitemap_index.xml. It needs mod_alias.

Text
Redirect 301 /sitemap.xml https://example.com/sitemap_index.xml

On Nginx, put this inside the server block, then reload.

Text
location = /sitemap.xml { return 301 /sitemap_index.xml; }

In robots.txt, the Sitemap line sits on its own and takes a full URL.

Text
Sitemap: https://example.com/sitemap.xml

The Google sitemap build guide on Google Search Central is the official reference.

Keep the sitemap clean after you fix it

One file may hold up to 50,000 URLs or 50MB uncompressed. Past either, split the list and use an index file. List canonical, absolute URLs only, and leave out noindex pages, redirects, errors and parameter duplicates, or Search Console may report Submitted URL not selected as canonical.

Where your sitemap lives on WordPress, Shopify, Wix and your own server

Most platforms publish a sitemap, but our check cares only whether /sitemap.xml answers.

PlatformDefault addressDoes /sitemap.xml workIf it fails
WordPress core (5.5 and later)/wp-sitemap.xmlYes, core redirects it temporarilyCheck permalinks, security plugins and search engine visibility
Yoast SEO sitemap or Rank Math/sitemap_index.xmlYes, the plugin redirects to its indexConfirm the plugin sitemap feature is on
Shopify/sitemap.xmlYes, created automaticallyCheck the domain connection and storefront password
Wix/sitemap.xmlYes, created automaticallyCheck the custom domain connection
Squarespace/sitemap.xmlYes, created automaticallyCheck the site password settings
Apache or Nginx serverWherever you put itOnly if you upload it thereUpload it to the document root

On WordPress, a fail usually means pretty permalinks are off, a security plugin blocks the redirect, search engine visibility is switched off under Settings and Reading, or sitemaps are disabled. If a plugin replaces the core sitemap, switch the core one off with the wp_sitemaps_enabled filter, described in the WordPress core sitemaps reference.

PHP
add_filter( 'wp_sitemaps_enabled', '__return_false' );

Sitemap mistakes that give a failed or misleading result

  • Sitemap only at /sitemap_index.xml. Without a redirect from /sitemap.xml, our check fails a usable file.
  • A soft 404 server. A homepage returned for every path passes with no sitemap behind it.
  • Mixed signals in the list. Pages with a noindex tag, redirects, blocked pages or a canonical tag pointing elsewhere do not belong in the file.
  • Addresses that do not match your site. Relative URLs, http instead of https, or www instead of the bare domain send crawlers to the wrong pages.
  • A file hidden by robots.txt. A Disallow rule that covers the sitemap path can stop some crawlers fetching it and contradicts your Sitemap line, so keep that path open for Googlebot and Bingbot.
  • A restless lastmod. A date that changes on every request teaches Google to ignore the field.

How to Fix

The short version, the same steps you see when you click How to Fix in your report.

Why this fails: our report asked for https://yourdomain/sitemap.xml and did not get a normal 200 answer. A 404 or other error is a fail, and a 401 or 403 is a warning. The report looks only at that one path, so a sitemap stored at another address needs a redirect.

How to fix it:

  1. Create the sitemap with a plugin, a built in setting or our free XML Sitemap Generator.
  2. Make it open at /sitemap.xml in the web root, or add a 301 redirect from /sitemap.xml to the real file.
  3. Allow public requests to the file in your firewall, bot protection or password layer if the status was 401 or 403; the report identifies itself as Mozilla/5.0 (SEO Checker Bot).
  4. Add a Sitemap line to robots.txt, then submit the file in Google Search Console.
  5. List only canonical, indexable pages, with at most 50,000 URLs or 50MB uncompressed per file.
Text
Sitemap: https://example.com/sitemap.xml

Platform shortcuts:

  • WordPress: core serves /wp-sitemap.xml and redirects /sitemap.xml to it. Yoast SEO and Rank Math serve /sitemap_index.xml and redirect too. If the redirect fails, check permalinks and security plugins.
  • Shopify, Wix and Squarespace: the file is created automatically at /sitemap.xml.
  • Apache or Nginx: upload sitemap.xml to the document root.

Re-test: open the address in a private window and confirm it shows XML, then run curl -sL -o /dev/null -w "%{http_code}\n" https://example.com/sitemap.xml and look for 200. That is a GET request like ours, so it matches the report better than a HEAD request would. Finally, run our free report again and compare the result with the guide.

Re-test my website

Frequently Asked Questions

What is a sitemap used for?
A sitemap lists the pages you want crawled, so search engines find new, deep or poorly linked URLs sooner. It is a hint, not a promise, so it never guarantees that a page gets crawled or indexed.
What is a sitemap generator and do I need one?
A sitemap generator reads your site and writes the XML file for you. It suits static or custom sites, while most content management systems already produce one. Our free XML Sitemap Generator builds the file in minutes.
How do I find the sitemap of a website?
Try adding /sitemap.xml to the domain, then read the Sitemap line inside /robots.txt, the most reliable pointer. For your own site, Search Console lists submitted files. A curl request that prints only the final status code confirms a 200.
How do I make a sitemap?
Use the built in feature or a plugin on your CMS, or generate the file with our free tool and upload it to the web root. Then add a Sitemap line to robots.txt, submit the file in Search Console and run the report again.
Do I need a sitemap for a small website?
Google says a well linked site of roughly 500 pages or fewer may not need one. Still, it costs very little and Search Console reports on it, so our check still scores the file as basic hygiene.
What is the difference between an XML sitemap and an HTML sitemap?
An XML sitemap is written for crawlers and lives in a file such as sitemap.xml. An HTML sitemap is an ordinary page of links for visitors. Only the XML file at /sitemap.xml is tested by our report.
How many URLs can one sitemap hold?
One sitemap file can hold up to 50,000 URLs or 50MB uncompressed, whichever limit you reach first. Beyond that, split the list into several files and reference them all from a sitemap index file.
Does a sitemap help SEO?
A sitemap helps discovery and gives you reporting in Search Console, but it does not lift rankings by itself. Pair it with strong internal links and correct canonical tags, because those decide how well pages are understood.

See how your site scores right now

Paste your address into the free report, then use the How to Fix button on anything that needs work.

Free to use. Results in under a minute for most sites.