Shopify guideGuide·9 min read
How to Submit Your Shopify Sitemap to Google
Shopify creates your sitemap automatically, so your job is to get Google reading it. Here is where it lives, how to submit it in Search Console, and how to fix it when Google can't fetch it.

Key takeaways
- Every Shopify store already has a sitemap at
yourdomain.com/sitemap.xml. Shopify builds it and keeps it updated, and you can't edit it by hand. - The file is a sitemap index: it links to child sitemaps for products, collections, pages, blogs and blog posts. Submit only
sitemap.xmland Google finds the rest. - Google can't read the sitemap while your store is password protected, and each domain you use needs its own Search Console property and its own submission.
- Submitting a sitemap is a hint to Google, not a guarantee. It helps Google find your URLs, but pages still have to earn their place in the index.
- Who it is for
- Any Shopify store that's live or about to launch
- Time needed
- About 15 minutes
- What you need
- Admin access to Shopify and a Google account
Of all the SEO jobs on a Shopify store, this is the shortest. Shopify writes the sitemap for you, so the work is getting Google to read it, then checking the report afterwards so you catch problems early. I do this on day one of every store launch, and again after every migration or domain change.
This guide covers where the file lives, what's in it, how to verify your store in Google Search Console, how to submit, and what to do when the report says "Couldn't fetch". Shopify and Google steps are as I checked them on 7 November 2026.
Where your Shopify sitemap is
Your sitemap URL is your primary domain followed by /sitemap.xml. If your store is at www.example.com, the sitemap is at https://www.example.com/sitemap.xml. Open it in a browser and you'll see a short XML file, not a long list of products.
That's because Shopify's sitemap.xml is a sitemap index, a "sitemap of sitemaps". It points to child files, one per content type. On a typical store they look like this:
| Child sitemap | What it lists | Example file name |
|---|---|---|
| Products | Product pages and their main image | sitemap_products_1.xml |
| Collections | Collection pages | sitemap_collections_1.xml |
| Pages | Pages such as About or FAQ | sitemap_pages_1.xml |
| Blogs | Blog index pages | sitemap_blogs_1.xml |
| Articles | Individual blog posts | sitemap_articles_1.xml |
Large catalogs get numbered files (_1, _2 and so on), often with from and to parameters in the URL. You may also see extra child sitemaps on some stores, such as one for metaobject pages. All of it is generated and updated automatically whenever you add a product, collection, page, image or blog post.
If you have more than one domain, find the right one in Settings > Domains. The sitemap that matters is the one on your primary domain. Other domains should redirect to it.
What Shopify leaves out of the sitemap
Not every page appears, and that's usually deliberate. These are the common reasons a URL is missing:
- Unlisted products. Setting a product's status to Unlisted adds
noindexandnofollowtags to the page and removes it from the sitemap. The product still loads for anyone with the link. - Hidden resources. Products, pages and blog posts with the
seo.hiddenmetafield set to1are removed from the sitemap, from search engines and from storefront search. - Drafts and unpublished items. A product that isn't available on the Online Store sales channel, or a blog post that's still hidden, isn't on the live site, so it isn't in the sitemap either.
- URLs that aren't separate pages. Filtered and sorted collection URLs, cart and checkout pages, and customer account pages are not listed. Shopify's default robots.txt also blocks crawlers from them.
So if a product is missing, check its status and its Online Store availability before you assume the sitemap is broken.
Before you submit: three checks
- Remove the password. Google can't access the sitemap while the store is in private mode. In your admin, go to
Online Store, click the Private label in the access setting, choose Public and click Update. You can turn it back on afterwards if you need to, but Google won't crawl the store until it's public. - Confirm your primary domain. In
Settings > Domains, check which domain is primary and whether it uses www. You'll enter exactly that version in Search Console. - Open the sitemap yourself. Visit
https://yourdomain.com/sitemap.xmlin a private browser window. If it loads, Google can load it too.
Step 1: Verify your store in Google Search Console
Search Console has two kinds of property. A Domain property covers every version of your domain: http and https, www and non-www, and all subdomains. It can only be verified with a DNS record. A URL-prefix property covers only URLs that start with the exact address you enter, and offers several verification methods, including an HTML tag.
I prefer a Domain property where the client controls DNS, because it can't be thrown by a www mismatch. Shopify's own instructions use a URL-prefix property with an HTML tag, which works for everyone. Here are both.
Option A: URL-prefix property with an HTML tag
- Add the property. In Search Console, open the property menu, choose Add property, pick URL prefix and enter your primary domain including
https://, for examplehttps://www.example.com/. - Copy the tag. Under the verification methods, choose HTML tag and copy the whole meta tag, including the
<and>. - Open your theme code. In Shopify, go to
Online Store > Themes. On your live theme, click the ... button and choose Edit code. - Paste it in theme.liquid. In the Layout folder, open
theme.liquidand paste the tag on a new line directly below the opening<head>tag. Click Save. - Verify. Go back to Search Console and click Verify. If it fails, wait about 15 minutes and try again.
Leave the tag in place after verifying. If you remove it, or switch to a new theme without copying it across, Search Console can drop your verification. This is the most common reason a store "loses" Search Console after a redesign.
Option B: Domain property with a TXT record
- Add the property. Choose Domain and enter the bare domain, such as
example.com, without https or www. - Copy the TXT value that Search Console gives you.
- Add the record in Shopify if Shopify manages your domain: go to
Settings > Domains, click the domain, click Manage in the DNS settings section, then Add custom record and choose TXT. Paste the value and click Confirm. If the domain is with another registrar, add the TXT record there. - Verify in Search Console. DNS changes can take a little while to be seen.
Step 2: Submit the sitemap
- Open the right property. If you have several, pick the one for your primary domain from the property menu.
- Go to Sitemaps. In the left menu, under Indexing, click Sitemaps.
- Enter the file name. In Add a new sitemap, type
sitemap.xml. The domain is filled in for you. - Click Submit. Google fetches the file straight away and lists it in the "Submitted sitemaps" table below.
That's it. You don't need to submit the child sitemaps one by one, because Google reads them from the index. Shopify's robots.txt also includes a Sitemap: line pointing to the same file, so crawlers can find it without Search Console, but submitting gives you the report.
.co.uk and a .com, Shopify generates a sitemap for each domain. Each domain needs its own verification and its own submission. Extra languages are added to the sitemaps automatically, and with Shopify Markets each URL in the sitemap carries hreflang annotations. Subfolders like /en-gb/ sit on your primary domain, so they're covered by its sitemap.Step 3: Read the Sitemaps report
Come back a day or two later and check the status column. There are only three values:
| Status | What it means | What to do |
|---|---|---|
| Success | Read without errors, URLs queued for crawling | Nothing. Check page indexing later |
| Has errors | Read, but some entries couldn't be parsed | Open it to see which, then fix the cause |
| Couldn't fetch | Google couldn't get the file at all | Work through the fixes below |
A "Success" status doesn't mean every URL is indexed. It means Google has the list. Open Indexing > Pages to see what was actually indexed and why the rest wasn't. On a new store, expect it to take days or weeks, and Google indexes pages one by one, not the whole site at once.
Fixing "Couldn't fetch" and "Sitemap could not be read"
Google's help lists the usual causes: the file is blocked by robots.txt, the URL is wrong and returns a 404, the server had a temporary error, crawl demand for the sitemap is low, or the site has an unresolved manual action. On Shopify, these are the checks I run, in this order:
- Is the store still password protected? This is the cause on most new stores. Make the store public and resubmit.
- Did you submit to the matching property? A sitemap on
https://www.example.comsubmitted to a property forhttps://example.comwon't match. Use the primary domain exactly as shown inSettings > Domains, or use a Domain property. - Is the URL exactly right? Enter
sitemap.xml, notsitemap.xml/,sitemap.htmlor a child file name copied with a stray character. - Has anyone edited robots.txt? If your theme has a
robots.txt.liquidtemplate, openyourdomain.com/robots.txtand make sure nothing disallows the sitemap. If you're unsure what changed, deleting the template restores Shopify's default. - Is a proxy or service sitting in front of the store? Shopify doesn't support proxies in front of its storefronts, and they can block Googlebot. Remove them.
- Test the live URL. Paste the full sitemap URL into the URL Inspection bar at the top of Search Console and run a live test. If page fetch is "Successful", the file is reachable.
- Wait, then resubmit. A brand new submission sometimes shows "Couldn't fetch" briefly. If the live test passes, remove the entry and submit it again, then give it a few days. Google retries failed fetches for a few days before it stops.
Common mistakes
- Trying to build or upload your own sitemap. You can't replace Shopify's
sitemap.xml, and an app-made duplicate adds nothing for Google. Control what's listed by using Unlisted status or theseo.hiddenmetafield instead. - Submitting the myshopify.com address. Submit the domain customers see. The myshopify.com address isn't the one you want indexed.
- Resubmitting every day. Google rereads sitemaps on its own schedule. Resubmit after big changes, such as a migration or a new section of the site, not after each new product.
- Treating submission as indexing. Thin, duplicate or blocked pages stay out of the index whatever the sitemap says. Fix the pages, not the sitemap.
- Losing verification on a theme change. If you verified with an HTML tag, copy it into the new theme's
theme.liquidbefore you publish it.
Sitemap checklist
- Store is public, not in private mode.
https://yourdomain.com/sitemap.xmlloads in a private browser window.- Search Console property matches your primary domain, or is a Domain property.
- Verification tag is in the live theme's
theme.liquid, or a TXT record is in DNS. sitemap.xmlsubmitted underIndexing > Sitemaps, with status "Success".- Each international domain has its own property and submission.
- Pages you don't want found are Unlisted or use
seo.hidden, not left in the sitemap. - Page indexing report checked two to four weeks after launch.
What to do next
Once the sitemap shows "Success", the useful work starts in the Pages report: finding product and collection pages Google has crawled but not indexed, and working out why. My guide to fixing common Shopify SEO problems walks through the statuses you'll see there. To check a store's setup quickly, run it through the free Shopify store checker.
If you'd rather have it set up and checked for you, my Shopify SEO work starts from $200, and it covers Search Console, sitemaps, redirects and indexing as one job. Or send me your store for a free review first.
Free tools
Check your own store
Free, no sign-up. Each one runs a part of this guide for you.
Frequently asked questions
Where is my Shopify sitemap?
It's at your primary domain followed by /sitemap.xml, for example https://www.example.com/sitemap.xml. Shopify generates it automatically for every store and updates it when you add products, collections, pages or blog posts. You can't edit it by hand.
What is the Shopify sitemap URL to submit to Google?
Submit sitemap.xml on your primary domain. In Google Search Console, go to Indexing, then Sitemaps, type sitemap.xml in the Add a new sitemap box and click Submit. You don't need to submit the child sitemaps for products or collections separately.
Why does Search Console say my Shopify sitemap couldn't be fetched?
On Shopify the most common cause is password protection, because Google can't read the sitemap while the store is private. Other causes are submitting to a property that doesn't match your primary domain, a typo in the URL, or a robots.txt edit. Fix the cause, run a live URL inspection on the sitemap, then resubmit.
Can I edit my Shopify sitemap?
No. Shopify builds it and keeps it updated, and the file can't be edited manually. To keep a page out of it, set a product to Unlisted or use the seo.hidden metafield on products, pages and blog posts.
How long does Google take to index my Shopify store after I submit the sitemap?
Google doesn't promise a timeframe. It fetches the sitemap right away, but crawling and indexing the URLs can take from a few days to a few weeks, and Google indexes pages one at a time rather than the whole store at once.
Do I need a separate sitemap for each country?
If you use international domains, yes: Shopify creates a sitemap for each domain, and each one needs its own Search Console property and submission. Subfolders such as /en-gb/ live on your primary domain, so its sitemap already covers them.
Sources
- Finding and submitting your sitemap, Shopify Help Center
- Hiding pages from search engines, Shopify Help Center
- Editing robots.txt.liquid, Shopify Help Center
- Manage your sitemaps using the Sitemaps report, Google Search Console Help
- Build and submit a sitemap, Google Search Central
- Add a website property to Search Console, Google Search Console Help
Related services and work

Written by Ashraf Siddik
I'm a Shopify developer and CRO specialist. I have built and improved Shopify stores since 2018, completed more than 1,000 projects, and hold a 4.96 average rating across 719 client reviews.
More guides
-
CRO8 min readUpdated
Why Shopify Stores Lose Sales on Mobile: A Practical CRO Checklist
Mobile visitors decide fast, with one thumb and plenty of distractions. Here is how to find the leaks on a Shopify store and fix them in the right order.
Read the guide -
CRO6 min readUpdated
Shopify CRO Audit Checklist for DTC Brands
The checklist I use to audit DTC Shopify stores, from checking that the data can be trusted to deciding which fixes to ship first.
Read the guide -
Apps6 min readUpdated
When to Build a Custom Shopify App Instead of Adding Another Subscription
Another subscription is the quickest fix, until you are paying for five apps that still don't match how your business works. Here is how to decide.
Read the guide -
Themes6 min readUpdated
How to Find Out What Theme a Shopify Store Uses
Every Shopify store names its theme in the page code. Here is where to look, how to read what you find, and what it means for your own theme choice.
Read the guide -
Apps5 min readUpdated
How to See What Apps a Shopify Store Uses
Apps leave traces in a store's page code: scripts from their own servers, app embed folders and pixel settings. Here is how to read them, and what to do with the list.
Read the guide -
Branding7 min readUpdated
How to Name a Shopify Store (and Check the Name Is Free)
A store name has to be easy to say, free as a domain and a handle, and clear of other brands. Here is the process I use with clients, and what Shopify lets you change later.
Read the guide