Shopify SEO: What the Platform Handles and What It Doesn’t

Shopify handles the SEO basics automatically: canonical tags, an auto-generated sitemap, a Liquid robots.txt, HTTPS, a CDN and Product structured data in modern themes. It does not handle faceted…

Quick answer. Shopify handles the SEO basics automatically: canonical tags, an auto-generated sitemap, a Liquid robots.txt, HTTPS, a CDN and Product structured data in modern themes. It does not handle faceted navigation, metadata at catalogue scale, redirect mapping or content architecture. On Shopify, the real work is in theme templates and Liquid, curated collection pages, and controlling what apps inject into the head.

What matters most

  • Shopify generates the sitemap, canonical tags and robots file for you, and none of them can be hand-edited — your leverage sits in templates, Liquid and collection structure.
  • The default robots.txt blocks sorted, filtered and internal search URLs, so most facet combinations can never rank unless you build a real collection page for them.
  • Changing a handle creates one automatic redirect, but bulk imports and repeated renames do not, so keep your own redirect map for anything with links or traffic.
  • Modern themes output Product JSON-LD, and review or FAQ apps often add a second copy — validate the rendered page, not the theme file.
  • Moving to a headless front end removes the managed defaults, and canonicals, sitemaps, robots and redirects become your responsibility.

What does Shopify handle for you out of the box?

Shopify ships more SEO defaults than most commerce platforms. A current theme already prints canonical tags, links a generated sitemap, serves an editable robots file and adds Product structured data. That is the floor, not the strategy.

The defaults are decent. They are the reason plenty of Shopify stores rank without anyone opening a template. They are also why operators get surprised later: everything the platform does, it does at the level of a single resource. Almost nothing is done at the level of a catalogue.

  • Canonical tags — themes print a link element from the canonical_url Liquid object, so tracking parameters and variant links usually resolve to one clean address.
  • Sitemaps — /sitemap.xml is generated and split into product, collection, page and blog files. You cannot edit it, and a resource only appears if it is published to the Online Store sales channel.
  • robots.txt — rendered from robots.txt.liquid. The default already blocks cart, checkout, account, order status, internal search and parameterised sort and filter URLs.
  • Structured data — modern themes output Product JSON-LD through the structured_data Liquid filter, including price, availability and brand.
  • Redirects — renaming a product, collection, page or article handle adds an automatic URL redirect from the old address.
  • Markets — Shopify Markets can serve language and country versions in subfolders, with hreflang pairs emitted for you.
  • Images — the image_url filter resizes and serves modern formats from the CDN, so you are not shipping a 4000px hero to a phone.

Where to go next

What does Shopify not do for you?

The gap opens at scale. Shopify stores SEO data on each resource, so a catalogue of 4,000 products is 4,000 manual edits unless you build a system around it.

None of the following is a defect exactly. Shopify optimises for merchants who never open a template. If you want control, you work in Liquid, the Admin API or a headless front end, and you accept the maintenance that comes with it.

  • No bulk metadata editor in the admin. Catalogue-scale title and description work runs through the Admin API, a bulk editor app, or metafields rendered in Liquid.
  • Blunt fallbacks. Leave the SEO title blank and Shopify prints the resource title. Leave the description blank and it pulls from the body, which on imported products is usually the supplier’s copy.
  • Fixed URL structure. The /products/, /collections/, /pages/ and /blogs/ prefixes cannot be changed on a native storefront, and collections cannot nest.
  • No sitemap control. You cannot exclude a thin collection or split the file by section.
  • Filtered URLs are blocked rather than managed. Blocking keeps them out of the index. It does not create anything that ranks.
  • No content model. Pages are flat, blogs are flat, and there is no taxonomy. A buying-guide structure has to be built from collections, metafields and navigation.
  • Apps inject into templates you do not own. Review and FAQ apps frequently add their own JSON-LD next to the theme’s.
  • Script weight is an app decision. Themes are fast; the tag manager, chat widget and personalisation layer are what slow a store down.
  • No regex redirects. The redirect list is literal and one-to-one, which matters on a migration with thousands of URLs.

How should you treat faceted navigation and filter URLs on Shopify?

Native filtering runs through the Search & Discovery app and appends query parameters to the collection URL. Every combination of colour, size, price and metafield becomes its own address. Shopify’s default robots.txt blocks those parameterised URLs, along with sort orders and internal search.

Blocking is the safe default. It stops crawlers spending budget on thousands of near-duplicate pages. The cost is that a facet with real search demand can never rank, because no indexable URL exists for it.

Where a facet is a buying attribute — waterproof, wide fit, refillable — build a real collection instead. Give it its own handle, its own copy above the grid, and internal links from the parent collection. That page can rank and convert. The parameter cannot.

Pagination is the other trap. Check what your theme outputs for page two of a collection before assuming it is handled. Google stopped treating rel=next/prev as an indexing signal, so crawlable links and distinct page titles do more work than the markup.

URL patternExampleCrawlable by defaultWhat to do
Sort order/collections/shoes?sort_by=price-ascendingNo — blocked in robots.txtLeave blocked. Nobody searches for a sort order.
Option filter/collections/shoes?filter.v.option.colour=RedNo — blocked in robots.txtBuild a curated collection if the facet has search demand.
Metafield filter/collections/shoes?filter.p.m.custom.waterproof=trueNo — blocked in robots.txtCurate only for attributes buyers actually type into search.
Product inside a collection/collections/shoes/products/runnerYesThe canonical should point at the product URL. Verify that it does.
Internal search/search?q=waterproof+shoesNo — blocked in robots.txtKeep it out of the index; it has no SEO value.

Which Shopify templates and fields actually control what Google sees?

Each resource type maps to a theme template and a set of Liquid objects. Change the template and every URL of that type changes with it. That is where the leverage is.

The SEO title and description fields sit on the resource, not in the template. If they are blank, the theme falls back to the resource title and body copy. On imported catalogues that fallback is supplier text, identical to what every competitor selling the same SKU publishes.

Structured data has to be checked on the rendered page, not in the theme editor. Shopify’s structured_data filter emits Product markup with name, image, offer and availability. Custom spec fields are not included unless your theme adds them, so material, pattern or compatibility data may be missing. Load a few product URLs in a validator and read what actually ships.

  • product.json and its sections control the product page: heading, price, variant picker, spec table, review block.
  • collection.json controls collection pages, including the copy above and below the product grid.
  • page.json and article.json control editorial pages and blog posts; index.json controls the homepage.
  • canonical_url and routes are Liquid objects available in the head, and most themes print the canonical from canonical_url.
  • product.metafields.<namespace>.<key>.value is where spec tables, fit notes and FAQ content belong.
  • image_url with a width argument, plus the image’s alt text field, control what the CDN serves and what the alt attribute says.
  • The h1 on a product page usually comes from product.title, so the on-page heading is only editable by editing the title.

What breaks when you migrate to or off Shopify?

Most Shopify SEO damage happens at the boundaries: a re-platform, a theme rebuild, a bulk import. The platform’s automatic behaviour covers the single-handle case and nothing larger.

  • Changing a handle creates one automatic redirect. Change it a second time and the chain can break, so keep your own map for anything with links or traffic.
  • CSV imports and Admin API writes create no redirects at all. Every handle you set becomes the only address that product has ever had.
  • Leaving Shopify removes the sitemap, canonicals and redirect list with it. Crawl the old site before cutover and build the map by hand.
  • Moving to headless — Hydrogen, Storefront API, a custom front end — takes you off the managed defaults entirely. You own canonicals, sitemaps, robots and redirects from that point, and nothing warns you when they break.
  • Theme rebuilds lose whatever was hardcoded in the old sections, including hand-written schema and copy.
  • App uninstalls take injected content with them. Review text, FAQ blocks and their markup vanish from the page.

What should you fix first on a Shopify store?

Order matters more than volume. Work down this list before buying another app.

  • Crawl the store and list every indexable URL with its status code, canonical and title.
  • Find products and collections where the SEO title or description is empty or duplicated across the catalogue.
  • Check the rendered JSON-LD on ten product pages and confirm there is exactly one Product block.
  • Confirm the default robots.txt still blocks filtered, sorted and search URLs.
  • Pick the three facets buyers actually search for and build curated collections for them.
  • Rebuild the redirect map for the pages with the most traffic and inbound links.
  • Audit app scripts, starting with anything loaded in the head.
  • Rewrite collection copy so it answers the buying question instead of repeating the keyword.

Frequently asked questions

Does Shopify handle SEO automatically?

Partly. Shopify generates a sitemap, prints canonical tags on product, collection, page and article templates, serves a robots.txt you can edit, and outputs Product structured data in modern themes. It does not write your titles, descriptions, collection copy or internal links. Those stay per-resource decisions, and nothing in the admin flags them when they are missing.

Can I change my Shopify product URLs?

You can change the handle, which alters the end of the URL, but not the /products/ prefix. The native storefront fixes that prefix and does not support nested paths like /shop/mens/shoes. Headless builds can do more, at the cost of owning canonicals and redirects yourself. If you do change a handle, confirm the automatic redirect was created.

Why is my Shopify collection page not getting indexed?

Three usual causes. The collection is not published to the Online Store sales channel, so it never reaches the sitemap. The URL carries filter or sort parameters that robots.txt blocks. Or a canonical tag points somewhere else. Check the status code, the canonical and the robots rule for that exact URL before changing anything else.

Does Shopify add product schema markup?

Modern themes do. Shopify’s structured_data Liquid filter outputs Product JSON-LD with name, image, offer price, availability and brand. Older or heavily customised themes may output nothing. Review and FAQ apps sometimes add a second Product block, which confuses validators and can split the signals. Test the rendered URL, not the theme file.

Do I need an SEO app on Shopify?

Usually not for the basics. Canonicals, sitemaps and structured data are already handled. Apps earn their place for bulk metadata editing, redirect management at scale, or image compression. Most Shopify SEO problems are catalogue content problems, and no app writes your collection copy or decides which facets deserve their own page.

Is Shopify good for SEO compared with other platforms?

It is strong on the technical floor and weak on catalogue control. Canonicals, sitemaps, HTTPS and structured data come free, which is more than several commerce platforms offer. What you give up is URL structure, sitemap editing and native bulk metadata. Whether that trade hurts depends on catalogue size and how much of your traffic comes from non-branded search.

Sources

Audit your Shopify storefront

A technical audit shows which URLs are indexable, where canonicals and structured data break, and which redirects are missing. You get an ordered fix list rather than another dashboard.

Request the audit