Ecommerce SEO agency

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
+305% organic traffic for a footwear store with heavy filtering
+248% organic traffic for a luxury watch retailer
238 new keywords ranking across the two shops
Platforms we work on every week
  • 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.

Category template Fix once 36 shown, the same logic runs across 10,000

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.

100% of a new campaign
  • Category and collection 55%
  • Product detail 30%
  • Supporting content 15%
Category and collection55%
trail running shoes women

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.

Product detail30%
aurora 3 trail shoe size 7

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.

Supporting content15%
how should running shoes fit

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.

Diagnosis

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.

Usually the biggest

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.

Easiest to fix

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.

Silent

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.

Compounds over time

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.

Hurts conversion too

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.

Worth knowing

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.

Before and after

What a category page rewrite actually changes

Drag the handle. Same collection, same products, same URL. The difference is everything around the grid.

  1. 1

    An intro above the grid

    Two sentences that say what the page covers, placed where people actually read.

  2. 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. 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. 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.

  • Duplicate product paths
  • App scripts
  • Collection copy

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.

  • Tag archives
  • Attribute pages
  • Hosting under crawl

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.

  • Layered navigation
  • Store view canonicals
  • Cache

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.

  • Rendered HTML
  • Crawler parity
  • Faceted URLs
Your first 90 days

How we work through a catalogue

Diagnose before prescribing, fix the system before the pages, and prove it on revenue rather than rankings.

W1-2

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 report
W3-4

Stop 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 rules
M2

Template 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 tickets
M3

Collection 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 pages
M4+

Expand 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 read

What 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.

Monthly retainers from $999per month, entry plan

Scoped after the crawl report. The report itself is free and yours either way.

See plan details

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
Spun copy Fake stars Doorway pages

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.

Scroll to Top