Organic revenue overtook paid in eight months
Technical debt was capping a strong catalogue: duplicate collection pages, no internal linking logic, and thin category copy. We fixed the crawl, restructured the taxonomy, and shipped 60 pieces of genuinely useful content.

+214%
organic sessions
#1–3
for 46 commercial terms
52%
of revenue now organic
The challenge
The catalogue and the products were strong; the site fought Google at every turn. Faceted navigation generated around 40,000 crawlable URL permutations, collection pages existed in three near-identical variants, and category copy was a single templated paragraph with the category name swapped in.
Google was spending its crawl budget on filter combinations nobody searched for while genuine commercial pages went weeks between crawls.
What we did
Cut the crawl surface first
Facet URLs were reduced to a canonical allowlist of combinations with real search demand; the rest were made non-indexable and unlinkable. Crawl requests to commercial pages tripled within a month with no content changes at all.
Consolidated duplicate collections
Three variants per collection became one, with 301s and the internal links rewritten to point at the survivor. Link equity that had been split three ways landed on a single URL.
Gave internal linking a rule
Related-product and related-collection blocks were generated from the taxonomy rather than hand-curated, so every new product joins the link graph correctly on publish.
Wrote 60 pieces worth reading
Buying guides and material explainers mapped to real questions from search and from the support inbox. Each one links into the commercial pages it supports, and each was briefed against a specific term rather than a topic cluster spreadsheet.
The outcome
Organic sessions grew 214% over eight months, with 46 commercial terms landing in the top three positions. Organic passed paid to become 52% of total revenue in month seven.
The programme continues on a content-only retainer — the technical work was a one-off fix, as it should be.
Tell us what's stuck.
We'll audit the account or the codebase, show you what we'd change, and only pitch if we think we can move the number.
Typically replies within one business day