Shopify XML Sitemap: The Complete 2026 Guide
Where to find your Shopify sitemap, how it works, what it cannot do, and how to submit it to Google so your whole catalog gets indexed.
Shopify XML Sitemap: The Complete 2026 Guide
Every Shopify store ships with an XML sitemap automatically, and your Shopify sitemap is the file Google reads to discover your products, collections, and pages. This guide shows you where to find it, how it's built, what you can and can't change, and how to make sure your whole catalog actually gets indexed.
Table of contents
- Where to find your Shopify sitemap
- How the Shopify sitemap is structured
- How to submit your Shopify sitemap to Google
- What you can and can't control
- Common Shopify sitemap problems
- When you need more than Shopify's built-in sitemap
- FAQ
- The bottom line
Where to find your Shopify sitemap
Shopify generates your sitemap for you. You don't create it, upload it, or install an app for it. It lives at a fixed location:
https://yourstore.com/sitemap.xml
Swap in your own domain (or your myshopify.com URL if you haven't connected a custom domain yet) and open it in a browser. You'll see an XML document. It updates on its own as you add, edit, or remove products and pages, so there's nothing to maintain for a standard store.
If you've connected a custom domain, always reference the sitemap on that domain, not the .myshopify.com version. Google should index the canonical domain you actually sell on.
How the Shopify sitemap is structured
The file at /sitemap.xml is not one long list of URLs. It's a sitemap index — a small file that points to several child sitemaps, each covering one content type. Splitting things this way keeps each file small and lets large catalogs scale without hitting size limits.
A typical Shopify sitemap index looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://yourstore.com/sitemap_products_1.xml</loc>
<lastmod>2026-06-10T08:00:00Z</lastmod>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap_collections_1.xml</loc>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap_pages_1.xml</loc>
</sitemap>
<sitemap>
<loc>https://yourstore.com/sitemap_blogs_1.xml</loc>
</sitemap>
</sitemapindex>
The child sitemaps each cover one type of content:
sitemap_products_1.xml— your product pagessitemap_collections_1.xml— your collection pagessitemap_pages_1.xml— your static pages (about, contact, policies)sitemap_blogs_1.xml— your blog posts and articles
The _1 suffix matters. Each child sitemap caps the number of URLs it holds, and when a type grows past that cap, Shopify paginates — you get sitemap_products_2.xml, sitemap_products_3.xml, and so on. The index file links to all of them automatically. So a store with 30,000 products will have many product child sitemaps, all stitched together by the one index at /sitemap.xml.
This is exactly how a sitemap index should work, and it's a sound design. If you want to understand the underlying spec, read up on the XML sitemap fundamentals — the same rules govern every sitemap, not just Shopify's.
How to submit your Shopify sitemap to Google
Shopify makes the file; Google still needs to be told about it. You only submit the index — sitemap.xml — and Google follows the links to every child sitemap from there.
- Open Google Search Console and select the property for your store's domain. If you haven't verified the domain yet, do that first.
- In the left menu, click Sitemaps.
- Under "Add a new sitemap," type
sitemap.xmland click Submit. - Wait. Google fetches it, reads the index, and queues the child sitemaps. Status will move to "Success" once it's processed.
You only ever submit sitemap.xml. Don't submit each child sitemap individually — Google discovers them through the index. For a full walkthrough with screenshots and troubleshooting, see how to submit it to Google Search Console.
Submitting the sitemap doesn't guarantee indexing — it guarantees discovery. Google decides what to index based on quality, crawl budget, and dozens of other signals. If pages aren't getting indexed even after submission, that's a separate problem worth understanding: here's why Google isn't indexing your products.
What you can and can't control
This is where most store owners get tripped up. Shopify's sitemap is convenient precisely because it's automatic — and automatic means limited control.
What you can't do:
- You can't edit the sitemap directly. There's no field in the admin to add, remove, or reorder URLs. The file is generated from your store data, full stop.
- You can't remove a single URL from the sitemap through the admin. The only ways to keep a URL out are to unpublish the product/page (which removes it from the store) or to block it via
robots.txt.liquid. - You can't set per-URL
lastmodorpriorityvalues. Shopify decides these. You don't get to mark one product as higher priority than another in the sitemap.
What you can do:
- Exclude content by unpublishing it. Draft products, hidden products, and unpublished pages are kept out of the sitemap automatically. This is the cleanest way to control what's included.
- Control crawling with
robots.txt.liquid. Shopify lets you customize your robots file through a theme template. From your theme code editor, addrobots.txt.liquidunder templates and add rules. For example:
{% raw %}
# templates/robots.txt.liquid
{% for rule in robots.default_rules %}
{{ rule }}
{% endfor %}
Disallow: /collections/all
{% endraw %}
Be careful here. robots.txt controls crawling, not indexing, and a clumsy edit can hide pages you actually want found. Start from robots.default_rules so you keep Shopify's sensible defaults.
The takeaway: for a vanilla store, this hands-off model is fine. The trouble starts when your needs outgrow what the built-in sitemap can express.
Common Shopify sitemap problems
A few issues come up again and again. Most have a clear cause.
The sitemap isn't updating in Search Console. Shopify regenerates the sitemap quickly, but Google recrawls on its own schedule. A new product can sit in your sitemap for days before Google fetches it again. This is usually Google's pace, not a Shopify bug. Resubmitting in Search Console can nudge a recrawl.
Old products linger in the index. You deleted a product, but it still shows in Google. The URL leaves the sitemap immediately, but Google takes time to drop it from its index. That's normal deindexing lag. If it returns a proper 404 or 410, it'll fall out eventually.
Duplicate URLs from variants and filters. Variant URLs and filtered collection URLs (?variant=, ?filter=) can create many near-duplicate addresses. Shopify uses canonical tags to point Google at the main version, and these filtered URLs generally aren't in the sitemap — but they can still get crawled and muddy your reporting.
International and multi-store setups. Running Shopify Markets, multiple stores, or several domains means several sitemaps and hreflang considerations. The built-in sitemap covers one storefront's structure; it doesn't stitch multiple stores into a single submission for you.
Headless Shopify. If your storefront is custom — Hydrogen, Next.js, or another framework hitting Shopify as a backend — the URLs your customers actually visit are defined by your routing, not Shopify's. The auto-generated /sitemap.xml reflects Shopify's default storefront paths, which may not match your live URLs at all. This is the single biggest gap, and we'll cover it next.
When you need more than Shopify's built-in sitemap
Let's be honest: for a standard single Shopify store on the default storefront, the built-in sitemap is genuinely all you need. Don't add tools you won't use.
But there are real situations where Shopify's sitemap falls short, and that's where a hosted third-party sitemap like Indexly earns its place — to complement Shopify, not replace it for a vanilla store:
- Headless Shopify. When you run a custom storefront on Next.js or Hydrogen and control routing yourself, Shopify's auto-generated sitemap points at paths that may not exist on your live site. You need a sitemap built by crawling the storefront you actually shipped. Indexly crawls your real URLs and hosts a sitemap that matches them.
- Non-Shopify pages on the same brand. Many stores run extra content outside Shopify — a marketing site on a subdomain, landing pages from a page builder, a docs section. Shopify's sitemap won't include any of it. A crawler-based sitemap covers everything under your domain.
- New/removed-URL tracking and alerts. As your catalog changes, you may want to know what changed. Indexly tracks which URLs are new and which were removed between crawls and can email you, so a botched bulk edit or an accidental unpublish doesn't go unnoticed.
- Agencies managing many client stores. If you run SEO for a portfolio of Shopify stores, per-client hosted sitemaps with white-label domains (on Indexly's Agency plan) keep everything organized and on-brand.
For very large catalogs, also read up on handling large catalogs with tens of thousands of URLs — pagination and crawl budget become real constraints at scale, whether the sitemap is Shopify's or your own.
If none of these apply to you, stick with Shopify's built-in sitemap and submit it to Search Console. That's the right call.
FAQ
Where is my Shopify sitemap?
It's auto-generated at yourstore.com/sitemap.xml, using your custom domain if you've connected one. You don't create or upload it. Open that URL in a browser to see the sitemap index, which links to child sitemaps for your products, collections, pages, and blogs.
Can I edit my Shopify sitemap directly?
No. Shopify generates it from your store data and there's no admin field to edit it. You can influence what's included by unpublishing products or pages, and you can control crawling through a custom robots.txt.liquid template in your theme — but you can't hand-edit the sitemap file itself.
Why isn't my new product in Google yet?
The product enters your sitemap right away, but Google recrawls on its own schedule and decides what to index separately. Submitting sitemap.xml in Search Console helps with discovery, not guaranteed indexing. Allow several days, and check Search Console's coverage report for any specific issues.
Do I submit each child sitemap to Google?
No. Submit only the index file, sitemap.xml. Google reads the index and automatically discovers every child sitemap it links to — products, collections, pages, and blogs. Submitting children individually is unnecessary and just adds clutter to your Search Console reports.
Do I need a third-party sitemap tool for Shopify? Usually not. For a standard store on the default storefront, Shopify's built-in sitemap is enough. You'd want a tool like Indexly for headless Shopify, non-Shopify pages on your domain, new/removed-URL alerts, or managing many client stores with white-label sitemaps.
The bottom line
For most Shopify stores, the built-in sitemap at /sitemap.xml does its job: it's automatic, it scales with your catalog, and submitting it to Search Console is a five-minute task. Do that, and you've covered the basics well.
The gaps show up at the edges — headless storefronts, pages that live outside Shopify, change tracking, and agency-scale management. That's exactly where Indexly fits: it crawls the site you actually run, hosts a sitemap that matches it, and tells you when URLs come and go.
Start free at indexly.dev and keep your whole catalog found and indexed.
Indexly Team
Writing about SEO, sitemaps, and how to get every page indexed by Google.
Enjoyed this post?
Get our next one delivered to your inbox — no spam, ever.
Ready to get your site fully indexed?
Get started free