
A Shopify sitemap is not something you install. The platform generates a sitemap.xml on its own at the root of each store domain, covering products, each product’s main image, collections, pages and blog posts. The job is not to “create” the XML. It is to submit it to Search Console, check that Google can read it, and not leave the store password-gated or full of URLs that should not be indexed.
If you are coming from PrestaShop, the contrast is sharp: there you pick a module and a cron job. Here the index already exists at https://yourdomain.com/sitemap.xml. Shopify SEO is won on canonicals, collections and speed, not on a generator.

Where sitemap.xml lives
Open the store on the canonical domain (production, not *.myshopify.com once you have a custom domain) and add /sitemap.xml. You will see an index pointing at several child XML files (products, collections, pages, blog). Shopify splits them automatically when the catalogue exceeds 50,000 URLs or 50 MB per file.
On Basic or higher, each international domain has its own sitemap at its root. Submit each one in its own Search Console property. The yourdomain.com file does not cover yourdomain.fr.
Shopify’s robots.txt already declares the sitemap. Bing and Google can discover it with no extra work. Submitting it in Search Console is still worth it: you see fetch errors and the URL count.
What is in and what is out
By default Shopify includes published URLs for:
Products (plus the featured image, in image-sitemap format).
Collections.
Online Store pages.
Blog articles.
It does not include checkout, cart, customer accounts or draft products. You also cannot assemble a custom XML the way you can in PrestaShop (exclude one collection, split languages by hand). If a collection should not be indexed, hide it or noindex it with an app or the theme editor; there is no tick box to “remove it from the sitemap”.
A password-protected storefront (“coming soon”) stops Google from reading the XML. Search Console returns “Couldn’t fetch”. Remove the password, or do not submit the sitemap until launch.
How to submit it to Search Console
Verify the property. On Shopify that is usually an HTML tag in theme.liquid inside <head>, or DNS verification if you control the domain. Analytics 4 or Tag Manager also work if they are already on the store.
Indexing → Sitemaps → enter sitemap.xml (Search Console prefixes the property domain).
Submit. “Success” can take hours. You do not need to submit each child XML; the index is enough.
If you run several domains (Shopify Markets), repeat the process on each property. The official flow is in Shopify Help.
The mass ping to Google is gone. Recrawl is Googlebot’s job. A new product sheet usually lands in the XML as soon as it is published; showing in results is a different clock, indexing time.
Limits and real problems
You cannot edit sitemap.xml by hand. Apps that promise a “custom sitemap” either inject another file or do nothing useful. The official channel is the native XML.
Collections that duplicate the same product list bloat the index. Google crawls more; it does not necessarily rank better. Keep indexable collections to those with their own search intent.
Images: Shopify includes each product’s main image. The rest of the gallery depends on being in the HTML. A theme that loads photos only via JavaScript can leave them uncrawlable even if the sitemap cites the first one.
“Couldn’t fetch” is almost always a password, a bad verification, or a messy 301 between www and apex. Align the Search Console property with Shopify’s canonical domain (domain preferences).
A Shopify sitemap is an automatic inventory. It helps if the URLs the store publishes are the ones you want in Google. If the catalogue is full of orphan variants and empty collections, the XML only documents the mess.



