Shopify decides part of your SEO before you write a word.
The platform generates the URLs, fills in the meta tags, writes the robots file and adds the hreflang. Those defaults are sensible and they are also the reason so many stores compete with themselves. We work at the level where they are set, which is the theme and the metafields, rather than editing one product at a time.
- Free audit within 2 days
- No account access needed
- You own every account

Placed by hand, in sentences.
We did this on a Shopify store we own outright.
Phrase Studios is ours, it runs on Shopify, and search became its biggest channel in six weeks. The case study shows the plan, the Shopify reports and every weekly reading, including the months where a number went the wrong way.

September, to the 28th · 4 031 search sessions · 23x the June level
Four surfaces, and the theme underneath all four.
On Shopify most of what looks like a content problem is a template problem, so the platform work runs in parallel with the writing rather than before it.
Platform4
- Duplicate URLs
- Canonicals
- robots.txt.liquid
- Theme structured data
Published4
- Collection pages
- Product copy
- Buying guides
- Comparison pages
Metafields4
- Titles in bulk
- Descriptions in bulk
- Alt text
- Indexation rules
AI engines4
- Prompt coverage
- Quotable structure
- Citation tracking
- Crawler access
The order we work in, from the week you say go.
- 01Week 1
Crawl the store the way a search engine does
Every URL the theme can generate, not the list in the admin.
- 02Weeks 2 to 4
Fix it in the template, once
Canonicals, internal link markup, the robots template, hreflang, structured data.
- 03Then
Rewrite the collections and the products
Titles and descriptions written against real searches and set in the metafields in bulk, collection pages written as pages, and the internal links put into the prose so they point at what you sell.
- Every week after
Read it in Google and in Bing
Search Console and Bing Webmaster Tools together, because Copilot and ChatGPT read the Bing index and most reporting quietly ignores it.
What actually moves the account.
The second product URL Shopify makes for you
A product linked from inside a collection can be served at /collections/name/products/handle as well as at /products/handle. Shopify’s own documentation flags it: the two URLs carry the same content. We fix it where it is generated, in the theme’s link markup and the canonical, not by asking Google to work it out.
Meta tags are metafields, and they have a default
The page title and meta description live in the title_tag and description_tag metafields, and until somebody sets them they fall back to the product title and the product description. That is why a store can have four hundred products and no distinct description among them. They get written, in bulk, against how people actually search.
Collections are the money pages, so they get treated as pages
A collection with a filter or a sort applied is a different URL. Left alone the store offers search engines thousands of near identical ones and real category copy on none of them. We decide what deserves to be indexed, say so in the template, and write the collection pages as pages rather than as a grid with a heading.
robots.txt is a theme file on Shopify
There is no field for it in the admin. It is rendered by robots.txt.liquid, which is not in a theme until somebody adds it, and Shopify keeps updating the default rules underneath. So it gets built on top of the rules object rather than pasted in as plain text, which is how stores end up frozen on last year’s defaults. It is also where the AI crawlers are allowed or refused.
Markets, languages and one source of hreflang
With Shopify Markets the hreflang tags are added automatically and stay in step with each page’s canonical. A theme or an app that adds its own on top produces a second, conflicting set. On a multi market store this is one of the first things we check, because it is invisible on the page and obvious in the head.
Apps are a speed decision, not an install
Every app that injects script into the storefront spends part of your loading budget. We measure what each one costs before and after, so the trade is a decision somebody made rather than something that happened.
Written so the AI engines can quote the store
Product and collection copy that answers the question it is ranking for, FAQ blocks with the structured data generated from the same rows, and an llms.txt. What the discipline covers in general is in what a generative engine optimization agency does.
What you get every month.
A backlog written against your theme
With the file and the reason attached to each item, so your developer can act on it or we can.
Copy delivered ready to publish
Collection and product text, titles and descriptions, written and set, not handed over as a brief.
Indexation as a number you can see
How many products and collections are actually indexed against how many exist, read every month rather than assumed.
AI visibility tracked on its own
Which pages get quoted inside AI answers, and which engines are doing the quoting.
Almost nothing on this list is yours to chase.
- Us 7
- Together 1
- You 1
- Theme crawl and the fix list that followsEvery monthUs
- Titles and descriptions written and setEvery monthUs
- Collection and product pages publishedFour or ten a month, by planUs
- Internal link passEvery monthUs
- Prompt coverage checked across the AI enginesEvery monthUs
- Search Console and Bing read side by sideEvery weekUs
- Written reportEvery MondayUs
- CallEvery weekBoth
- Pushing theme code to the live storeWhen you want it that wayYou or us
- Approving a directionWhen it changesYou
Two ways to structure Shopify search work.
One fixed monthly fee covering the platform work and the writing, or a performance-based commission on the growth instead of most of that fee. The number depends on the size of the catalogue and the state of the theme, so we put it in writing after we’ve looked.
A fixed monthly fee
One amount, agreed before anything starts and unchanged when a month turns out heavier than the last one.
- Set by what the business needs, never by the hour
- No percentage of your media budget on top
- Reviewed once a quarter, never mid-month
A commission on the growth
Most of the fixed fee comes off and we take a share of what the work adds, measured against the same month a year earlier.
- Read from your own numbers, not from what a platform claims
- Capped, so a very good month never becomes a penalty
- You keep the accounts either way, permanently
There is no rate card. Which structure fits, and what the number inside it is, depend on what the business actually needs: margin, seasonality and how much growth is already in motion. We’ll tell you which one we’d recommend and why, in the same document as the number.
See what it would costChannels aren’t run in isolation.
Search work on a Shopify store runs into the same feed, the same product data and the same pages the ads do, which is why we would rather run both than hand one over.
- Meta advertisingStructure, creative and measurement that survive contact with reality.
- Google advertisingSearch, Shopping and Performance Max, starting with the feed and the products that actually matter.
- SEO and GEOPages built for the searches people make, and the AI engines increasingly shaping how they discover brands.
- Klaviyo and emailFlows and campaigns that turn the audience you’ve already paid to acquire into more revenue.
- CRO and websiteThe store itself: built, tested and optimised to convert more of the traffic you’re already paying for.
- Creative directionHooks, angles and the brief your team produces from, judged against what performs.
The questions that come up first.
What does a Shopify SEO agency actually do differently?
It works at the level where Shopify sets the defaults, which is the theme and the metafields, rather than editing pages one at a time. The URLs, the meta tags, the robots file and the hreflang are all generated, so a fix applied to the template reaches every page and a fix applied to one product reaches one product.
Why is the same product showing on two URLs?
Because a product linked from inside a collection can be served at /collections/name/products/handle as well as at /products/handle. Shopify documents this behaviour and warns that the two URLs carry the same content. It is fixed in the theme, in the link markup and the canonical tag.
Why do all our meta descriptions look the same?
Because nobody has set them. Shopify keeps the page title and meta description in the title_tag and description_tag metafields, and until those are filled in they fall back to the product title and the product description. They can be written and set in bulk rather than one product at a time.
Can you edit robots.txt on Shopify?
Yes, but it is a theme template rather than a setting. The file is rendered by robots.txt.liquid, which most themes do not include until somebody adds it. It should be built on top of Shopify's rules object, because Shopify updates the default rules and a hardcoded copy stops receiving them.
Do we need to give you access to the theme?
Not to start. The audit runs from the public storefront, so you get the findings before anything is touched. Theme changes are a separate yes, and you can have your own developer make them from our list if you would rather.
How is Shopify SEO priced?
A fixed monthly fee covering the platform work and the writing, or a commission on the growth instead of most of that fee. It is never a percentage of ad spend, and the number goes in writing after we have looked at the store.
Let’s see what’s holding your growth back.
Send the brand, the channels and roughly what you spend. Your written audit follows within two days.
Or write to hello@roasdept.com
Pick what matters and the audit is written around it.
