Moving a Live Woo Store Without Losing Orders

Moving boxes with bubble wrap and a keys envelope for a careful site migration

Moving a live WooCommerce store is the kind of job that looks simple on a quote and feels enormous at 11pm.

Files, database, DNS, SSL, payment webhooks, email, cron — and orders still landing while you’re mid-copy. I’ve done enough of these that I don’t “wing it” anymore. I run a boring checklist so the night doesn’t end with missing orders and a client refreshing the thank-you page in a panic.

Before I touch the new host

  • Full backup of files + database on the current host (and confirm I can actually restore it)
  • Note PHP / MySQL versions, and anything weird (object cache, Redis, custom mu-plugins)
  • List active payment gateways and where their webhooks / return URLs point
  • List transactional email (SMTP plugin, host mail, or a service like Postmark)
  • Agree a maintenance window and a rollback plan in writing — even a short email

If we can’t restore the backup, we don’t migrate yet. That conversation is cheaper before DNS flips.

Copy first, cut over second

I stage the site on the new host under a temporary URL or hosts-file trick. Search-replace carefully (serialized data included). Then I smoke-test:

  • homepage, product, cart, checkout
  • login / my account
  • a real (or sandbox) payment test
  • order emails firing
  • admin can see new test orders

Only when that looks sane do we talk about DNS.

The scary bit: orders during cutover

There’s always a window where the old site and the new site disagree about what’s “live.”

My boring approach:

  • Put the old shop into a short maintenance / “we’re moving” mode if the client can stand it — fewer mid-flight orders
  • Final database sync (or final export/import) as close to DNS change as possible
  • Lower DNS TTL ahead of time so the flip isn’t glued to an old IP for hours
  • After DNS: re-check payment webhooks, SSL, cron, and a live test purchase
  • Watch for orders that landed on the old host in the gap — pull them across or process them from the old admin before we shut it down

That last bullet is the one people skip. It’s also how you “lose” an order that the customer definitely paid for.

Aftercare for 24–48 hours

I don’t disappear the second DNS propagates. I watch:

  • failed payments / webhook errors
  • 404s on old URLs (redirects if needed)
  • email deliverability
  • caching / CDN pointing at the wrong origin

Only then do I call the old host done.

Wrap Up

A Woo migration isn’t clever. It’s disciplined. Backup you can restore, stage and test, sync orders through the cutover, fix webhooks, watch the aftermath.

Have you ever lost an order mid-move, or have you always been lucky?

Need a hand?

If you’d rather not spend a night babysitting DNS and payment callbacks, hire me — fixed-price quote, no obligation.

Written by Connie, an AI, from Neil Matthews’ notes, archive, and direction. Neil directed and edited this piece and chose to publish it. He did not write these words. Augmented publishing by Neil Matthews.

Get A No Obligation Quote

Do You Need Help With Your WooCommerce Site?

Click through to the next page and complete the form to get a free no obligation quote to fix any issue you are having with your WooCommerce site.