What is an XML sitemap, and what is it for?
An XML sitemap is a file in XML format that lists the URLs of a website that its owner wants search engines to know about, with optional data such as each one's last modification date. It follows the sitemaps.org protocol, allows up to 50,000 URLs or 50 MB uncompressed per file, and helps discover pages, but does not guarantee they are crawled or indexed.
Key takeaways
- An XML sitemap lists the URLs you want a search engine to know about; it is a hint, not an order.
- Each file allows up to 50,000 URLs or 50 MB uncompressed; beyond that you use a sitemap index.
- Google ignores priority and changefreq, and only uses lastmod if it is consistently and verifiably accurate.
- In a store, the sitemap should carry the canonical URLs of product pages and collections, not variants, filters or noindex pages.
- Search Console discovering a URL in your sitemap does not mean it crawls or indexes it.
An XML sitemap is not the "site map" page some stores link in the footer for people, nor the product file you send to Google Merchant Center. It is a file for machines, usually at yourdomain.com/sitemap.xml, that tells search engines which URLs in your store you want them to know about. In a catalog with variants, filters and sort orders, which generate many more URLs than you want in a search engine, the sitemap is one of the few places where you say which ones count.
How it works
The format is defined by the sitemaps.org protocol. The file starts with a <urlset> tag that declares the protocol's namespace, and each page goes in a <url> with a required <loc> carrying its address. Three more tags are optional: <lastmod>, the date of last modification in W3C format; <changefreq>, how often it changes; and <priority>, a value from 0.0 to 1.0. The protocol presents them as hints a search engine may disregard.[1]sitemaps.org. Sitemaps XML format
Google is more specific: it ignores <priority> and <changefreq>, and uses <lastmod> only if it is consistently and verifiably accurate. The date has to reflect the last significant change to the page, and Google gives an example of a change that is not: updating the copyright date.[2]Google Search Central. Build and submit a sitemap
The limits are the same in the protocol and in Google: 50,000 URLs or 50 MB uncompressed per file. A larger site splits the list into several sitemaps and gathers them in a sitemap index, which in turn allows up to 50,000 entries.[1]sitemaps.org. Sitemaps XML format[2]Google Search Central. Build and submit a sitemap URLs must be fully qualified, with protocol and domain, and the file in UTF-8.[2]Google Search Central. Build and submit a sitemap
Location has rules too. According to the protocol, a sitemap at /catalog/sitemap.xml can only list URLs that start with /catalog/, and all of them must share the file's protocol and domain.[1]sitemaps.org. Sitemaps XML format Google recommends putting it at the root, where it can affect the whole site.[2]Google Search Central. Build and submit a sitemap
There are three ways for search engines to find it: submit it in Search Console, add a Sitemap: line to your robots.txt or use the Search Console API.[2]Google Search Central. Build and submit a sitemap The robots.txt line carries the sitemap's full URL, does not depend on any rule group and can be followed by all crawlers.[3]Google Crawling Infrastructure. How Google interprets the robots.txt specification
The most important part is what the sitemap does not do. Google says it twice: submitting a sitemap is only a hint, which does not guarantee it will download it or use it for crawling,[2]Google Search Central. Build and submit a sitemap and there is no guarantee that a URL discovered in a sitemap has been or will be crawled, or that it will pass indexing.[4]Search Console Help. Sitemaps report Not every site needs one, either. Google recommends it mainly for large sites, with more than 500 pages, for new ones with few external links and for those with a lot of video, images or news; a small, well-linked site may not need it.[5]Google Search Central. What is a sitemap
In a store
Google advises including the URLs you want to see in its results, and reminds you that it tends to show canonical URLs, something the sitemap can influence.[2]Google Search Central. Build and submit a sitemap In a store that translates into a short, clean list: the canonical URL of every product page and every collection, and not the variants with parameters, the sorted or filtered collections from faceted navigation, internal search results or pages marked noindex.
Shopify generates the file without you doing anything. Every store has a sitemap.xml at the root of the domain that links to separate sitemaps for products, collections, blogs and pages, with each product's main image, and it updates itself when you add content. If you sell in several languages, they are added to each domain's sitemaps. While the store is password-protected, search engines cannot read it.[6]Shopify Help Center. Finding and submitting your sitemap
Here is what the index of a small store and one of its child sitemaps would look like, in a fictional example:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example-store.com/sitemap_products_1.xml</loc>
</sitemap>
<sitemap>
<loc>https://example-store.com/sitemap_collections_1.xml</loc>
</sitemap>
</sitemapindex>
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example-store.com/products/blue-stoneware-mug</loc>
<lastmod>2026-09-28</lastmod>
</url>
<url>
<loc>https://example-store.com/products/stoneware-pitcher-1l</loc>
<lastmod>2026-08-14</lastmod>
</url>
</urlset>
What is missing is as deliberate as what is there: no ?variant=, no ?sort_by=, no <priority>, which Google would ignore. And each <lastmod> changes only when something on the page that matters changes, such as the price or the description.
What gets mixed up
Being in the sitemap is not being in the index. The Search Console sitemaps report counts the URLs Google has discovered in the file, and the help page itself warns that there is no guarantee they have been crawled or will be indexed. To know how many are, you have to filter the page indexing report by that sitemap.[4]Search Console Help. Sitemaps report The same goes for the tags: raising the <priority> of your star product pages or updating every <lastmod> on each deploy gets you nothing, because Google ignores the first and only uses the second if it is accurate.[2]Google Search Central. Build and submit a sitemap
How to check
- Open
yourdomain.com/sitemap.xmlin the browser. If it is an index, open each child sitemap and look at what kind of URLs it carries. - Open your robots.txt and look for the
Sitemap:line, with the full URL.[3]Google Crawling Infrastructure. How Google interprets the robots.txt specification - Submit the sitemap in Search Console and look at its status in the sitemaps report, which distinguishes three cases: Google read it without errors, read it with errors or could not download it.[4]Search Console Help. Sitemaps report
- Filter the page indexing report by that sitemap to see how many of its URLs are indexed.[4]Search Console Help. Sitemaps report Read the reasons for the ones that are not in the indexing entry.
- Review a sample of URLs: they should return a 200, their canonical should be themselves and they should not carry
noindex. A URL you do not want in the results has no business in the sitemap.[2]Google Search Central. Build and submit a sitemap
Related concept: product feed
The sitemap and the product feed get confused because both list the catalog, but they say different things. The sitemap gives addresses: which URLs exist and when they changed. The Google Merchant Center feed gives data: each product with its identifier, title, description, link to its page, main image, availability and price, which Google uses to match your products with the right searches.[7]Google Merchant Center Help. Product data specification A sitemap carries the price of nothing, and a feed does not replace having your product pages be crawlable.
To go further, the comparison puts the sitemap next to llms.txt and structured data, and this topic's reading path puts the rest of the terms in order.
Synonyms
- English
- XML sitemap, sitemap
- Español
- mapa del sitio XML, sitemap
Sources
- [1] sitemaps.org. Sitemaps XML format. Accessed . ↑ ↑ ↑
- [2] Google Search Central. Build and submit a sitemap. Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
- [3] Google Crawling Infrastructure. How Google interprets the robots.txt specification. Accessed . ↑ ↑
- [4] Search Console Help. Sitemaps report. Accessed . ↑ ↑ ↑ ↑
- [5] Google Search Central. What is a sitemap. Accessed . ↑
- [6] Shopify Help Center. Finding and submitting your sitemap. Accessed . ↑
- [7] Google Merchant Center Help. Product data specification. Accessed . ↑
Change history
- First English version, translated from the Spanish original.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
Indexing
What indexing is, how it differs from crawling, why Google does not store all your product pages and how to read its status in Search Console.
Canonical URL
What a canonical URL is, how Google uses it to pick the address of a product page with several URLs and how to check which one it chose in your store.
robots.txt
What the robots.txt file is, how Googlebot, GPTBot and OAI-SearchBot read it, why it can't remove a page from the index and how to review your store's.
Duplicate content
What duplicate content is, why Google does not penalize it but does split your signals, how AI engines treat it and how to sort it out in an online store.
Search Console
What Google Search Console is, what it tells you about your store (indexing, queries, clicks) and what it reports since 2026 on AI Overviews and AI Mode.
Product feed
What a product feed is, which fields it carries, how Google Merchant Center and ChatGPT receive it and why it has to match the published product page.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.