Skip to main content
Shopify SEO Agency

Shopify SEO Agency — From People Who Actually Sell on Shopify

A lot of Shopify SEO advice is written by people who have never shipped an order. We run our own Shopify store, Tropical Fish Co, so we know where the platform helps your rankings, where it quietly hurts them — duplicate collection URLs, thin collection templates, app-bloated themes — and which fixes are worth doing first. From £899 a month, quoted, with no setup fee and a 3-month minimum.

We don't just audit Shopify stores. We run one.

Our own Shopify store, Tropical Fish Co, is where we test theme edits, app choices, schema changes and collection layouts before we recommend them to a client. It averaged mobile position 4.83 in Google Search (22 August–18 September 2026; web search, all countries). When we tell you an app is slowing your theme down, it's because we have measured app weight on a store whose bills we pay. That operator perspective keeps the work tied to orders and revenue — not vanity keyword positions in a monthly PDF.

Shopify’s forced URL structure — and the duplicate paths it creates

Shopify locks every store into /collections/, /products/, /pages/ and /blogs/ URL prefixes. You can’t flatten them or customise them, and on its own that’s mostly harmless. The real problem is what the platform does next: when a product is linked from a collection page, most themes generate the URL as /collections/collection-handle/products/product-handle — a second, fully crawlable copy of the same product page. Shopify adds a rel=canonical tag pointing back at the clean /products/ URL, which keeps you safe from a duplicate-content penalty, but it creates a quieter issue.

Because the theme builds its internal links to the duplicate path, the page Google is told to rank — the canonical — receives almost none of your internal link equity. It flows instead to URLs Google is told to ignore. The fix is in the theme’s Liquid code, not an app: change the product-card snippet so collection grids link directly to the canonical URL, then deal with the other duplicate sources Shopify quietly generates.

What we fix

  • Edit product-card snippets so collection grids link to canonical /products/ URLs
  • Audit tag-filtered collection URLs (/collections/all/tag-name) for thin near-duplicates
  • Control indexation of ?variant=, sort and filter parameters
  • Verify no app or theme edit has overridden the default canonical tags

Collection page optimisation: Shopify’s weakest default

Category-level search terms — “waterproof walking boots”, “aquarium plants”, “oak dining tables” — carry far more volume than any single product, and the collection page is what should win them. Out of the box, Shopify’s collection template almost never does: it renders a title, an optional description squeezed in above the product grid, and nothing else. There is nowhere for the helpful, descriptive content Google rewards, no sub-collection navigation, and no way to answer the questions buyers actually have at category level.

We rebuild collection templates so they can rank: a concise intro above the grid, a fuller content block below it (so products stay above the fold), links between related collections, and a sensible indexation strategy for the filtered URLs that Shopify’s Search & Discovery filters generate. For many stores this is among the most valuable Shopify SEO work.

What we fix

  • Split collection copy: short intro above the grid, substantive content below it
  • Write unique, genuinely useful copy per collection — not boilerplate with the keyword swapped
  • Add internal links between related and child collections
  • Decide which filtered and tag URLs should be indexable, and enforce it

Product titles, descriptions and metafields at catalogue scale

A forty-product store can be optimised by hand. An eight-hundred-product catalogue can’t — you need patterns and bulk tooling, or the work simply never gets done. We build keyword-first title structures (product type, key attribute, brand), set meta templates, and bulk-edit through CSV exports or Matrixify so the whole catalogue is consistent rather than just the first page of products anyone got round to.

The bigger lever is metafields. Most stores paste in the manufacturer’s two-line description — the same text fifty other retailers carry — and wonder why their product pages don’t rank. We push specification data, dimensions, compatibility and buying guidance into metafields and surface them in the product template, so every product page carries substantive, unique content without anyone hand-writing eight hundred pages.

What we fix

  • Keyword-first title and meta templates applied across the catalogue
  • Rewrite manufacturer descriptions on the highest-revenue products first
  • Spec and FAQ data in metafields, rendered in the product template
  • Consistent image alt-text patterns and clean variant handling

Theme speed and Core Web Vitals: the app bloat audit

Shopify itself is quick: the CDN is fast and modern Online Store 2.0 themes like Dawn ship lean. What destroys Core Web Vitals on Shopify is everything that gets added afterwards. Every app you install can inject its own JavaScript, much of it loading on every page whether it’s used there or not — and uninstalling an app doesn’t always remove its code. Leftover snippets sit in the theme, loading for every customer, until someone goes in and strips them out.

Our speed work starts with a full app audit: measure what each app actually adds, remove the ones that don’t pay their way, and strip leftover snippets from the theme. Then we work through the theme itself — render-blocking scripts, properly sized images (Shopify’s CDN serves modern formats automatically, but only if the template requests sensible dimensions), lazy-loading below the fold, and the heavy hero sliders that quietly sabotage LCP and CLS.

What we fix

  • Per-app JavaScript weight audit — keep, replace or remove each one
  • Strip orphaned code left behind by uninstalled apps
  • Fix oversized images and missing width/height attributes causing layout shift
  • Defer or remove render-blocking third-party scripts

Product, Offer and Review schema: native beats another app

Rich results — price, availability and star ratings in the search listings — depend on clean structured data, and most Shopify themes ship a Product JSON-LD block that’s incomplete: missing GTIN or MPN identifiers, no priceValidUntil, no review markup even when the store has hundreds of genuine reviews sitting in a review app.

The common “fix” is installing an SEO app that injects its own schema — alongside the theme’s. Now there are two Product entities on every page with conflicting data, and Search Console starts flagging errors. We write the structured data directly in Liquid instead: one complete Product entity per page with Offer, availability and identifiers, review markup wired to your actual review source, plus BreadcrumbList and Organization schema. No extra app, no extra JavaScript, no monthly fee.

What we fix

  • Single, complete Product + Offer JSON-LD written in the theme
  • GTIN/MPN/SKU identifiers and priceValidUntil populated from product data
  • Review and AggregateRating markup connected to your real review platform
  • Duplicate schema from apps and old theme code removed

Shopify’s blog is limited. Your content strategy doesn’t have to be

The blog is the weakest part of Shopify. URLs are locked to /blogs/handle/, the taxonomy is a single flat layer, there’s no native related-posts or proper category system, and the editor fights anything more ambitious than text and images. That matters because content is how a store captures buyers earlier — the “best X for Y” and “how to choose” searches that happen before anyone knows which product they want.

There are good workarounds, and we use all of them: multiple blogs acting as de facto categories, evergreen buying guides built as pages or metaobject-driven templates rather than dated posts, and deliberate internal linking from every guide into the collections and products it should feed. If a store’s content ambitions genuinely outgrow what Shopify can do, we’ll say so and scope the right answer honestly — but for most stores the workarounds are more than enough.

What we fix

  • Multiple blogs used as topical categories with clean internal linking
  • Evergreen guides built as pages or metaobject templates, not dated posts
  • Every guide links into the collections and products it supports
  • Content mapped to real search demand, not a posting schedule

Shopify Markets and international SEO

Shopify Markets makes selling internationally easy — and makes it just as easy to create an international SEO mess. Switch on a few markets and you can end up with auto-translated, near-identical subfolder pages (/en-gb/, /fr/, /de/) competing with each other, hreflang generated for markets you don’t seriously serve, and duplicate content across currencies.

We treat international expansion as a set of deliberate decisions: which markets justify a dedicated subfolder versus one international storefront, whether a ccTLD ever makes sense for you, and — the part most stores skip — properly localising the content itself. Collection copy, metafield content and meta titles need translating and localising, not just the theme’s buttons. Done right, Markets’ automatic hreflang and subfolder structure is genuinely good; done carelessly, it multiplies every thin-content problem you already had by the number of markets you switched on.

What we fix

  • Market and subfolder strategy decided before anything is switched on
  • hreflang validated — no conflicts between Markets and third-party apps
  • Collection, product and meta content properly localised per market
  • Currency and duplicate-page handling checked in Search Console per market

Migrating to or from Shopify while protecting your rankings

Replatforming is where stores often lose rankings when it’s done without an SEO plan. URL structures never match: Shopify forces its /products/ and /collections/ prefixes, so every URL on the old platform changes, and every changed URL needs a one-to-one 301 redirect. Miss them, or redirect everything to the homepage, and years of accumulated authority evaporates.

We map the complete redirect set before launch — Shopify’s native URL redirects tool handles this well once the mapping exists — keep product and collection handles consistent with the old URLs wherever possible, carry over meta data and schema, rebuild internal links so nothing routes through redirect chains, and watch Search Console daily after cutover to catch anything that slipped through. And if you’re migrating off Shopify, the same discipline applies in reverse. We can handle migrations in either direction; the platform you’re leaving matters less than the rigour of the redirect map. Nobody can promise rankings, but a complete redirect map protects them.

What we fix

  • Full crawl of the old site and one-to-one 301 map before launch day
  • Product and collection handles matched to legacy URLs where possible
  • Meta data, schema and internal links carried over, not rebuilt from scratch
  • Daily Search Console monitoring through the post-launch window

Shopify SEO FAQs

Is Shopify bad for SEO?

No — Shopify’s fundamentals are solid: fast global CDN, clean HTML in modern themes, automatic canonical tags and an SSL certificate out of the box. What it has are platform-specific weaknesses: the forced URL structure creates duplicate /collections/x/products/y paths that soak up internal link equity, collection templates ship with almost no room for ranking content, the blog is limited, and app bloat quietly wrecks Core Web Vitals. Every one of those is fixable in the theme. A well-worked Shopify store can compete with far bigger retailers. Our own Shopify store, Tropical Fish Co, averaged mobile position 4.83 in Google Search (22 August–18 September 2026).

How is Shopify SEO different from WooCommerce SEO?

The fix list is completely different. Shopify is a closed platform: you can’t touch the server, change URL prefixes or install a plugin that rewrites everything, so the work happens in Liquid theme code, metafields and Shopify’s own settings — and hosting speed is consistent because Shopify controls it. WooCommerce gives you total control over URLs, server and markup, but you inherit hosting variance and plugin bloat, and more things can break. Neither is “better” for SEO; they fail in different places. An agency needs to know which platform it is actually working on — a generic checklist misses both.

How much does Shopify SEO cost in the UK?

Shopify SEO with us sits in Competitive SEO, from £899/month, quoted on your catalogue and market. No setup fee. We also offer one-off technical audits if you want the fix list to action yourself. Every engagement starts with a defined scope and the metrics we’ll report on — organic sessions, ranking keywords and, where your analytics tracks it, organic revenue. 3-month minimum, then month to month with 30 days’ notice, so the work has to keep earning its keep.

Do I need an SEO app like Smart SEO or SEO Manager?

Usually not. Almost everything those apps do — meta title and description templates, JSON-LD schema, image alt text, broken-link redirects — can be done natively in the theme and Shopify’s built-in settings, without a monthly fee or the extra JavaScript an app injects into every page. Worse, schema apps often add a second Product entity alongside the one your theme already outputs, which causes structured-data conflicts in Search Console. The honest answer: an app can be handy for one-off bulk jobs like alt-text generation, but as a permanent fixture it usually costs more in speed than it returns in rankings.

Can you fix duplicate content on Shopify?

Yes — it’s one of the first things we audit. Shopify creates duplicates by design: every product linked from a collection gets a /collections/collection-handle/products/product-handle URL alongside its canonical /products/ URL, tag-filtered collection pages spawn thin near-duplicates, and variant parameters multiply crawlable URLs. The canonical tags Shopify adds prevent a penalty, but they don’t stop your internal links pointing at the wrong version. We edit the theme so collection grids link straight to canonical URLs, tidy up tag and filter page indexation, and make sure the equity flows to the pages you actually want to rank.

Free consultation

Get a Shopify SEO plan from people who sell on Shopify

Duplicate URLs, collection pages, schema, speed, content — we'll audit your store, show you exactly what's holding it back, and give you an honest plan. Free, no obligation.

Scope and terms agreed upfront+44 333 038 2152Chester-based team