How to Migrate a WooCommerce Store Without Losing Orders

WordPress

How to Migrate a WooCommerce Store Without Losing Orders

A WooCommerce migration is not the same as moving a static company website. While you are copying files and testing the destination, the live store may continue creating orders, customers, subscriptions, stock changes, refunds, and payment records.

By Xenoy··Updated October 2, 2026
How to Migrate a WooCommerce Store Without Losing Orders

A WooCommerce migration isn't a static site move. While you're copying files and testing the destination, the live store keeps creating orders, customers, subscriptions, stock changes, refunds, and payment records.

That moving database is the risk. The safe plan separates the early test migration from a short final cutover.

Know What Writes to the Store

List every system that touches data:

  • WooCommerce checkout
  • Customer registration and account updates
  • Subscriptions and renewals
  • Inventory integrations
  • Point-of-sale systems
  • Payment and refund webhooks
  • Shipping and fulfilment services
  • CRM or accounting sync

Don't assume importing only the orders table preserves everything. Orders depend on customers, products, metadata, payment tokens, stock records, and extension-specific tables. High-Performance Order Storage (HPOS) also changes where order data lives.

Make the First Migration a Test Copy

Back up the live store. Migrate a full copy to the destination. Use the plugin or host workflow that fits the site's size. Keep public DNS pointing to the old store.

Protect the destination with access control. Prevent it from sending real customer email. Put payment gateways in sandbox mode. Pause outgoing webhooks.

This copy gives you time to fix PHP, plugin, theme, cache, and server problems without holding up customers.

Test the Full Customer Journey

On the destination, check:

  • Product pages, variations, prices, tax, and stock
  • Cart and checkout (blocks or shortcodes)
  • Coupons and shipping calculations
  • Test payments for every gateway
  • Customer registration and password reset
  • Order emails and admin notifications
  • Refund and cancellation workflows
  • Subscription renewals (if applicable)
  • Analytics, feeds, webhooks, and integrations

Compare WooCommerce and WordPress scheduled-action queues. A store can look healthy while background subscription or email jobs silently fail.

Plan the Final Data Freeze

Pick a low-traffic window. Tell the store team exactly when the cutover begins. Stop fulfilment edits and admin order changes.

Disable checkout, or put the old store into maintenance mode. Keep an informational page visible if you can, but customers must not be able to complete an order on the server you're about to retire.

Take a fresh backup immediately after the freeze. That backup is the authoritative final state.

Perform the Final Synchronization

For a straightforward move with no design changes, the safest approach is usually to repeat the full database migration after checkout is disabled. That captures the final orders, customers, and settings as one consistent database.

If the destination was edited independently, don't overwrite or merge databases casually. Use a migration workflow designed for WooCommerce data and test it on staging. WooCommerce's order migration docs recommend considering the relationship and import order of customers, products, reviews, coupons, and orders when using selective import tools.

If the store uses Subscriptions, memberships, bookings, or custom order tables, get a developer to review the cutover plan. These systems have relationships a basic CSV import can't preserve.

Switch Traffic and Verify Payments

Change DNS or run the host's launch process. Confirm SSL. Remove destination access protection. Switch gateways to live credentials. Verify webhook endpoints use the live URL.

If business policy allows it, place one low-value real order. Confirm:

  • The payment goes through
  • WooCommerce records the order
  • Stock adjusts
  • Customer and admin emails fire
  • Fulfilment integration receives the order

Refund or cancel the test order through the normal procedure.

Monitor Both Servers for Days

Keep the old host online but block it from accepting new orders. Watch for:

  • Failed payments and webhook errors
  • New order numbering and statuses
  • Stock sync
  • Scheduled actions
  • Transactional email
  • Error logs and performance

Compare the last order on the old site with the first orders on the new site. Keep both the pre-cutover and final backups until the store completes a full business cycle — at least one full week, ideally a month for subscription stores.

Before You Cancel the Old Host

The best WooCommerce migration isn't the one with the shortest downtime. It's the one that creates one clear source of truth, blocks orders during the final sync, and verifies every system that touches an order after checkout.

Keep the old host live until you're certain. A week of overlap costs almost nothing compared with recovering lost orders.

X

About the author

Xenoy

View profile

Continue reading