Your Shopify sitemap is already correct. Here is when it is not.
Shopify handles two things that cause endless trouble on other platforms. It generates your sitemap and keeps it current as you add products, and it serves a sensible robots.txt without you configuring anything.
For most stores that is the whole story and you can close this tab. The exceptions are narrow but they are expensive when they apply to you, so it is worth knowing which ones they are.
What is actually in there
Visit your store domain followed by /sitemap.xml. You will not see a list of URLs — you will see an index pointing at separate child sitemaps for products, collections, pages and blogs. That structure is normal and is what search engines expect.
Shopify includes published products, published collections, published pages and published blog articles. It excludes anything in draft, anything hidden from the online store sales channel, and the pages nobody should index anyway like cart and checkout.
It updates itself. There is no regeneration to trigger and no reason to submit it repeatedly.
The cases where it does go wrong
- Your storefront is password protected. An unlaunched store serves the password page to everything, including crawlers. Nothing gets indexed, and the sitemap is irrelevant until you remove the password.
- You are on a plan or setup where the sitemap is not served on all domains. If you run multiple domains, confirm the primary one is what search engines see. Everything else should redirect to it, not serve a duplicate copy of the store.
- Products are hidden from the online store channel. A product available only through another sales channel will not appear, which is correct behaviour and surprises people regularly.
- You added URLs Shopify does not know about. Anything served outside the platform will never be in the generated file.
- You edited robots.txt and blocked more than you meant to. This is the one that causes real damage.
robots.txt, and the one rule about editing it
Shopify's default robots.txt blocks the pages that should be blocked — cart, checkout, account, internal search results — and allows everything else. It is a good default and most stores should leave it alone.
Shopify does allow editing it through a theme template, and that capability is where stores hurt themselves. A blanket disallow rule is a single line that can remove your entire store from search, and because nothing breaks visibly, it can sit there for weeks before anyone notices traffic falling.
If you do edit it, check the live file afterward by visiting your domain followed by /robots.txt, and read what is actually served rather than what you intended to write.
One distinction worth holding onto: blocking a page in robots.txt stops it being crawled, not indexed. A blocked URL with links pointing at it can still appear in results, showing no description, which is usually the worst of both outcomes. If you want a page kept out of the index, use a noindex tag and leave it crawlable so the tag can actually be read.
A ten-minute check
Open Search Console, submit your sitemap URL once, and look at the Pages report afterward. The number that matters is not how many URLs you submitted — it is the gap between submitted and indexed, and the reasons listed for the difference.
Common and harmless reasons include alternate pages with a proper canonical tag and pages you intentionally excluded. Reasons worth investigating include crawled but not indexed at scale, which usually points at thin or duplicate content rather than anything wrong with the sitemap itself.
Common questions
Do I need to submit my sitemap to Google?
Once, when the store launches. It helps Google find everything sooner on a new site with few links pointing at it. After that the file updates itself and resubmitting does nothing — Google recrawls it on its own schedule.
Can I remove a page from my Shopify sitemap?
Not selectively on most plans, because the file is generated for you. The effective approach is to change the page's status instead: unpublish it, hide it from the online store channel, or add a noindex tag. The sitemap follows what the store publishes.
Why are my products in the sitemap but not indexed?
Being in a sitemap is a request, not a guarantee. The usual causes are thin or duplicated product descriptions, a very new store with almost no links, or variants that look near-identical to each other. Check the specific reason Search Console gives in the Pages report before assuming it is a technical fault.
Should I edit robots.txt to save crawl budget?
Almost certainly not. Crawl budget is a genuine concern at hundreds of thousands of URLs and essentially never a concern for a normal store. The risk of an editing mistake far outweighs a benefit you are unlikely to be able to measure.
Want SEO blog posts like this for your own Shopify store? Try SEO Bison.