Scale Sales
Field Notes

Case study · 20 August 2026 · 6 min read

We moved 3,563 products off WordPress without losing a single Google ranking

An Italian B2B company selling professional cleaning machines. Ten years of search ranking, a solid reputation, and a website that had become impossible to touch.

The problem was never the technology

WordPress wasn't the issue by itself. The issue was a decade of page builders stacked on top of each other, an external supplier controlling both hosting and content, and every small change — a price, a new product, a typo — going through a ticket. The blog cost roughly €1,500 a year and produced one article a month.

None of that is unusual. Most companies in this position never move, because moving a live catalogue risks the one thing they can't afford to lose: the search visibility built up over years.

The obstacle: the old site lied about its own size

The first plan was built on the sitemap, which listed 126 products. That number was wrong. Pulling the catalogue through the store API instead returned 309 published items — the sitemap had simply never been complete.

Had we trusted it, we'd have migrated a third of the catalogue and discovered the gap after the switch-over, with the old site already gone. The rule we took from it: never size a migration from the file the old system says is true. Count from the database.

The sitemap said 126. The database said 309. Sizing the migration from the wrong file would have left a third of the catalogue behind.
The sitemap said 126. The database said 309. Sizing the migration from the wrong file would have left a third of the catalogue behind.

The obstacle: URLs nobody could type

Some article addresses contained emoji, URL-encoded into unreadable strings. They were live, indexed, and had inbound links. Cleaning them up meant breaking them; keeping them meant carrying the mess forever.

We did both: new clean addresses for humans and search engines, and a permanent redirect from every broken legacy URL to its replacement — so the ranking transferred instead of evaporating.

Why the migration itself carried zero risk

We never touched the live domain until the new site was demonstrably better. The whole rebuild happened on a temporary address, running alongside the site still serving real customers. That single decision removed the reason most companies never migrate: the fear of a bad week where nothing works and nobody can find them.

  • 3,563 product pages and 63 articles loaded — by us, not handed over as an empty template
  • Search-engine metadata reproduced record by record, so the existing ranking had something to land on
  • A redirect map from every old address to its new one, including the broken legacy ones
  • An admin panel the owner actually opens, instead of a ticket queue to a supplier

The part everyone skips: who fills the catalogue

Most agencies hand over a working template and a login. Filling in a few thousand products — descriptions, images, categories, pricing — becomes the client's job, and it's the reason so many rebuilds stall at 20% populated for months.

We don't deliver a shell. We deliver the catalogue already inside it.

That's not a nicety. It's the difference between a project that ships and one that quietly dies in a shared drive.

Old and new running side by side. The live site never went down while its replacement was being proven.
Old and new running side by side. The live site never went down while its replacement was being proven.

What replaced the €1,500-a-year blog

The old blog was outsourced at roughly €1,500 a year for a single article a month. The new site drafts articles from a topic queue and runs each one through a quality check before publishing. If the model fails to answer, nothing goes out and the topic returns to the queue — a gap is better than a bad article.

The recurring cost disappeared and the output went up, not down.