Shopify SEO Checklist

An ordered Shopify SEO checklist — fixed URL prefixes, the collection/product duplicate-URL fix, structured data, sitemap, robots.txt.liquid, app bloat, and pre-launch.

First published: Jul 2, 2026 · Last updated: Jul 19, 2026 · Advanced
demand #5 in Ecommerce Platforms#14 in Platform SEO#94 in Technical SEO#125 on the site

A working, top-to-bottom checklist for auditing or launching a Shopify store — the companion action list to the Shopify SEO explainer, which owns the concepts. Work it in the order you'd actually do the job: URL structure (the /products/, /collections/, /pages/, /blogs/ prefixes are fixed by the platform and only the handle is yours), then the single highest-priority fix — the collection/product duplicate-URL issue, where Shopify's canonical tag already points at the clean URL but theme internal links generated with | within: collection point at the long one, a competing signal Google's own docs say to eliminate. Then unique titles and meta descriptions (collection descriptions are blank by default), structured data (verify what the theme outputs and watch for ambiguous/duplicate schema from apps), the auto-generated non-editable sitemap.xml, robots.txt.liquid (editable since June 2021 but unsupported and risky), theme speed and app bloat, Bing plus IndexNow, and a folded-in pre-launch checklist most guides split into a separate article.

TL;DR — This is the companion action list to the Shopify SEOShopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you. explainer, which owns the concepts — I don’t redefine them here, I make them checkable. Work it in order: (1) URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly./products/, /collections/, /pages/, /blogs/ are fixed platform prefixes; only the handle is yours, and a handle change needs a 301. (2) The collection/product duplicate-URL fix — Shopify’s canonical_url generally points to the clean product URL, but older or customized theme internal links built with | within: collection can point at the long URL, a competing signal Google explicitly says to eliminate; this is the #1 item. (3) Titles/meta — auto titles yes, meta descriptionsThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through. no; collection descriptions are blank by default. (4) Structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. — verify what the theme outputs, close the sku/gtin/shipping/returns gap, and watch for ambiguous (theme + app) schema in GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.. (5) SitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. — auto-generated, non-editable; verify and submit, don’t hand-edit. (6) robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere..liquid — editable since June 2021 but unsupported and risky. (7) Speed/apps — benchmark CWVGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data., audit apps, remove ghost code. (8) BingWebmaster ToolsThe free, first-party consoles search engines give site owners — Google Search Console and Bing Webmaster Tools — to see how their pages are crawled, indexed, and ranked, and to fix problems. The legacy name is 'webmaster tools.' plus IndexNowIndexNow is an open push protocol that lets you instantly tell participating search engines (Bing, Yandex, Naver, Seznam, and Yep) which URLs you've added, changed, or removed via a simple HTTP request — and one submission is shared across all of them. Google does not use it.. (9) Pre-launch — password, noindexNoindex is a directive that tells search engines to keep a page out of their index, so it won't appear in search results. It works only on pages a crawler can actually fetch — a page blocked in robots.txt can never be noindexed., redirectsA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't., canonical/hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. carryover, resubmit sitemapA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing., watch 404s.

Evidence for this claim Shopify automatically generates canonical tags and sitemap files and includes SSL for stores. Scope: Current Shopify platform defaults; themes and apps can add conflicting markup. Confidence: high · Verified: Shopify Help Center: Improving SEO Evidence for this claim Shopify supports URL redirects for forwarding visitors from an old store path to a new one. Scope: Shopify admin redirect functionality and platform constraints. Confidence: high · Verified: Shopify Help Center: URL redirects

How to use this

The main Shopify SEOShopify SEO is the practice of optimizing a Shopify store to rank in organic search. Shopify handles a lot for you automatically — canonical tags, an XML sitemap, SSL, a fast CDN — but it also imposes a fixed URL structure (/products/, /collections/, /pages/, /blogs/) and creates a duplicate URL for every product reachable through a collection, which the platform canonicalizes for you. article carries the definitions and the mechanisms — what Shopify automates, how the collection/product duplicate-URL thing works under the hood, why the canonical tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. behaves the way it does. This page is the ordered, checkable companion: structure → content → technical → speed → pre-launch. Where an item needs the “why,” I link out rather than re-teaching it.

1. URL structure — audit the handles, respect the prefixes

/products/, /collections/, /pages/, and /blogs/ are non-negotiable platform prefixes. You can’t remove them, flatten them, or restructure them on any plan — a point most competitor checklists soften into vague “use clean URLs” advice. Only the handle after the prefix is yours to optimize.

  • Handles are short, descriptive, and keyword-relevant.
  • Every handle change ships with a 301 redirectA 301 redirect is the HTTP status code for a permanent move: it tells browsers and search engines a URL has moved for good, and it's the strongest signal for consolidating a page's ranking signals onto the new URL. Google says permanent redirects don't cause a loss in PageRank. to the new URL (Shopify’s URL Redirects tool).
  • You’re not fighting the prefixes — no attempts to force /products/ items to look like root-level URLs.

2. The collection/product duplicate URL — the highest-priority fix

This is the one item worth being pedantic about. Every product in a collection is reachable at two URLs:

  • the clean /products/handle
  • the collection-nested /collections/collection-handle/products/handle

Shopify’s canonical_url object correctly points the canonical tag at the clean /products/handle URL by default. The problem is internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them.: themes commonly generate product links inside collection loops with the | within: collection Liquid filter, which produces the long, nested URL. So your canonical tag says one thing and your own internal links say another — a competing signal.

Google’s ecommerce URL guidance is explicit on this:

“Use the same URL in internal links, sitemap files, and <link rel="canonical"> tags.”

And:

“Minimize the number of alternative URLs that return the same content to avoid Google making more requests to your site than needed.”

Remember that a canonical tag is a hint, not a directive — Google weighs it alongside your internal links and sitemap when it picks the URL to index. If your internal links consistently disagree with your canonical, you’re handing it a reason to disagree with you. The canonical tag alone doesn’t fully neutralize that; the internal links have to agree too.

  • Crawl the site and confirm product canonical tags resolve to the clean /products/handle URL (they usually already do).
  • Audit collection/product template internal links; stop generating them with | within: collection so they point at the clean URL.
  • Confirm the sitemap lists the clean URLs (it does by default) — so internal links, sitemap, and canonical all agree.

The full mechanism and the exact Liquid change live in the main Shopify SEO article — this is the “audit and fix,” not the “why.”

3. Titles and meta descriptions — mind the blank collection trap

Shopify auto-generates title tagsThe title tag is the HTML title element in a page's head that specifies the document's title. It's the primary source for the SERP title link and a confirmed light ranking factor — but since August 2021 Google doesn't always show it verbatim. including your store name on its own themes, but it does not author meta descriptionsThe meta description is an HTML head tag — `<meta name=\"description\" content=\"…\">` — that suggests a short summary of the page for the search snippet. It's not a Google ranking factor, and Google rewrites it the majority of the time, but a good one can still lift click-through., and collection descriptions are empty by default. A store can launch with hundreds of collection pages that have no description at all — nothing for Google to summarize, nothing for a searcher to read.

  • Unique, hand-written title tag for every product, collection, and page (edit in the theme’s Search engine listing preview, not left to the auto template where it matters).
  • Unique meta description on every important product, collection, and page.
  • No blank collection descriptions on collections you actually want to rank.

4. Structured data — verify what’s built in, close the gap, avoid duplicates

Google’s ecommerce guidance actively endorses the platform route:

“Consider using an ecommerce platform’s integrated extensions or plugins, as they may automate structured data addition rather than manual coding.”

So you don’t have to hand-code JSON-LDJSON-LD (JavaScript Object Notation for Linked Data) is a script-based structured data format, typically paired with the schema.org vocabulary to describe page content for search engines and AI systems. Google recommends it over Microdata and RDFa because it's the easiest format to implement and maintain at scale — but all three work, and structured data isn't a ranking signal. on Shopify — but you do have to verify it. Free themes (Dawn) output basic Product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. (name, image, price, availability) via the theme’s structured_data filter, but commonly omit sku, gtin, shippingDetails, and hasMerchantReturnPolicy. BreadcrumbList and Organization/Article schemaArticle schema (Article, NewsArticle, or BlogPosting) is structured data marking up a written piece's headline, author, and dates — Google labels it the \"Article rich result,\" but it's a better-displayed existing result, not a distinct new card, and it isn't required for Top Stories or Discover eligibility. usually aren’t built in at all. And Google’s own bar for product rich resultsRich results (formerly 'rich snippets') are enhanced search listings — stars, images, prices, breadcrumbs, video thumbnails, and more — that Google and Bing build from structured data. They're a display feature, not a ranking factor, and eligibility never guarantees they'll show. is concrete:

“Adding the required product information properties for merchant listings means that your product pages can also be eligible for product snippets.”

  • Check the GSC enhancement/Products report for errors and warnings.
  • Look specifically for “ambiguous data” warnings — a classic sign that both the theme and an SEO app are outputting competing Product schema. Pick one source.
  • Verify required properties (name, image, and an offers block with price/priceCurrency) are present, and fill the recommended gaps (availability, sku, gtin, shippingDetails, hasMerchantReturnPolicy) where you can — Google’s merchant-listing docs list availability as recommended, not required.
  • Validate with Google’s Rich Results Test.
TIP Verify the Shopify theme and apps emit usable Product and Offer data

Shopify themes and apps may both touch structured data. Test the combined live output rather than assuming installed markup is complete or conflict-free.

Run the product-schema launch check with my free PDP SEO Checker Free

  1. Test representative product and variant URLs after theme or app changes.
  2. Confirm Product, Offer price, and availability appear in the delivered markup.
  3. Fix the theme, app, or catalog source, rerun, and validate the rendered page with Google.
The launch gate fails because the public page is not supplying the commerce graph expected from its theme or apps.

The checker reports no Product schema, no schema price, no schema availability, and says price consistency was not evaluated from raw HTML.

5. Sitemap.xml — verify and submit, never hand-edit

Shopify’s sitemap is always at yourdomain.com/sitemap.xml, regenerates automatically as products, collections, pages, and blog posts change, and auto-splits across files (there’s a 50,000-URL-per-file ceiling it handles for you). What you can’t do: hand-edit it, remove individual URLs from it, or build custom image or video sitemapsA video sitemap is an XML sitemap (or mRSS feed) that uses the video:video extension to tell Google about videos hosted on your pages — the landing page, a thumbnail, a title, a description, and a link to the video file or player. It helps Google discover and surface video content, but it doesn't guarantee indexing.. Most competitor checklists say “submit your sitemap” without ever stating that you can’t control it directly.

  • Sitemap submitted in Google Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results..
  • Sitemap submitted in Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility..
  • It’s clean and free of errors — and you’re not wasting time trying to hand-edit something that regenerates itself.

Bing has reinforced that clean, current sitemaps still matter even as AI-powered search surfaces evolve, so this stays a real checklist item rather than something to deprioritize.

6. robots.txt.liquid — editable, but unsupported and risky

Shopify auto-generates a robots.txtA plain-text file at the root of a host that tells crawlers which URLs they may and may not request. It controls crawling, not indexing — a blocked URL can still be indexed if it's linked from elsewhere. that’s fine for most stores. Since June 2021 you can override it with a robots.txt.liquid theme template — but Shopify itself labels this an unsupported customization and warns that incorrect use can result in loss of all traffic. It’s not “locked” (a common myth) and it’s not “safe to poke at” either.

  • Default robots.txt left in place unless there’s a concrete, specific reason to change it.
  • Any robots.txt.liquid edits made by a developer who understands the risk, and verified before and after.
  • No accidental disallow of resources Google needs to render the store.

7. Theme speed and app bloat

Shopify handles a lot of performance automatically — CDN, HTTP/2, gzip, minificationMinification is the process of removing unnecessary characters — whitespace, line breaks, comments, and (for CSS/JS) redundant syntax or long identifiers — from CSS, JavaScript, or HTML source, without changing how the browser parses or executes it. It's distinct from compression (Gzip/Brotli): the two are complementary, applied minify-first, then compress., WebP image conversion. The two levers you actually control are theme choice and app count. Every app that adds storefront functionality typically injects JavaScript, and live-chat, upsell, and review apps are frequent speed offenders. Worse, uninstalling an app doesn’t always remove its injected code — “ghost” code left behind is a real and common drag.

  • Benchmark Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. before installing any new app, so you can measure its cost.
  • Quarterly app audit: remove apps you don’t use, and treat each remaining one as a speed cost, not just a feature.
  • Check theme code for ghost snippets left behind by uninstalled apps.
  • Tie the app audit to ongoing CWV monitoring — see the web performance cluster for the metrics themselves.

8. Bing — Webmaster Tools plus IndexNow

For a checklist, Bing’s baseline overlaps almost entirely with Google’s: a valid, discoverable sitemap, a robots.txt that doesn’t block essential content, clean redirect handling, and descriptive titles and descriptions. The one Bing-specific add worth a line is IndexNow — Microsoft actively promotes submitting changed URLs via the IndexNow API for faster re-crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor..

  • Store verified in Bing Webmaster Tools, sitemap submitted.
  • Consider an IndexNow app/integration so product and price changes get re-crawled faster.

9. Pre-launch checklist (the part most guides split off)

Most competitor pieces publish the launch checklist as a completely separate article. It belongs here — the searches overlap, and a botched launch undoes every item above. Whether you’re launching new or migrating (see the site migrationsA site migration is any significant change to a website's URL structure, domain, platform, protocol, or hosting that can affect how search engines crawl, index, and rank it. The risk scales with how much you change at once. guidance for the full migration playbook), run this pass:

  • Storefront password removed before DNS cutover — a live store behind the password gate can’t be crawled.
  • No leftover sitewide noindex — confirm nothing is blocking indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. globally as a “precaution” from staging.
  • Full 301 redirect map from every old URL, including filtered and paginated variants, to the matching new URL.
  • Canonical and hreflang logic carried over correctly to the new structure (hreflang matters if you run multiple locales/markets).
  • Sitemap resubmitted in GSC and Bing immediately after go-live.
  • 404s and Crawl Stats watched closely in the first weeks, so broken redirects surface fast.

What I deliberately left out

Generic SEO 101 — keyword research, analytics setup, alt textAlt text is the value of the `alt` attribute on an HTML `<img>` element — a short text substitute chosen for the image's purpose and context, not a literal description of what it shows. It makes images accessible to screen-reader users and helps search engines understand images, mainly for image search. basics — is covered everywhere and isn’t Shopify-specific. This list foregrounds the platform constraints and the one fix (internal-link/canonical alignment) that most Shopify checklists bury. WordPress and other platforms have their own equivalents; if you’re comparing, the WordPress SEOWordPress SEO is the process of configuring, optimizing, and maintaining a WordPress site so search engines can efficiently crawl, index, and rank it. WordPress gives you a solid foundation, but its defaults — ?p=123 permalinks, attachment pages, thin archives — need cleanup before a site is actually well-optimized. checklist is the sibling piece.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.