
Shopify SEO Checklist: 10 Technical Checks for 2026
A technical Shopify SEO checklist for 2026. What Shopify handles for you, and the 10 places defaults break or themes fall short: robots.txt, canonicals, schema, meta, and speed.
Shopify handles more SEO out of the box than most platforms. It generates a sensible robots.txt, builds your automatically, and adds canonical tags without you lifting a finger. So a useful Shopify SEO checklist is not a list of everything you could possibly do. It is a short list of the places where those defaults break, where a theme falls short, or where one wrong setting quietly keeps pages out of Google. On WooCommerce, where the platform ships fewer of those defaults, the same checks need more manual setup, which our WooCommerce SEO checklist walks through.
This checklist is purely technical SEO: crawlability, , canonicals, structured data, meta tags, and speed. It is the search-engine side of your store. For how often real stores fail each of those checks, see what 599 store audits found. The conversion side, things like trust signals, search box visibility, and product page layout, lives in our Shopify audit checklist. The two overlap only lightly, so run both.
Work through the ten checks below. Each one tells you what to look for, why it affects rankings, and how to check or fix it on Shopify specifically.
| What Shopify handles automatically | What you still need to check |
|---|---|
| A default robots.txt kept to SEO best practices | Custom robots.txt.liquid rules that block the wrong pages |
| An auto-generated sitemap.xml of canonical URLs | Junk URLs getting indexed from apps or theme changes |
| A canonical tag on every product page | Internal links that still point to collection-scoped URLs |
| Basic title and meta tag generation | Unique, commercial titles and descriptions on key pages |
| Basic Product schema in most themes | Missing rich-result fields or duplicate schema from apps |
| Fast CDN hosting | Oversized images and slow theme or app code |
Confirm your robots.txt is not blocking the wrong pages
Shopify's default robots.txt is already SEO-friendly, so the real risk is editing it and breaking something. Every store ships with a default file that, per Shopify's documentation, is kept updated to follow SEO best practices. It disallows low-value pages from being crawled, like /admin, /cart, /checkout, /search, and /policies, plus the /collections/*+* pattern that blocks filtered and tag-combination collection URLs. That last rule is a good thing: it stops Google crawling thousands of near-duplicate filtered views. It does not block your real collection pages.
Keep one distinction in mind. The robots.txt file controls crawling, not . A page blocked here can still appear in search if other sites link to it, which is why Google notes that robots.txt is not a mechanism for keeping a page out of Google. To remove a page from search entirely, you need a noindex tag, not a disallow rule.
The check is simple. Open yourstore.com/robots.txt and confirm it looks like the standard Shopify file. If someone has added a custom robots.txt.liquid template, make sure it has not accidentally blocked product or collection pages, or unblocked the filtered variants. Shopify Support will not edit this file for you, so any custom rules came from you or a developer.
Make sure your sitemap is submitted and clean
Shopify builds your sitemap automatically, so your job is to submit it and keep junk out of the index. Your sitemap lives at yourstore.com/sitemap.xml and links out to product, collection, page, and blog sitemaps. A helpful detail: Shopify only includes the canonical /products/handle URL in the sitemap, not the collection-scoped versions.
Submit the sitemap URL in Google Search Console under Sitemaps if you have not already. Then use the Pages report in Search Console to spot anything indexed that should not be, such as tag pages, internal search results, or old URLs. If Search Console shows URLs you did not expect, work out whether it is a crawling, indexation, canonical, or internal-linking issue before reaching for robots.txt, since blocking crawling is not the same as removing a page from the index. For pages that should stay live but out of search, Shopify supports a noindex through the seo.hidden metafield set to 1, which also drops the page from the sitemap, or the Unlisted product status.
Pro tip: Check Search Console's Pages report monthly, not once. New apps and theme changes can quietly add crawlable URLs over time.
Fix the collection-URL duplicate content trap
The same product can live at several collection URLs, and that is the most common Shopify SEO trap. When a product belongs to multiple collections, Shopify can serve it at /collections/summer/products/summer-dress and /collections/sale/products/summer-dress as well as the canonical /products/summer-dress. The content is identical, so these compete with each other.

Shopify does add a pointing to the clean /products/ URL, which helps. But Google treats the canonical as a strong signal, not a directive: it considers your preference, then decides which version is objectively best to show. When other signals conflict, the most common being that still point to the collection-scoped URLs, Google can index the wrong one.
The fix is to align the signals. Make your theme's product links point to the canonical /products/handle path rather than the collection-scoped version, so internal links, canonical tags, and the sitemap all agree. This usually means a small edit to the product-grid snippet in your theme: change a link built with {{ product.url | within: collection }} so it outputs {{ product.url }} instead, which gives the clean canonical path. Many modern themes already use the clean product URL, so check yours before editing.
Write unique title tags and meta descriptions
Every important page needs a unique title and description, not Shopify's auto-filled default. Shopify pre-fills the title and from your product or collection name, which leaves most stores with thin, repetitive snippets. These are what show in search results, so they affect both ranking relevance and click-through.
Edit them per page in the Search engine listing section (Edit website SEO) of each product, collection, page, and blog post. Lead the title with the term a shopper would search, keep it under roughly 60 characters so it does not truncate, and write a description that earns the click rather than repeating the title. Google rewrites descriptions when it wants to, but a clear, relevant one still helps.
Keep URLs clean and stable
Keep handles short and stable, and always redirect when one changes. Shopify fixes your URL structure into /products/, /collections/, /pages/, and /blogs/ paths, so you cannot flatten it, and you do not need to. What you control is the handle at the end. Keep it short, readable, and keyword-relevant, and avoid stuffing or leftover numbers.
The bigger risk is changing a handle after a page has ranked. Shopify creates a redirect automatically when you edit a product or page URL, but confirm it exists under URL Redirects, and never delete a redirect for a page that earned traffic. A broken redirect turns a ranking page into a 404.
Check your Product structured data
Most themes ship basic Product schema, but it is often missing the fields that earn . Structured data is what lets Google show price, availability, and review stars under your listing. Most modern themes output basic Product structured data, usually enough to describe the product and a simple offer. The gaps show up when you want richer merchant-listing eligibility: review ratings, shipping and return details, variant data, or GTIN, , and MPN identifiers.
Validate a product page in Google's Rich Results Test and look for missing recommended fields or warnings. Watch for one specific problem: if both your theme and a schema app output Product markup, you get two competing blocks on the same page, which triggers an ambiguous-data warning in Search Console. Pick one source of truth, theme snippet or app, not both.
Not sure which of these your store is failing?
Give every product image descriptive alt text
Descriptive alt text and compressed files do double duty for accessibility, image search, and speed. Alt text tells search engines and screen readers what an image shows, and it is your entry into Google Images, a real traffic source for visual products. Shopify lets you add alt text in the media section of each product.
Write what the image actually shows in plain language, with the product and one relevant detail, rather than a string of keywords. Compress files before upload so they do not slow the page; Shopify's CDN serves modern formats automatically, but it cannot fix a 5 MB source file. The full treatment is in our guide to product image best practices.
Treat site speed as a ranking factor
Core Web Vitals are one part of Google's page experience signals. They will not outrank relevance, but poor product-page performance can still hold back otherwise competitive pages. Google's page experience guidance uses , , and as signals, and product pages are usually the slowest, heaviest pages on a Shopify store.
Test a real product page, not just the homepage, and focus on the main image and , which are the usual culprits. Our ecommerce site speed guide covers the fixes in depth, and the Shopify product page speed breakdown shows why product pages lag.
Get the on-page basics right
One clear H1, a logical heading order, and real internal links still do a lot of the ranking work. Each page should have a single H1 (usually the product or collection name) and H2s that structure the content, not random bold text. Thin or duplicated product descriptions are a common drag; give important products genuinely unique copy rather than the manufacturer's boilerplate that ten other stores also use.
Internal links matter more than most merchants think. Link related products, link collections from relevant blog posts, and make sure no important page is more than a few clicks from the homepage. For the product page itself, our product page optimization guide covers the on-page elements in detail.
Cover mobile and international
Google indexes the mobile version of your store, and multi-region stores need hreflang to avoid competing with themselves. Because indexing is mobile-first, the mobile experience is the one that ranks: check that content, structured data, and links are all present on mobile, not hidden.
If you sell in multiple countries or languages through Shopify Markets, the platform auto-generates hreflang tags, self-referencing canonicals, and market-specific sitemaps for you. Your job is to verify they are in place after any domain, subfolder, language, or market change, rather than hand-writing them. If you sell in one market, you can skip this entirely.
Run the whole Shopify SEO checklist automatically
Most of these checks take a minute each, but they are easy to forget, and apps or theme updates can break them after the fact. The fast way to see which ones apply to your store is to scan all of them at once against your live pages.
See your store's technical SEO issues in one pass
A quick recap to run before you change anything:
- Does robots.txt match Shopify's default, with no accidental blocks?
- Is your sitemap submitted in Search Console, with no junk indexed?
- Do internal product links point to the canonical /products/ URL?
- Does every key page have a unique title and meta description?
- Are handles short, and are old URLs redirected?
- Does Product structured data pass the Rich Results Test, with no duplicate markup?
- Does every product image have descriptive alt text and a compressed file?
- Do your product pages pass Core Web Vitals on mobile?
- Does each page have one H1, logical headings, and unique copy?
- Is the mobile version complete, and is Shopify generating the correct hreflang tags and market-specific sitemap URLs if you sell across regions?
For non-Shopify stores, the same checks run through our general ecommerce SEO audit, and our step-by-step ecommerce SEO audit walks through the full process on any platform.
Frequently asked questions
Does Shopify handle SEO automatically?
Partly. Shopify generates an SEO-friendly robots.txt, an automatic sitemap, and canonical tags, which covers the technical foundation most platforms make you build. What it does not do is write unique titles and descriptions, complete your Product structured data, fix the collection-URL duplicate issue through internal links, or compress your images. Those are the gaps this checklist targets.
What is the Shopify duplicate content problem?
When a product belongs to several collections, Shopify can serve it at multiple collection-scoped URLs (like /collections/sale/products/summer-dress) alongside the canonical /products/summer-dress. Shopify adds a canonical tag pointing to the clean URL, but because Google treats canonicals as a strong hint rather than a rule, conflicting internal links can still get the wrong URL indexed. Aligning internal links to the canonical path fixes it.
Should I edit my Shopify robots.txt?
Usually not. The default is already optimized and Shopify keeps it updated. Only edit the robots.txt.liquid template if you have a specific, deliberate reason, and check carefully that you have not blocked real pages or unblocked the filtered collection variants. Shopify Support will not edit it for you.
Why are my Shopify products not showing rich results?
The most common reason is incomplete Product structured data for richer merchant listings. Many stores have basic Product markup, but review ratings, shipping and return details, variant data, GTIN, SKU, or MPN identifiers may be missing. The other common cause is two competing Product schemas on one page, from a theme and an app. Validate the page in Google's Rich Results Test.
How is this different from a Shopify CRO audit?
This checklist is technical SEO: it helps search engines crawl, index, and rank your store. A CRO audit, like our Shopify audit checklist, looks at whether the visitors who arrive actually convert, covering trust signals, navigation, and product page layout. You want both, because ranking without converting, or converting traffic you never earned, each leaves money on the table.
Jakub is the founder of Ecomhint, an AI-powered ecommerce audit tool focused on UX and conversion optimization. He helps online stores identify friction points across product pages, cart, and checkout using CRO best practices and original research data.
Jakub is the founder of Ecomhint, an AI-powered ecommerce audit tool focused on UX and conversion optimization. He helps online stores identify friction points across product pages, cart, and checkout using CRO best practices and original research data.

