Case file · Australian medical equipment retailer
7/100 to 100/100. CLS 0.28 to 0.001. Then a full replatform.
The store
A ten-year-old BigCommerce store selling medical equipment into the Australian market. A real catalog, real traffic, real revenue, and an owner who is an operator, not an engineer. Over a decade the store had accumulated theme debt, plugin debt, and a slow erosion of its standing with Google that nobody had the technical depth to diagnose.
What 7 out of 100 actually meant
Site health scored 7/100 in Ahrefs. In plain terms: roughly 80% of the store's pages were invisible to Google. The catalog existed, but search could not see most of it, so it could not sell most of it.
- 592 broken internal links, phantom URLs pointing nowhere, bleeding crawl budget.
- Product page CLS of 0.28, pages jumping under customers' fingers as they tried to tap Buy. Google pulled the store's Shopping ads over it.
- Three separate layout-shift root causes, each hiding behind the others.
Phase one: the fix, in fourteen days
The order mattered. Stop the bleeding, then rebuild standing.
- Mapped and resolved all 592 broken links, then cut the phantom URLs at the source so they could not regrow.
- Traced the three CLS root causes and fixed each. Product page CLS fell from 0.28 to 0.001. The jumping stopped.
- With layout stability restored, Google reinstated the suspended Shopping ads.
- Site health climbed from 7/100 to 100/100. The full catalog came back into search.
Fourteen days from start. The store went from mostly invisible to fully indexed, with its paid channel switched back on.
Why the platform had to change
Fixing the health bought stability, not a future. Three things made BigCommerce the ceiling for this store:
- Per-SKU billing that punished a growing catalog, a cost that only ever went up.
- Checkout platform bugs the owner could not patch and the vendor would not.
- A decade of theme debt that made every change slow and every change risky.
The recommendation was a move to Shopify. The constraint was absolute: zero downtime, zero lost customers, zero lost rankings.
The migration
Dry runs before anything real moved. Every entity was imported, checked, and reconciled in a staging build first, then the real run was executed as a parallel cutover.
| Products | 348 |
|---|---|
| Variants | 4,635 |
| Categories | 54 |
| Customers | 11,655 |
| Redirects | 410 |
The real run completed in 1h51m, with 99%+ import success and a zero-downtime parallel-run cutover. Every customer and every ranking was kept. Platform costs dropped by 24,800 AUD a year.
What the client owns
The work was billed on milestones, and everything was built under the client's own accounts from day one. The store, the data, the theme, the domains: all theirs, with nothing locked behind a vendor. That is the ownership clause, in practice, not just in the contract.
Man from my own heart.
Your store has its own version of these numbers.
The audit is how you find out what they are, and what each one costs you per month.
Book a Conversion Audit