Home Blog SEO
SEO

Shopify sitemap: 5 automatic sitemaps and how to audit them

Shopify generates 5 sitemaps automatically (products, collections, pages, blogs, index). How to audit, common errors, and what to do with Markets.

Lionel Fenestraz · 10 June 2026 · 9 min read · Updated: June 2026
Example of a Shopify sitemap.xml showing product and collection URLs
In this article

Shopify generates its sitemap automatically, but the control it gives you over what’s included or excluded is minimal. That means unpublished products, empty automatic collections, and redirected URLs can show up in the sitemap without anyone noticing. The result: Google crawls irrelevant URLs and overlooks the ones you actually want indexed.

This guide explains how Google reads a Shopify sitemap, what concrete problems the automatic implementation creates, how to audit what’s actually published, and what you can tweak (and what you can’t). For the full Shopify technical SEO picture, Shopify SEO for ecommerce 2026 covers the sitemap alongside the rest of the checklist.

In 30 seconds:

  • Shopify auto-generates 5 sitemaps: /sitemap.xml (index) + sub-sitemaps for products, collections, pages and blogs (Shopify Help, 2025)
  • Shopify’s sitemap can’t be edited directly — but robots.txt.liquid is editable on all plans (an unsupported customisation per Shopify)
  • Each sub-sitemap supports up to 50,000 URLs before Shopify splits it (official Google/sitemap.org limit: 50,000)
  • Frequent errors: hidden products that show up, redirects not respected, empty automatic collections
  • Submission to Search Console: a single URL (/sitemap.xml root) — Google discovers the rest via the sitemap index

What sitemap does Shopify generate and what does it include?

Every Shopify store exposes a sitemap index at https://[your-domain].com/sitemap.xml. That file is an index pointing to 4 thematic sub-sitemaps: sitemap_products_1.xml, sitemap_collections_1.xml, sitemap_pages_1.xml and sitemap_blogs_1.xml. Each sub-sitemap lists specific URLs with their last modification date.

The system follows the official sitemaps.org protocol and respects the 50,000-URL-per-file limit (Google’s limit and the protocol’s). If your store has 70,000 products, Shopify splits automatically into sitemap_products_1.xml and sitemap_products_2.xml (sitemaps.org, 2024).

What it includes by default:

  • Products published with “active” visibility
  • Collections (manual and automatic) that have at least one product assigned
  • Standard pages (static pages)
  • Published blog posts (not drafts)
  • Active legal pages

What it doesn’t include by default: products hidden through tags or sales channels, draft products, draft blogs. But there are grey zones — and that’s where problems appear.


What problems do Shopify’s auto-generated sitemaps have?

When I audit a store, the first thing I do is open /sitemap.xml and compare it with what the client thinks they’re publishing. The discrepancy is almost always larger than expected. Three patterns that recur:

Unpublished products appearing in the sitemap. When you “hide” a product by changing its status to draft, Shopify removes it from the sitemap within hours. But if the product is “active” but excluded from all sales channels, it keeps appearing. I’ve seen stores with 200 visible products in the panel and 1,500 URLs in the sitemap. The difference: discontinued products nobody marked as draft.

Empty or near-empty automatic collections. If you have an automatic collection “Last chance” based on a tag and the tag ran out, the collection becomes empty but the URL persists in the sitemap for days or weeks. Google crawls, finds an empty collection page, and that affects quality signals.

Redirects that don’t get removed. When you create a 301 redirect in Shopify (Online Store > Navigation > URL Redirects), Shopify usually updates the sitemap to point to the destination URL. But there’s a delay, and sometimes the sitemap keeps the old URL for days. Google keeps indexing the old URL until the update propagates. I covered how to manage redirects without breaking SEO in Shopify redirects.

Two options to detect these problems: a manual audit counting URLs by category (products vs collections vs blog) and comparing with catalogue reality, or a tool like Screaming Frog configured to crawl only URLs listed in the sitemap.

For a complete review that includes these points alongside the rest of technical SEO, a Shopify SEO audit covers the sitemap as part of the standard process.


How do I submit the sitemap to Google Search Console?

You only need to submit the root URL, not every sub-sitemap. Google follows the sitemap index automatically and discovers the others. The process:

  1. Open Google Search Console with your verified Shopify domain property
  2. Sidebar menu: Sitemaps
  3. Paste https://[your-domain].com/sitemap.xml and submit
  4. Wait 24-72 hours and check status: “Success” means Google read and processed the 5 files

If your store has a custom domain (not *.myshopify.com), submit the sitemap from the custom domain property. If you have both properties (Shopify subdomain + custom domain), priority is the custom domain. Submitting the Shopify subdomain one is redundant and can cause mixed signals in Search Console.

A frequent error I see: the client’s account has multiple properties in Search Console (with/without www, http/https, Shopify domain) and the sitemap was submitted to the wrong property. Always verify the active property matches Shopify’s canonical.


How do I validate that my sitemap is correct?

Three validations I always run before declaring a sitemap clean:

Technical XML validation. Open /sitemap.xml and verify it’s valid XML. If the browser shows an error, the sitemap is broken and Google won’t process it. Tools like Google’s Search Console sitemap test or the XML Sitemap validator detect format errors.

Cross-count against the Shopify panel. If your panel says “245 active products” but the sitemap lists 380 product URLs, you have 135 zombie URLs being crawled. Same with collections (panel vs sub-sitemap) and blogs. A discrepancy larger than 5-10% usually indicates hidden products that weren’t removed from the sitemap.

HTTP response verification. Every URL listed in the sitemap should respond with code 200 (OK). Crawl the sitemap URLs with Screaming Frog or curl and filter by status. Any 301 (redirect) or 404 (not found) in the sitemap is a problem:

curl -s -o /dev/null -w "%{http_code} %{url_effective}\n" \
  https://yourstore.com/products/example

URLs in the sitemap must be canonical and return 200. Internal redirects pointing at valid product URLs should be fixed in the redirect manager, not ignored.


How do I edit the sitemap in Shopify (and when can’t I)?

This is where Shopify adds more friction than other CMSs. The standard Shopify plan doesn’t let you edit the sitemap directly. You can’t exclude specific URLs via edited robots.txt, you can’t add custom URLs, you can’t change priorities. The indirect levers you do have are three, and all require working around the problem.

The first is to unpublish products or pages: changing status to draft removes the URL from the sitemap within hours. It’s the cleanest option when the content shouldn’t rank anymore. If the situation is temporary, the next option is to exclude collections manually from the active catalogue — useful for internal test collections or seasonal ones you don’t want exposed.

  • Block via robots meta tag at page level. Some themes (especially Online Store 2.0) let you add noindex to specific pages. That doesn’t remove the URL from the sitemap, but tells Google not to index it. It’s the last-resort option when you can’t unpublish but want to keep the URL out of the index.

For all Shopify plans (not just Plus), there’s an additional but unsupported option: add a robots.txt.liquid file to the theme (in the templates folder). That lets you add Disallow: rules to exclude URL patterns (e.g., Disallow: /collections/all-*). It still doesn’t allow editing the sitemap directly, but at least you can tell Google what not to crawl. Shopify warns: Support won’t help with edits to robots.txt.liquid, so know what you’re doing before touching it.


How do I manage multi-language sitemaps with Shopify Markets?

Shopify Markets generates separate sitemaps per market/language automatically. If your store has markets in ES, EN and FR, the sitemap index includes localised sub-sitemaps with URLs corresponding to each locale.

Three considerations I see violated in international stores:

  • Verify each locale has its own sub-sitemap. Open the sitemap index and check for sitemap_products_es_1.xml, sitemap_products_en_1.xml, etc.
  • Submit the single sitemap index to Search Console. Don’t submit one per language. Google follows the index and processes all.
  • Validate that hreflang tags are present in each URL of the sub-sitemap. Shopify usually includes the <xhtml:link rel="alternate" hreflang="..."/> annotations inside each <url>. If they’re missing, Google doesn’t relate language versions and treats each URL as independent.

If hreflang tags are missing, the problem is almost always in the theme (not Shopify Markets itself). I covered the relevant Liquid snippets in Shopify Liquid for SEO.


Frequently asked questions

How often does Shopify update the sitemap?

Shopify regenerates the sitemap automatically every time a product, collection, page or blog post is published, unpublished or modified. The actual regeneration can take 5-30 minutes to propagate to the CDN. For large sites (10,000+ products), propagation can reach 1-2 hours.

Why do some products not appear in my sitemap even though they’re active?

Three common causes: (1) the product isn’t available on any sales channel (check the product’s “Sales channels” section), (2) it has a custom sales channel that excludes Online Store, or (3) the product was hidden by a third-party app (Bold Bundles, Locksmith). Check installed apps before assuming a bug.

Do I need a separate sitemap for images on Shopify?

No. Shopify’s sitemap already includes product featured images as child elements (<image:image>) inside each <url>. If you want a dedicated image sitemap for image SEO, it can’t be generated from standard Shopify — it requires an external sitemap submitted via Search Console or an app.

What do I do if Search Console reports “Couldn’t fetch” on my sitemap?

Most frequent causes: (a) the domain has an invalid SSL certificate (Shopify manages SSL, but there are edge cases on recently migrated domains), (b) the sitemap is too large and exceeds 50 MB uncompressed (rare on Shopify), or (c) Google is temporarily caching a failure. Wait 24-48h and resubmit usually fixes it. If it persists, contact Shopify support.

Does Shopify’s sitemap include hreflang correctly with Markets?

Yes, but the implementation is opaque. Shopify includes xhtml:link rel="alternate" annotations inside each <url> when Markets is active. To verify: open the localised sub-sitemap and search manually for the tags. If they’re missing, it usually indicates the theme doesn’t properly support Markets — upgrade to Dawn 11+ or an Online Store 2.0 equivalent.

Can I add custom URLs to the sitemap?

On standard Shopify, no. On Shopify Plus, also no — but you can use Shopify Functions or an external sitemap hosted on another domain and submit that secondary sitemap to Search Console. Shopify’s main sitemap remains Shopify-managed.


Sources

  1. Shopify Help. Find and submit your sitemap.xml file. https://help.shopify.com/en/manual/promoting-marketing/seo/find-site-map. 2025.
  2. Google Search Central. Build and submit a sitemap. https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap. 2025.
  3. sitemaps.org. Sitemap protocol. https://www.sitemaps.org/protocol.html. 2024.
  4. Google Search Central. Sitemaps report. https://support.google.com/webmasters/answer/7451001. 2025.
  5. Shopify Help. Edit robots.txt.liquid (unsupported customization). https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt. 2025.

Is your Shopify sitemap listing URLs that shouldn’t be there and you don’t know how to clean them? I offer Shopify technical SEO audits — sitemap vs real catalogue cross-check, identification of zombie URLs, and remediation plan. 30-minute initial call, no commitment, to see if it makes sense.

Lionel Fenestraz — Freelance Google Ads & Meta Ads Consultant
Lionel Fenestraz
Freelance PPC & CRO Consultant · Google Partner · CXL Certified · Google Ads Search Certified
7+ years managing Google Ads and Meta Ads for vacation rental, B2B and ecommerce. Trilingual ES/EN/FR.
Free first call

Could your ad campaigns
perform better?

30 minutes to review your situation and tell you exactly what I would change. No pitch, no sales proposal.

Book a call →
30 min · Google Meet · No commitment