SmartEcomSEO
Technical SEO

The Shopify Sitemap, Explained: Limits, Gaps and the New Agentic Sitemap

What Shopify's sitemap.xml contains in 2026, how it splits big catalogs, what it leaves out, and what the new sitemap_agentic_discovery.xml and /agents.md files do.

Illustration for “The Shopify Sitemap, Explained: Limits, Gaps and the New Agentic Sitemap”
Key takeaways
  • Shopify's sitemap.xml is an index of child sitemaps for products, collections, pages, blogs, metaobject pages, each Markets subfolder and, since 2026, AI agents.
  • Product sitemaps on the stores we checked were split into files of 1,000 products, far below Google's 50,000-URL limit.
  • sitemap_agentic_discovery.xml lists a single URL, /agents.md, which Shopify calls the canonical agent-facing description of a store.
  • You can override /agents.md, /llms.txt and /llms-full.txt with theme templates, but the agents.md template only gets the request and agents objects.
  • The agentic sitemap is plumbing, not a ranking factor: product data quality decides what AI shopping agents recommend.

Every Shopify store publishes a sitemap at /sitemap.xml. You can't edit it, you can't turn it off, and most of the time you shouldn't want to. But on a big catalog it's worth knowing exactly what it contains, what it leaves out, and what changed in 2026, when Shopify added a new child sitemap for AI agents: sitemap_agentic_discovery.xml.

Everything below comes from Shopify's documentation and from fetching the sitemaps of live Shopify stores (Allbirds, Lovisa, Princess Polly, Kylie Cosmetics, Brooklinen and Shopify's own Dawn demo) in September 2026.

What the Shopify sitemap looks like today#

/sitemap.xml is a sitemap index: a list of other sitemaps. Here's Allbirds' index as we fetched it (IDs shortened):

xmlxml
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- This is the parent sitemap linking to additional sitemaps for products,
       collections and pages as shown below. The sitemap can not be edited
       manually, but is kept up to date in real time. -->
  <sitemap><loc>https://www.allbirds.com/sitemap_agentic_discovery.xml</loc></sitemap>
  <sitemap><loc>https://www.allbirds.com/sitemap_products_1.xml?from=1878…&amp;to=7369…</loc></sitemap>
  <sitemap><loc>https://www.allbirds.com/sitemap_pages_1.xml?from=1544…&amp;to=9489…</loc></sitemap>
  <sitemap><loc>https://www.allbirds.com/sitemap_collections_1.xml?from=4234…&amp;to=2794…</loc></sitemap>
  <sitemap><loc>https://www.allbirds.com/sitemap_blogs_1.xml</loc></sitemap>
  <sitemap><loc>https://www.allbirds.com/sitemap_metaobject_pages_1.xml</loc></sitemap>
</sitemapindex>

The from and to values are resource IDs. Each child file covers a range of product, page or collection IDs.

Child sitemapWhat it listsNotes
sitemap_products_N.xmlHome page (first file only) and every published productOne <image:image> per product: the primary image, with its title
sitemap_collections_N.xmlPublished collections, including /collections/allCollection image where one is set
sitemap_pages_N.xmlOnline Store pages (/pages/...)Includes utility pages you may not want indexed
sitemap_blogs_1.xmlBlog index pages and articlesArticle featured images
sitemap_metaobject_pages_1.xmlMetaobject entries published as web pagesOnly when you use metaobject pages
sitemap_agentic_discovery.xmlOne URL: /agents.mdNew in 2026, covered below
/en-xx/sitemap_*.xmlThe same set for each Markets subfolderListed in the root index

If you use separate domains for international markets, Shopify generates sitemap files for each domain and you submit each one separately in Search Console.

The limits that matter on a big catalog#

Files are split at 1,000 products#

Google allows up to 50,000 URLs or 50 MB per sitemap file. Shopify splits much earlier. On Lovisa's store we counted 11 product sitemaps: the first held 1,001 URLs (1,000 products plus the home page), the next nine held exactly 1,000 each, and the last held 222. Princess Polly had 18 product files. Collection files were not split at a fixed count in the stores we checked, so don't rely on a number there.

The practical point: a 10,000-SKU store has at least 10 product sitemaps. Search Console's Sitemaps report shows discovered pages for each child file, and the Page indexing report can be filtered to submitted pages, which is the fastest way to see how much of the catalog is actually indexed.

You can't edit it#

There is no setting to add, remove or reorder URLs in the generated file. You control what's in it by controlling what's published:

  • Unlisted status (products): Shopify's help center says Unlisted products are hidden from search engines, Shopify Catalog and the sitemap, but still reachable by direct URL. Use it for bundle components, warranty add-ons and B2B-only items.
  • The seo.hidden metafield (products, pages, articles): set to 1 to remove the page from the sitemap and add noindex. Developers on Shopify's community forum reported in 2025 that it only adds the robots tag when the metafield type is integer, so use an integer definition.
  • Unpublishing from the Online Store channel or setting a product to Draft.

If you need extra URLs submitted (for example, a sitemap an app generates for landing pages), you can add a Sitemap: line in robots.txt.liquid. Shopify's docs show this as a custom rule outside the default groups.

lastmod on products is not telling you much#

Google ignores changefreq and priority, and uses lastmod only if it's "consistently and verifiably" accurate. In every product sitemap we pulled on September 24, 2026 (on Allbirds, Lovisa, Kylie Cosmetics and the Dawn demo store), every product entry carried that same day's date. Collections and blog posts had varied, plausible dates.

That means you can't use product lastmod as a signal of freshness, and Google probably doesn't either. Real freshness signals on product pages come from content changes Google can see when it recrawls: price, availability, reviews, copy.

Markets: one full sitemap set per subfolder#

With Markets subfolders, the root index lists a complete set of child sitemaps for each one (/en-au/sitemap_products_1.xml and so on), each containing that market's URLs. The files we checked carried no hreflang annotations (no xhtml:link entries). Shopify puts hreflang in the page <head> instead, which Google accepts as an equally valid method.

The side effect: a store with 15 market subfolders submits 15 copies of its catalog. If those subfolders are English duplicates with no local pricing, content or demand behind them, they add crawl load without adding rankings. Decide which markets deserve their own URLs before switching them on; our international SEO work starts with exactly that question.

What the sitemap leaves out#

Not being in the sitemap doesn't block indexing. But these URL types are never listed, which is usually correct:

  • Collection tag pages (/collections/sofas/leather)
  • Filtered and sorted collection URLs (?filter.…, ?sort_by=)
  • Vendor and type pages (/collections/vendors?q=…)
  • Blog tag pages (/blogs/news/tagged/…)
  • Collection-path product URLs (/collections/x/products/y)

If Search Console shows lots of these indexed, the problem is internal linking and canonicals, not the sitemap. Our duplicate content guide covers each one.

The opposite gap matters more: pages that are in the sitemap but not linked from anywhere. A product that's published but not in any collection shows up in the sitemap and nowhere else. Google can index it, but it gets almost no internal authority. Compare the sitemap URL list to a crawl to find these orphans.

The new agentic sitemap and /agents.md#

In 2026 Shopify started serving new agent-facing files on every Online Store:

  • /agents.md: a Markdown document Shopify's docs call "the canonical, agent-facing description of a store".
  • /llms.txt and /llms-full.txt: alternate URLs that mirror /agents.md by default.
  • /.well-known/ucp: the store's Universal Commerce Protocol (UCP) profile, with an MCP endpoint at /api/ucp/mcp.
  • /sitemap_agentic_discovery.xml: a child sitemap that lists /agents.md.

On Allbirds, the agentic sitemap is this, in full:

xmlxml
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.allbirds.com/agents.md</loc>
    <changefreq>weekly</changefreq>
  </url>
</urlset>

/agents.md itself is served as text/markdown. On the stores we checked, the default version tells agents how to use UCP (discover, search the catalog, create a cart and checkout, with buyer approval required for payment), lists the read-only URLs (/products/{handle}.json, /collections/{handle}/products.json, /search, the sitemap), links the store's policies, and recommends Shopify's Shop skill for personal shopping agents. The newer default robots.txt carries a comment header pointing agents to the same files.

Can you customize agents.md?#

Yes. Shopify's developer changelog (May 28, 2026) added three theme templates: templates/agents.md.liquid, templates/llms.txt.liquid and templates/llms-full.txt.liquid. The lookup order:

URLTemplate used
/agents.mdagents.md.liquid, then Shopify's default
/llms.txtllms.txt.liquid, then agents.md.liquid, then Shopify's default
/llms-full.txtllms-full.txt.liquid, then agents.md.liquid, then Shopify's default

Two constraints to know before you edit:

  1. Restricted Liquid. Only request and a special agents object are available. shop, collections, pages and the other usual globals render blank. The agents object gives you store_name, store_url, ucp_discovery_url, mcp_endpoint_url, ucp_versions, currency and sitemap_url.
  2. You own it once you add it. A custom template replaces Shopify's managed file, which otherwise stays in sync with Shopify's agent capabilities.

A minimal custom version that keeps the endpoints dynamic and adds brand context looks like this:

liquidliquid
# Agent Instructions — {{ agents.store_name }}

This document describes how AI agents can interact with {{ agents.store_url }}.

## About the store
We sell commercial-grade outdoor kitchens and built-in grills. All prices are in {{ agents.currency }}.

## Commerce Protocol (UCP)
- Discovery: `GET {{ agents.ucp_discovery_url }}`
- MCP endpoint: `POST {{ agents.mcp_endpoint_url }}`

## Read-only browsing
- Sitemap: {{ agents.sitemap_url }}
- Buying guides: {{ agents.store_url }}/blogs/guides

Shopify's docs warn against putting contact details or other private merchant data in the file, because it's cached broadly and served to every agent.

The agents.md file is served only at the bare primary domain, with no Markets subfolder version.

Does the agentic sitemap help you rank in ChatGPT?#

Not directly. It's plumbing. The agentic sitemap makes /agents.md easy to find, and /agents.md tells agents where the structured endpoints are. Which products an AI assistant recommends still depends on the data behind those endpoints: product titles, descriptions, options, images, prices, availability and the attributes Shopify Catalog syndicates to AI channels.

Shopify's help center says eligible products are discoverable by AI channels through Shopify Catalog, and names ChatGPT, Microsoft Copilot, Google AI Mode and Gemini among them. For high-ticket products, the assistant also reads the open web: reviews, comparisons and your buying guides. That's where the work is. Our ChatGPT Shopping service covers product data and the content AI assistants cite, and our llms.txt generator helps if you want a custom llms.txt that diverges from agents.md.

Reading your sitemap in Search Console#

Submit sitemap.xml once. Search Console recognizes it as an index and lists each child sitemap underneath with its own "Discovered pages" count. A few things that look like problems but usually aren't:

  • sitemap_agentic_discovery.xml shows one discovered page. That's expected: it only lists /agents.md.
  • Product sitemap URLs contain ?from= and to=. Those are ID ranges, not tracking parameters. The files move as you add products, so don't submit the child files individually.
  • Discovered pages exceed indexed pages. Normal on any catalog. What matters is the indexed share of submitted pages and whether it's improving.

What is a problem: a "Couldn't fetch" status that persists for days (check the storefront password first), or a large drop in discovered product URLs, which usually means products were unpublished from the Online Store channel by a bulk edit or an app.

A monthly sitemap routine for big catalogs#

  1. Confirm the index loads and lists every child file you expect, including each Markets subfolder.
  2. Compare counts. Products in the sitemap vs. active products in the admin. A gap means publishing or status problems.
  3. Filter the Page indexing report to submitted pages and note the indexed share. Split the "not indexed" examples into products, collections and blog posts to see where the gap is.
  4. Look for junk. Test pages, "copy-of" collections, old landing pages. Unlist, hide or delete them.
  5. Check /agents.md and /.well-known/ucp still load and show the right store name.
  6. Submit to Bing Webmaster Tools as well as Google. On one of our client stores, Bing drove $25,000+ of $150,000+ organic revenue in four months.
  7. Find orphans by comparing sitemap URLs with a crawl.

Headless storefronts (Hydrogen or custom front ends) don't always get this generated set; several large brands we checked served their own sitemap formats. If you're headless, check what your front end actually outputs.

For the full list of technical checks beyond the sitemap, see the Shopify SEO checklist for big catalogs, or talk to us about technical SEO.

People also ask

Questions people ask about this

Where is the Shopify sitemap?

Every Online Store serves it at yourdomain.com/sitemap.xml. It is a sitemap index linking to child sitemaps for products, collections, pages, blogs and, where used, metaobject pages, plus sitemap_agentic_discovery.xml and a set for each Markets subfolder. Submit sitemap.xml once in Google Search Console and Bing Webmaster Tools, and once per extra domain.

How do I remove a product from the Shopify sitemap?

Set the product status to Unlisted, which Shopify says hides it from search engines, Shopify Catalog and the sitemap while keeping the URL reachable. Alternatively, add the seo.hidden metafield with an integer value of 1, which also adds noindex. Draft products and products not published to the Online Store channel are not listed either.

What is sitemap_agentic_discovery.xml on Shopify?

It is a child sitemap Shopify added in 2026. On the stores we checked it lists one URL, /agents.md, with a weekly change frequency. Its job is to help crawlers and AI agents find the agent-facing file that describes how to browse and transact with the store through the Universal Commerce Protocol.

Can I edit agents.md or llms.txt on Shopify?

Yes. Add templates/agents.md.liquid in your theme to replace the managed agents.md, which then also serves /llms.txt and /llms-full.txt unless you add llms.txt.liquid or llms-full.txt.liquid. The template can only use the request and agents objects. Shopify recommends the managed default for most stores.

Why do all my products show the same lastmod date in the Shopify sitemap?

In every product sitemap we pulled on the same day, all products carried that day's date, while collections and blog posts had varied dates. The reason isn't documented. Google only uses lastmod when it is consistently accurate, so don't rely on it; real content changes on the page matter more.

Next step

Want this done on your store?

Shopify agentic commerce as of September 2026: how products reach ChatGPT Shopping, Copilot and Google AI Mode through Shopify Catalog, where checkout happens on each, and what your store needs in place.

Talk to Zack directlyUsually replies within 24 hours
WeChatSearch this ID in WeChat
WhatsApp +86 186 8214 2136