A sitemap is a file that lists the pages of your website you want search engines to find, usually an XML file at yourdomain.com/sitemap.xml. Each entry gives one page's full URL and, optionally, the date it last changed. Google, Bing and other search engines read it to discover pages and notice updates, especially pages that few links point to. A sitemap is a hint, not an order: listing a URL does not make Google crawl or index it. It is the most direct way to tell search engines which pages exist and which ones changed.
Below: what a sitemap does for SEO, an XML sitemap example with every tag explained, what to put in it and what to leave out, whether you need one, and what the sitemaps of 1,513 real sites look like.
What is a sitemap in SEO?
In SEO, a sitemap is a discovery tool. Search engines find pages in two ways: by following links from pages they already know, and by reading the lists of URLs that site owners give them. A sitemap is that list. Google's own definition, from its sitemaps overview, is a file where you provide information about the pages, videos and other files on your site, and the relationships between them.
A sitemap helps with four things:
- Discovery. New pages, and pages with few internal links, get found without waiting for Googlebot to stumble on a link.
- Recrawling. An accurate last-modified date tells search engines which pages changed since their last visit.
- Canonical signals. Listing a URL in your sitemap is a weak hint that it is the version you want indexed, not a duplicate.
- Extra content. Extensions describe images, videos, news articles and language versions of a page.
What a sitemap does not do: it does not rank pages, it does not override a noindex tag or a robots.txt block, and it does not guarantee indexing. Google decides what to crawl and what to keep.
Sitemaps are older than most of the sites using them. Google introduced them in 2005, and in 2006 Yahoo and Microsoft agreed on the shared format published at sitemaps.org, which is why one file works for every major search engine.
What is an XML sitemap? An example
An XML sitemap is the standard sitemap format: a text file in XML that wraps each URL in a few tags. Here is a complete XML sitemap example for a small site:
<?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-10-30</lastmod>
</url>
<url>
<loc>https://www.example.com/pricing</loc>
<lastmod>2026-09-14</lastmod>
</url>
<url>
<loc>https://www.example.com/blog/how-we-roast-coffee</loc>
<lastmod>2026-11-02</lastmod>
</url>
</urlset>
Every sitemap uses the same handful of tags, and Google only pays attention to two of them inside each entry:
| Tag | Required? | What it holds | Does Google use it? |
|---|---|---|---|
| urlset | Yes | Wraps the whole file and names the sitemap protocol. | Yes |
| url | Yes | One entry per page. | Yes |
| loc | Yes | The page's full URL, including https://. | Yes |
| lastmod | No | When the page's content last changed, as YYYY-MM-DD or a full timestamp. | Yes, if it is consistently accurate |
| changefreq | No | How often the page changes (daily, weekly...). | No, Google ignores it |
| priority | No | A number from 0.0 to 1.0 for the page's importance. | No, Google ignores it |
A few format rules trip people up:
- One file holds at most 50,000 URLs or 50MB uncompressed. Bigger sites split their URLs over several sitemaps.
- URLs must be absolute (
https://www.example.com/pricing, not/pricing) and match the version of your site you want indexed:httpsorhttp,wwwor not. - The file must be UTF-8, and special characters in URLs must be escaped: an
&becomes&. - Location matters. A sitemap at
example.com/blog/sitemap.xmlmay only list URLs under/blog/. Put it at the root to cover the whole site.
When one sitemap is not enough, a sitemap index lists the 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://www.example.com/sitemap-pages.xml</loc>
<lastmod>2026-10-30</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-posts.xml</loc>
<lastmod>2026-11-02</lastmod>
</sitemap>
</sitemapindex>
This is what WordPress SEO plugins and most large stores produce: one index, with a sitemap per content type under it. You give search engines the index, and they follow it to the rest.
For a real one, our own sitemap at indexmachine.co/sitemap.xml is generated by a sitemap.ts file in our Next.js app. On October 31, 2026 it listed 71 URLs: the homepage, pricing, blog posts, comparison pages and free tools.
Types of sitemaps, with examples
The XML sitemap above covers web pages. The other kinds either extend it or replace it:
- Image sitemap. Extra
image:imagetags inside a page's entry list the images on that page, so they can show in Google Images. - Video sitemap. Tags for a video's title, description, thumbnail and length, for pages that host videos.
- News sitemap. For sites in Google News: only articles from the last two days, with their publication date.
- hreflang entries.
xhtml:linktags inside each entry point to the same page in other languages. - RSS or Atom feed. Google accepts a feed as a sitemap. It usually lists only your newest posts, so it works best next to a full XML sitemap.
- Text sitemap. A plain
.txtfile with one URL per line. No dates, no extras, but valid. - HTML sitemap. A normal web page that links to your other pages, written for visitors. It helps navigation and internal linking, but it is not a file you give to search engines.
XML sitemap vs HTML sitemap
An XML sitemap is for search engines: a machine-readable file they fetch on their own. An HTML sitemap is for people: a page in your site's footer or menu that lists your sections. You can have both. If you only make one, make the XML sitemap, because it is the one Google, Bing and the other engines read.
What should a sitemap include, and what should it leave out?
A sitemap should list every URL you want to appear in search results, and nothing else.
Include pages that:
- return a 200 status code;
- are the canonical version of the page (the URL your canonical tag points to);
- are allowed by robots.txt and have no
noindextag; - you would be happy to see as a search result.
Leave out:
- URLs that redirect, and URLs that return 404 or 410;
- pages with
noindex, and pages blocked by robots.txt; - duplicates: parameter, sorting, filter, print and session versions of a page;
- login, account, cart and checkout pages, and internal search results;
- staging and test URLs.
The reason is practical. Every URL in the file is a page you are asking search engines to crawl. A sitemap padded with redirects and dead pages sends them to URLs you do not want indexed and buries the ones you do. Search Console shows the damage: filter the Page indexing report by your sitemap and every leftover redirect, 404 and noindex URL appears as an issue.
Keep lastmod honest too. Change it when a page's content really changes, and only then. Google uses it to decide what to recrawl, but only on sites where it has proven accurate; our guide on how to get Google to recrawl your site shows how it works in practice.
Do I need a sitemap?
Google's answer is that you might not need one if your site is small (about 500 pages or fewer that you want in search), every page is reachable through internal links, and you do not have many videos, images or news articles you want indexed. You probably do need one if your site is large, has pages that are poorly linked, is new with few external links, or has a lot of rich media or news content.
Our answer is simpler: have one anyway. It costs nothing, most platforms create it for you, and the cases where it helps (a new site, a page buried deep in the structure, a batch of new pages) are exactly the cases where indexing is slow. The data below shows why being small does not make a site safe.
How big are sitemaps, and how much of them gets indexed?
On October 31, 2026, the 1,513 sites connected to IndexMachine listed about 1.17 million URLs in their sitemaps, and we looked at each URL's latest state in Google's URL Inspection data. Aggregate counts only, with no site or URL named. These are sites whose owners signed up for an indexing tool, so they lean toward sites with indexing trouble, and some inspection results are days or weeks old. Most of these sites are on free accounts, where IndexMachine has not requested anything yet, so the numbers show where sites stand before indexing is turned on.
How big a typical sitemap is:
- The median sitemap listed 41 URLs. A quarter listed 12 or fewer, three quarters 255 or fewer.
- 920 sites (61%) listed 100 URLs or fewer, and 1,335 (88%) listed 500 or fewer, under Google's threshold for a site that may not need a sitemap.
- 1 site in 10 listed more than 624 URLs, and the largest listed 90,355.
And how much of each sitemap Google had indexed, by size:
| URLs in the sitemap | Sites | Share of sites | Indexed URLs, median site |
|---|---|---|---|
| 1 to 10 | 367 | 24.3% | 50.0% |
| 11 to 50 | 438 | 28.9% | 18.5% |
| 51 to 100 | 115 | 7.6% | 40.2% |
| 101 to 500 | 415 | 27.4% | 31.3% |
| 501 to 1,000 | 64 | 4.2% | 25.0% |
| 1,001 to 5,000 | 72 | 4.8% | 14.3% |
| 5,001 to 10,000 | 18 | 1.2% | 9.6% |
| More than 10,000 | 24 | 1.6% | 16.4% |
Three things stand out:
- In no size group did the median site have more than half its sitemap indexed. Small sitemaps did best, and still only half.
- Past 1,000 URLs, the median site had 10% to 16% of its URLs indexed. The bigger the list, the more of it waits.
- Between 31% and 50% of the URLs in every size group were "URL is unknown to Google": listed in a sitemap, yet with no record at Google.
So a sitemap does its job, telling search engines what exists, and that job ends before indexing starts. URLs that Google knows about but has not crawled show up as "Discovered - currently not indexed"; our guide to fixing Discovered - currently not indexed covers what moves them.
Where is my sitemap, and how do I tell Google about it?
Try yourdomain.com/sitemap.xml and yourdomain.com/sitemap_index.xml in your browser, and look for a Sitemap: line in yourdomain.com/robots.txt. Most platforms create the file automatically: WordPress at /wp-sitemap.xml (or /sitemap_index.xml with an SEO plugin), Shopify, Wix and Squarespace at /sitemap.xml. If you are not sure the file is valid, the free sitemap checker finds your sitemap through robots.txt and the common paths, validates the XML and lists the URLs in it.
There are two ways to point search engines to it, and you should use both:
- Submit it in Google Search Console, under Indexing, Sitemaps. It is the only way to see whether Google read the file and how many URLs it found. Our step-by-step guide on how to submit a sitemap to Google covers each screen and status.
- Add a
Sitemap:line to robots.txt with the full sitemap URL. Every crawler that reads robots.txt, Bing included, finds the sitemap there.
After that, Google re-reads your sitemap on its own schedule. You do not need to submit it again every time you publish.
Your sitemap is IndexMachine's to-do list
Search engines read your sitemap and then decide for themselves. The table above shows how much that leaves undone, and Search Console's answer is one URL at a time: inspect it, click Request indexing, come back tomorrow.
IndexMachine starts from the same file. New URLs are picked up as they appear in your sitemap, and its Chrome extension presses Google's own Request indexing button in your Search Console, on autopilot, every day, for the pages Google has not indexed yet, using your full daily Google quota on every site. Pages Google already shows as indexed are skipped, so no quota is wasted. New sitemap pages also go to Bing, Yandex, Seznam, Naver and the other IndexNow engines with unlimited IndexNow, no daily cap. A clean sitemap means clean results, so check yours first.
Turn your sitemap into indexed pages
Check your sitemap with the free sitemap checker. Then create a free IndexMachine account: it imports your Search Console sites and your sitemap pages and shows which ones Google has not indexed. Turn on daily Request Indexing in your own Search Console plus unlimited IndexNow when you are ready.
FAQs
What is a sitemap used for?
A sitemap tells search engines which pages on your site exist and when they last changed, so they can find and recrawl them. It matters most for new sites, large sites and pages that few links point to.
What is the difference between a sitemap and robots.txt?
A sitemap lists the pages you want crawled. robots.txt tells crawlers which paths they may not crawl. They work together: robots.txt can point to your sitemap with a Sitemap: line, and a URL blocked in robots.txt should not be in your sitemap.
Does a sitemap help SEO?
It helps search engines find and recrawl your pages, which is the step before any ranking. It does not improve rankings by itself, and it does not guarantee indexing.
How many URLs can a sitemap have?
Up to 50,000 URLs and 50MB uncompressed per file. For more, split the URLs into several sitemaps and list them in a sitemap index.
What does a website sitemap look like?
An XML sitemap is a list of url entries, each with a loc tag holding the page's full address and an optional lastmod date, wrapped in a urlset tag. Open yourdomain.com/sitemap.xml in a browser to see your own.