Shopify SEO services that stop your theme arguing with your canonicals
Shopify sets the right canonical tag and then links internally to the wrong URL a thousand times. A canonical is a hint, and every internal link is a vote against it. We fix the theme, not just the tag.
Liquid-level fixes, collection architecture, variant handling and theme speed, inside what Shopify actually lets you change.
/products/merino-jacket
/collections/knitwear/products/merino-jacket1,284/products/merino-jacket?variant=41883412/products/merino-jacket37What are Shopify SEO services?
Shopify SEO services make a Shopify store rank inside the constraints the platform imposes. The work covers the duplicate URL patterns Shopify creates by default, collection architecture, variant and tag handling, theme-level speed, product structured data, and the Liquid changes needed to make internal linking agree with the canonical tags Shopify already outputs.
Shopify gets a lot right without being asked. It generates sitemaps, enforces HTTPS, and puts a correct canonical tag on collection-scoped product pages. That is genuinely more than most platforms do out of the box.
What it does not do is stop your theme from linking to the wrong version of every product, which is where most Shopify SEO problems begin.
The duplicate URL problem nobody fixes properly
This is the single most common finding on Shopify audits, and the usual fix addresses the symptom rather than the cause.
Every product has at least two addresses. The clean one at /products/name, and a collection-scoped one at /collections/collection/products/name for every collection it appears in. A product in four collections has five URLs before anyone touches a variant.
A canonical is a hint, not an instruction. Google weighs it against your internal linking. If the tag says one URL and fourteen hundred internal links say another, you have voted against your own canonical, and Search Console tells you so with “Duplicate, Google chose a different canonical than the user”.
Variant URLs make it worse. Selecting a size or colour appends ?variant= to the URL. If your theme links to variant URLs from collection tiles or related products, those become the versions Google sees most and the clean product page loses.
The real fix is one line of Liquid, not an app. Themes that build links with product.url | within: current_collection generate the collection-scoped version everywhere. Dropping the within filter makes every internal link point at the canonical. Most stores install an app instead and keep the linking that caused it.
Fixing the theme costs an afternoon and it stops the problem regenerating every time you add a collection. That is the difference between a Shopify SEO engagement and a plugin.
What our Shopify SEO services cover
Theme-level work first. A fix applied to a product template reaches every product you sell, including the ones you add next year.
Canonical and internal link alignment
Liquid corrected so collection tiles, related products and search results all link to the clean product URL. The canonical stops being contradicted by the store around it.
Collection architecture
Collections built around how people search rather than how the catalogue is filed, with automated collections used deliberately instead of multiplying near-identical listings.
Tag and filter control
Tag-generated URLs and filter combinations handled so they stop consuming crawling, with the handful that have genuine search demand promoted to real collections.
Variant strategy
One page where variants are the same purchase in another colour, separate products where people search for them by name. Variant URLs kept out of internal linking either way.
Product structured data
Price, availability and reviews marked up accurately in the theme, so listings qualify for richer results instead of being dropped for data that disagrees with the page.
Theme speed
App scripts, oversized images and render-blocking assets are the usual causes. We work in the theme and cut what is not earning its weight, rather than adding a speed app on top.
Content that fits the template
Collection and product copy written into the theme where it helps a buyer decide, not appended below the fold where nobody reads it.
Markets and international
Currency and region variants create near-duplicate catalogues. Hreflang and canonicals have to agree, and when they disagree Google decides for you.
Reporting by revenue
Rankings mapped to collections and to what they actually sell, so the work follows margin rather than whichever keyword photographs well in a report.
How our Shopify SEO services run
Crawl the store and read the theme
A full crawl alongside the Liquid itself. The crawl shows the symptom, the theme shows why it keeps happening, and only one of those is worth fixing.
Fix the linking
Theme changes on a duplicate theme, previewed and tested before publishing. Nothing goes live on your storefront untested, including work that looks trivial.
Rebuild collections
Collections matched to demand, tags brought under control, and the small number of filter combinations that deserve to rank turned into proper landing pages.
Speed, markup, content
Template-level performance and structured data, then content on the pages that need it to compete. In that order each step compounds rather than leaking.
What Shopify will not let you change
Some constraints are real. Any agency promising to remove them is either misinformed or hoping you will not check.
| Reality on Shopify | What we do instead | |
|---|---|---|
| URL prefixes | /products/ and /collections/ are fixed | Work with them; they cost far less than people claim |
| Blog paths | Locked to /blogs/name/article | Structure the blog around it and link properly |
| Collection-scoped URLs | Generated automatically | Remove them from internal linking in the theme |
| robots.txt | Editable through robots.txt.liquid | Used deliberately for filters and tag bloat |
| Page speed ceiling | Platform overhead you cannot remove | Cut app scripts and theme weight, which is where the real loss is |
The fixed URL prefixes matter much less than the forums suggest. The duplicate linking, the app bloat and the collection architecture are where Shopify stores actually lose, and all three are fully within your control.
Where Shopify stores usually gain the most
Ordered by how quickly clients tend to see them move.
Consolidating split products
When a product has been competing with its own collection-scoped copies, consolidating the signals into one URL often moves it without any new content at all.
Collections built for demand
Most stores have collections for how they think about stock and none for how customers search. Creating the missing ones is usually the largest single opportunity.
Removing dead apps
Apps uninstalled months ago frequently leave scripts in the theme. Cutting them speeds every page and costs nothing but the time to find them.
Fixing product markup
Availability and price that disagree with the page get listings dropped from richer results. It is quiet, common, and quick to correct in the theme.
Internal search insight
What people type into your own store search is free keyword research with purchase intent attached, and almost nobody reads it.
Seasonal product policy
A written rule for products that come back each year, so their URLs keep the authority they built instead of being deleted and recreated every season.
How much do Shopify SEO services cost?
Catalogue size and theme condition drive the number. An inherited theme with a dozen apps takes longer than a clean one twice the size.
Audit
A fixed piece of work: crawl, theme review and a prioritised fix list with the Liquid changes specified. Useful on its own even if your developer implements it.
Implementation
We implement in a duplicate theme or brief your developer. Template work costs the same whether you sell two hundred products or twenty thousand.
Ongoing
Collections, content and the catalogue churn that never stops. Retainer or handover, and we will say plainly which one your situation actually needs.
Judge it on organic revenue rather than rankings. A store ranking well for terms nobody buys on has an impressive report and an unchanged bank balance.
Real numbers from real client work
Shopify SEO alongside the rest of the work
eCommerce SEO services
The platform-agnostic picture: crawl control, faceted navigation and the retired product decisions every store faces.
See eCommerce SEO →Shopify store management
The commercial side: conversion, merchandising and the day-to-day running of the store beyond search.
See store management →Website speed optimization
Theme weight and app scripts are where Shopify stores lose their Core Web Vitals. Template work reaches the whole catalogue.
Speed up my store →Common questions about Shopify SEO services
Almost always because your internal links disagree with your canonical tag. Shopify puts the correct canonical on collection-scoped product pages, but if the theme links to those collection-scoped or variant URLs everywhere, Google weighs the links more heavily than the tag. The fix is in the theme, not in the tag.
Rarely, and often it makes things slower. Most of what apps do here is either already handled by Shopify or better fixed once in the theme. The duplicate URL problem in particular is a Liquid change, and an app that patches the symptom leaves the linking that causes it untouched.
The /products/ and /collections/ prefixes are fixed and cannot be removed. Handles within them are fully editable. This matters far less than the forums suggest. We have never seen a store held back by the prefix, and we regularly see stores held back by duplicate linking and app bloat.
Only when people search for it by name. Colours and sizes of the same item belong on one page with variant selection and internal links pointing at the clean product URL. A different model or capacity that has its own demand usually deserves a separate product.
With a written rule, applied automatically. Seasonal items that will return should stay live showing availability, so their URLs keep the authority they built. Permanently discontinued products either redirect to a genuine successor or return a clean 404. Deleting and recreating them each season throws that authority away every year.
No. Changes are made on a duplicate theme, previewed and tested, then published once you are happy. That applies to changes that look trivial too, because those are the ones that break checkout.
Consolidation fixes can move things within weeks, because you are combining signals that already exist rather than building new ones. Collection and content work follows the usual timeline of months. We sequence it so the technical wins land first and you have something measurable early.
Get Shopify SEO services that fix the theme, not the symptom
We will crawl your store, read your Liquid, and show you exactly which URLs your internal linking is voting for. You get the findings whether or not you work with us. No obligation, no sales pitch.
Get my free Shopify audit- Duplicate URL analysis
- Theme and app review
- Prioritised fix list