Skip to content
Sign in

Shopify SEO: what you can change, what you cannot, and the workarounds

Shopify handles the technical basics well and locks a few things down. Knowing where the platform's limits are lets you stop fighting them and spend effort on the parts that do move rankings: collections, product content, internal links and theme speed.

DeskSEO editorial team · · 6 min read

A ceramicist packs glazed bowls into kraft boxes at a bright workshop table

Shopify is one of the easiest platforms to run a store on, and its technical SEO defaults are better than many custom builds: clean HTML, automatic sitemaps, canonical tags, HTTPS, and a fast global CDN. In return, Shopify fixes a few decisions that you cannot change, and some of them are the subject of endless forum complaints. This guide separates the limits that do not matter much from the ones worth working around, and then focuses on the parts of a Shopify store that actually decide rankings.

What Shopify decides for you

Fixed behaviourDoes it hurt?What to do
URL prefixes: /products/, /collections/, /pages/, /blogs/news/Very littleKeep handles short and descriptive; ignore the prefix
Products reachable under collection paths (/collections/boots/products/trail-boot)Some crawl waste; canonical points to /products/trail-bootEdit the theme so product links use the canonical product URL
Auto-generated sitemap at /sitemap.xmlNo; it is accurateSubmit it; you cannot edit it directly, but hidden or unpublished items are excluded
Collection tag filtering URLs (/collections/boots/waterproof)Can create thin, duplicate pagesDecide which tag pages deserve content; noindex or block the rest
Default robots.txtNo; sensible defaults block cart, checkout, internal searchCustomise only with robots.txt.liquid when needed
Checkout on Shopify's infrastructureNo SEO effectNothing

The URL prefix question deserves one clear answer because it consumes so much attention: it does not stop stores from ranking. Search engines care about the page, its content and its links. A handle like /products/merino-hiking-sock is perfectly fine.

Fix the duplicate product paths in the theme

Many Shopify themes link from collection pages to products using the collection-aware path, so /collections/socks/products/merino-hiking-sock. The page includes a canonical to /products/merino-hiking-sock, so search engines generally index the right URL. But crawlers still discover and fetch every collection-path variant, and a product in five collections has five extra URLs.

In the theme's product card snippet, the link is usually built with a filter like within: collection. Removing that filter makes links point straight to the canonical product URL. The breadcrumb can still show the collection. It is a small theme change, and it is worth having a developer do it carefully, because product card snippets are reused in several places.

A shop owner arranges woven baskets on wooden plinths in a boutique window

Collections are your category pages

On most stores, collection pages target the most valuable commercial queries: "women's hiking boots", "merino socks", "camping cookware". They deserve more care than they usually get. The full approach is in the e-commerce category pages guide; the Shopify-specific points are:

  • Write a collection description and make sure your theme displays it. Some themes hide the description or show it only on the first page. A short introduction above the grid and a longer, genuinely useful section below it (sizing advice, how to choose) works well.
  • Set the SEO title and description per collection in the "Search engine listing" section. Defaults are often just the collection name.
  • Avoid automated collections that duplicate each other. "Sale", "Black Friday", "Clearance" and "Last chance" collections containing the same products are near-duplicates.
  • Handle tag pages deliberately. Tag filter URLs such as /collections/boots/waterproof are indexable by default. If a tag combination matches real searches, it can work as a landing page, but it shares the collection's description. For most stores it is cleaner to create dedicated collections for valuable combinations and keep tag URLs out of the index. The faceted navigation guide explains how to decide.

Product pages

The product template is where most Shopify stores lose ground to competitors, simply because so many paste the manufacturer's description. Shopify-specific notes:

  • Handles: Shopify creates a handle from the product title. Fix long or awkward handles before launch. If you change a handle later, Shopify offers to create a redirect from the old URL; keep that option ticked.
  • Variants: colour and size variants share one URL with a ?variant= parameter. That is good: one strong page rather than many thin ones. Make sure the canonical points to the product URL without the parameter.
  • Structured data: most current themes output Product markup with price and availability. Check it with Google's Rich Results Test, especially for reviews, which usually come from a reviews app.
  • Alt text: set it per image in the product media editor. Theme defaults often use the product title for every image.

The product page guide covers descriptions, reviews and variants in depth.

Apps, themes and speed

Shopify's servers and CDN are fast; Shopify stores are often slow anyway. The usual reasons are app scripts and heavy themes.

  • Audit apps: list every app, what it loads on the storefront, and on which pages. Reviews, upsells, pop-ups, chat, wishlists and currency converters each add scripts.
  • Check leftovers: when an app is uninstalled, code it injected into theme files can remain. Search the theme code for the app's name or domain.
  • Prefer app embeds and theme app extensions over apps that edit theme files directly; they are easier to turn off cleanly.
  • Theme sections: sliders, video backgrounds and large announcement bars above the fold hurt LCP and CLS. A static hero image with correct sizing usually beats a carousel.

Measure with PageSpeed Insights on a product page and a collection page, not just the home page. The guides on LCP and INP explain how to read the results.

Redirects, deleted products and filters

Shopify has a built-in URL redirect manager (under Navigation in the admin) that handles simple one-to-one redirects and bulk imports from a CSV file. Use it when you delete or merge products and collections, and when migrating from another platform. It cannot express pattern-based rules, so a migration from a platform with a very different URL scheme needs a full list of old URLs mapped one by one; the migration checklist covers how to build that list.

When a product is discontinued, think before deleting it. Deleting returns a 404 for the old URL unless you add a redirect. If the product had links or traffic and a close replacement exists, redirect to the replacement; if not, a redirect to the parent collection is reasonable. For products that are only temporarily out of stock, keep them published; the out-of-stock guide explains why.

Storefront filtering (the Search & Discovery features) adds filter parameters to collection URLs. Shopify's default robots.txt already disallows many of these patterns, which keeps them from swallowing crawl. If you add custom filter parameters through an app, check that the same holds for them.

Blog and content

Shopify's blog is basic but adequate. Its URLs are /blogs/<blog-name>/<article-handle>; the default blog is called "news", and you can create another blog with a better name (such as "guides") before you start publishing. Content that helps people choose and use your products, linked to the relevant collections, supports those collections in a way product pages alone cannot. Tag pages on the blog (/blogs/news/tagged/…) are thin and usually better kept out of the index.

International stores

Shopify Markets can serve different countries from subfolders (such as /en-gb/, /fr-ca/) or separate domains, and it outputs hreflang tags for the configured markets. Check two things: that the translated pages are genuinely translated (machine translation left unreviewed reads badly to customers), and that hreflang tags reference URLs that return 200. The hreflang guide lists the common errors.

A Shopify SEO checklist

  1. Product links in collection grids point to /products/handle.
  2. Every important collection has a title, meta description and visible description.
  3. Tag filter pages: decided per tag (dedicated collection, or kept out of the index).
  4. Product handles short; redirects created when handles change.
  5. Product structured data valid, including reviews if shown.
  6. Unused apps removed and their code cleaned from the theme.
  7. Search Console verified with the Shopify sitemap submitted.
  8. A regular technical check: the SEO checker covers redirects, canonicals, robots.txt and response time on the storefront.

Questions

Can I remove /products/ and /collections/ from Shopify URLs?

No. Shopify's URL prefixes are fixed by the platform. They do not prevent ranking; plenty of Shopify stores rank well with them. Focus on the handle (the last part of the URL) being short and descriptive.

Can I edit robots.txt on Shopify?

Yes. Shopify lets you customise robots.txt through a robots.txt.liquid template in the theme. The default rules are sensible, so only change them for specific reasons, such as blocking a parameter pattern.

Why does Google index product URLs under collections?

Many themes link to products via /collections/name/products/handle. Shopify sets a canonical to /products/handle, so Google usually indexes the right one, but changing the theme to link directly to /products/ removes the duplicate paths from crawling.

Do Shopify apps slow down the store?

Often. Many apps inject scripts into every page. Uninstalling an app does not always remove code it added to the theme, so check the theme files after removal.

Keep reading