M's Works

Parliamo su

WhatsApp
Case study2026

Updating an online shop without stopping sales

A WordPress shop that had fallen behind, brought up to date while it kept selling. Every step tested on a copy first, no orders lost.

Lo Castro's homepage: woodworking and the headline «Designing a future in wood since 1964»
Lo Castro's homepage on a phone
Client
Lo Castro
Sector
Timber structures and woodworking · Palermo
Services
Modernization & Legacy

The context

Lo Castro designs and builds timber structures and roofing in Palermo, and has been selling online for years through a WordPress and WooCommerce shop that had fallen behind on updates. They didn't want a new site: they wanted the one they had brought up to date without closing the shop or losing a single order. The update was carried out by M's Works.

The problem

  1. The shop's platform had fallen behind on updates.

  2. The shop couldn't close for maintenance: it sells every day.

  3. No order could be lost during the switch.

  4. For shoppers the site had to stay exactly as it was.

Every choice has a constraint behind it

The constraint

A shop that has been selling for years has a catalogue, customers and habits that work. The only problem was that the platform had fallen behind.

The choice

Update the existing platform instead of rewriting it, leaving its look and addresses as they are.

Why

Rebuilding the shop was the obvious route, and it would have turned an update problem into a new project: catalogue and orders to move, a new admin to learn, months before getting back to where they were. Updating solves the problem that existed without creating new ones.

The constraint

Any update can break something, and on a shop that sells, the first to find an error is a customer at checkout.

The choice

An identical but isolated test copy, where every step was rehearsed before touching the real site. The copy sends no real emails and takes no payments.

Why

Testing straight on the real site means letting the shop's customers test the work. A copy that isn't isolated is almost worse: a test order can send a real confirmation to a real customer.

The constraint

Even after every test, the real site is never one hundred percent identical to the copy.

The choice

Work done in a window agreed with the client, a backup right before and a rollback plan already rehearsed.

Why

A rollback plan that was never rehearsed is a hope, not a plan: you find out when you need it. Rehearsed in advance, it turns the worst surprise into a few minutes' wait instead of a shop that's down.

What we built

Preliminary security audit

The state of the site reviewed before touching anything, to know what to update and in what order.

Isolated test copy

The same as the real shop, but with no real emails or payments: every step was rehearsed there.

Platform update

Platform and components brought to their current versions, looking the same as before.

Release in an agreed window

A backup right before and a rehearsed rollback, at a time chosen with the client.

Acceptance tests and 48 hours of monitoring

After the release the shop was watched continuously for two days.

The outcome

No orders lost during the work

The shop never stopped selling

Released only after full acceptance testing

Each phase started with the client's written go-ahead, after seeing what would change

Nothing changed for shoppers: same site, same address

On desktop, pages load in about half the time they used to

Technologies

WordPressWooCommerce

Got a similar project?

Tell us where you're starting from. We'll reply with a clear proposal and realistic timelines, no commitment.

“If opportunity doesn't knock, build a door.”

Milton Berle