Ecommerce SEO services that make your catalogue rank and sell
Built around category pages
A shop is not a website with more pages on it. Thousands of URLs generated by templates, filters that multiply them, and stock that changes daily. We fix the system, not one page at a time, on Shopify, WooCommerce, Magento and BigCommerce.
- Measured on revenue, not sessions
- Crawl and index audit before any quote
- Cancel any month
- Shopify
- WooCommerce
- Magento
- BigCommerce and headless
Why ecommerce SEO is a different job
On a brochure site you optimise pages. On a shop you optimise templates, and the template runs across ten thousand URLs at once. Get the category template right and every collection improves in the same deploy. Get it wrong and you have shipped the same mistake ten thousand times.
That is why our first deliverable on any shop is a crawl and index report, not a keyword list. Until we know what search engines can actually reach and what they are wasting their time on, a keyword list is a guess with a spreadsheet around it.
Three things make a catalogue behave differently from an ordinary website.
Scale
Filters and sort parameters can turn four hundred real products into forty thousand crawlable URLs.
Churn
Stock sells out, products get discontinued and seasonal lines disappear. Every one of those events is a URL decision.
Attribution
A ranking that does not convert is not a result, so the target is revenue per session rather than traffic.
Most of the money is in pages shop owners ignore
Owners tend to obsess over product pages, because that is where the sale happens. Search does not work that way. Someone who knows exactly which model they want types the model number and lands on a product. Everyone earlier than that types a category, and there are far more of them.
Here is roughly how we split effort on a new ecommerce campaign, and why.
- Category and collection 55%
- Product detail 30%
- Supporting content 15%
Where the volume sits
Broad and mid tail demand lives here: the searches people use before they have picked a product. Most shops leave these pages as a bare grid of tiles with an auto generated title and nothing else on them, which is exactly why they are winnable.
Where the margin sits
Lower volume per URL but very high intent, and there are thousands of them. The work here is templated: structured data, unique copy where it earns its keep, image handling, variants that do not compete with each other, and reviews rendered so they can be read.
Where the trust sits
Buying guides, sizing and fit, comparisons, care and maintenance. These rarely convert on the first visit. They earn the links and the brand recall that make the category pages competitive, and they feed the AI answers people now read before clicking anything.
Five leaks we find in nearly every shop
None of these show up in a rank tracker. All of them show up in Search Console, and all of them are quietly capping what the rest of your marketing can achieve.
Index bloat from filters
Every colour, size and price filter combination generates a URL, and most platforms let search engines crawl all of them. Google spends its budget on near identical filtered pages and never gets round to your new season products. The fix is deciding which facets deserve an indexable URL and blocking the rest properly, not just with a noindex tag that still burns the crawl.
Category pages with nothing on them
A heading, a grid of products, and a block of keyword soup dumped underneath the pagination where nobody reads it. These pages are competing against retailers who explain how to choose, what the differences are and what the page actually covers. Rewriting the top two hundred collections is usually the single highest return job on a shop.
Variants competing with each other
The same shirt in seven colours, published as seven URLs, each with the same description. Search engines pick one more or less at random, the signals split, and none of them ranks as well as one consolidated page would. Sometimes the answer is canonicals, sometimes it is a single product page with a variant selector. It depends on whether people search for the colour.
Orphaned and stranded products
Products that sit in the database and the sitemap but are not linked from any category, or are buried twelve pages deep in pagination. Search engines treat depth as a signal of importance, so a product nothing links to is a product nothing ranks. Fixing internal linking at catalogue scale is unglamorous and it moves a lot of revenue.
A product template that loads badly
Every app, review widget, upsell script and tracking pixel you have ever installed is still on the page. On a shop the product template is both your most trafficked page type and your slowest, and it is the one where a slow load costs you the sale as well as the ranking. This is one of the few SEO fixes that pays back twice.
Discontinued products with no plan
Lines get dropped and the URLs either 404 quietly or redirect to the homepage, which search engines treat as a soft 404 anyway. A lifecycle rule decided once, covering out of stock, seasonal and permanently discontinued, protects the authority those pages spent years accumulating.
What a category page rewrite actually changes
Drag the handle. Same collection, same products, same URL. The difference is everything around the grid.
- 1
An intro above the grid
Two sentences that say what the page covers, placed where people actually read.
- 2
Links to the subcollections people search for
Trail, wide fit and waterproof each get an indexable page because each has its own demand.
- 3
Tiles that carry price, stock and reviews
Rendered in the HTML and marked up, so the listing can show stars and price in search.
- 4
A buying guide under the grid
Real help instead of keyword soup. It earns the long tail and gets quoted in AI answers.
The work in an ecommerce SEO campaign
Sequenced by what the crawl finds, not by a fixed checklist. A shop with clean architecture and weak content gets a different first month to one drowning in filtered URLs.
Category page programme
Research the demand behind each collection, rewrite the template so copy sits where people read it, and build the collections you are missing entirely for terms you currently have no page for.
Product template optimisation
One set of fixes that ships across every product at once: title and heading logic, description structure, image alt rules, breadcrumb trails and the internal links that surface related items.
Faceted navigation control
Decide which filter combinations deserve an indexable URL because people search for them, and make sure the rest are never crawled in the first place. This is where most catalogue crawl budget is lost.
Product schema and rich results
Price, availability, currency, shipping, returns and review markup done to Google's current spec, so your listings can carry stars and prices instead of a bare blue link next to competitors who have them.
Crawl budget and index hygiene
Log file and Search Console analysis to see what search engines actually fetch, then cut the waste: parameter sprawl, session URLs, internal search pages, staging leftovers and paginated dead ends.
Stock and lifecycle rules
One decided policy for temporarily out of stock, seasonal, and permanently discontinued products, covering what stays live, what redirects where, and what leaves the sitemap. Written down so your team can apply it without asking us.
Internal linking at scale
Related products, collection cross links, hub pages and breadcrumb logic so that authority reaches the products that make you money, rather than pooling on the homepage and the five collections in your main menu.
Speed on the templates that matter
Core Web Vitals measured on the real product and collection templates on a phone, not on the homepage on a desktop. Then the unglamorous work: image formats, script audit, app cleanup, lazy loading below the fold.
Revenue reporting
Analytics and Search Console configured so organic revenue is separated from brand and paid, then a monthly read on which collections gained, which lost, and what it was worth in money rather than sessions.
What changes depending on what you are built on
The strategy is the same everywhere. What differs is which problems are baked in and how much of the fix we can reach.
Shopify
Fast to work with, but the forced /collections/ and /products/ URL structure creates duplicate paths, and the app ecosystem quietly wrecks template speed. Most gains come from collection content, theme level template edits and pruning what is installed.
WooCommerce
The most flexible and the most likely to have been left on defaults. Attribute and tag archives generating thin pages, unbounded product URLs, and hosting that struggles under crawl load are the usual three.
Magento and Adobe Commerce
Powerful and prone to enormous crawl waste through layered navigation. The work is mostly architectural: parameter handling, canonical rules across store views, and cache behaviour that keeps templates fast at scale.
BigCommerce and headless
Clean foundations, but rendering is the question. On a headless build we check what a crawler receives rather than what your browser shows, because the two are often not the same page.
Selling in more than one country or currency? That crosses into international SEO, where domain structure and hreflang decide whether your store versions help or cannibalise each other. If you also have physical stores, local SEO runs alongside this rather than instead of it.
How we work through a catalogue
Diagnose before prescribing, fix the system before the pages, and prove it on revenue rather than rankings.
Crawl and index report
A full crawl plus Search Console and log data, showing exactly how many URLs exist, how many deserve to, and where crawl budget is being burned.
You get the full reportStop the waste
Facet rules, parameter handling, canonicals and redirects deployed, so search engines stop spending their time on URLs that will never earn anything.
You get documented rulesTemplate work
Category and product templates rebuilt once and shipped across the whole catalogue, with schema, headings, internal links and image handling corrected at source.
You get developer ticketsCollection rollout
The highest value collections researched and written properly, new collections created for demand you have no page for, and supporting guides published behind them.
You get published pagesExpand and defend
Coverage widened down the tail, seasonal lines planned ahead of demand, and reporting on organic revenue by collection so you can see what the work returned.
You get a monthly revenue readTwo shops, two very different problems
Both figures come from the client's own Search Console. The case studies explain the starting position, what we changed and over what period.
Luxury watch retailer
A high value, low volume catalogue where almost all demand was brand and model specific. The work was structured data, product page depth and building the comparison content that the brand queries were missing. Traffic up 248 percent, 96 new keywords ranking.
Read the watch store case studyFootwear store
The opposite problem: a large catalogue with heavy filtering, huge non brand demand and collection pages doing none of the work. Facet control plus a collection rewrite programme. Traffic up 305 percent, 142 new keywords ranking.
Read the footwear store case studyWhat ecommerce SEO costs
Catalogue size is the main driver, then platform, then how much of the work your developers can take on themselves. A four hundred product Shopify store and a forty thousand SKU Magento build are not the same engagement, and we will not pretend otherwise until we have crawled it.
Scoped after the crawl report. The report itself is free and yours either way.
Larger catalogues usually land above the entry plan, and we will say so before you commit rather than after. New to how any of this works? Start with our plain guide to SEO for business owners.
What moves the price
Catalogue size
How many products, collections and filter combinations there are to control.
Platform
A hosted Shopify theme and a custom Magento build need very different amounts of work.
Developer capacity
If your developers ship our tickets, the retainer covers strategy and content rather than build time.
Things we will not do to your shop
Ecommerce attracts a particular set of shortcuts, because scale makes them cheap to run. These are the ones we refuse.
- Auto generate a description for every SKU and call it unique content
- Spin up doorway collections for city and brand combinations you do not stock
- Mark up review stars for reviews that do not exist on the page
- Leave price or availability in your schema wrong because updating it is fiddly
- Bulk redirect every discontinued product to the homepage and move on
- Install another app to fix a problem your template is causing
- Report a traffic rise as a win when revenue did not follow it
Ecommerce SEO questions shop owners ask
Categories, almost always. They capture the searches people make before they have decided on a product, there are far fewer of them so the work is finishable, and most shops have left them nearly empty. Product pages come next and are handled through the template rather than one at a time.
Not every one. Write properly for the products that carry real search demand and real margin, which is usually a few hundred rather than a few thousand. For the long tail, a consistent template with genuinely distinct specification data is enough. Copying the manufacturer's text across your whole catalogue is the thing to avoid, because every other retailer has the same paragraph.
It depends how long. Temporarily out of stock should stay live with availability marked correctly and a way to be notified, because the page has earned its position. Seasonal lines stay live year round. Permanently discontinued products get a redirect to the closest replacement, or to the parent category if there is no close match. Redirecting them all to the homepage throws away the authority they built.
Shopify ranks perfectly well. Its quirks are known and workable: the duplicate collection and product URL paths, limited control over some robots behaviour, and app bloat slowing the theme. None of those are why a store is not ranking. Thin collection pages and no content strategy usually are.
The scale changes the method. On a standard site you can hand edit every page that matters. On a catalogue you are editing templates, writing rules and deciding what should not exist, and a single bad rule replicates across thousands of URLs overnight. The reporting is different too, because sessions mean very little if the revenue per session is falling.
For some of it, yes. Template, schema and redirect work needs either access or a developer on your side to hand specifications to. Plenty of clients prefer the second, and we write the tickets in enough detail that your developer is not guessing. Content and research work needs nothing but a login.
Crawl and index fixes often show within weeks as pages that were invisible start getting fetched. Collection rewrites typically take two to four months to settle. Seasonal catalogues are the exception, because the honest answer there is that you find out when the season arrives, which is why we plan those months ahead rather than reacting.
You keep everything. The templates stay deployed, the content stays published, the rules are documented in your own account, and the accounts were always yours. There is no contract to exit and nothing of yours sits on our systems.
Find out what search engines are actually doing with your catalogue
Send us your store URL. We will crawl it, compare what exists against what is indexed, and show you where the budget is going and which collections are leaving money on the table. Free, and the report is yours whatever you decide.