WooCommerce Migration Checklist

Describe your move (new host, new domain, or both) and get a step-by-step runbook: order freeze, HPOS, search-replace, webhooks, DNS and QA.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your brief

These form details are sent to our AI provider when you generate. Review the result before publishing.

Check HPOS before you move orders

WooCommerce can store orders either the old way (as posts in wp_posts/wp_postmeta) or in dedicated High-Performance Order Storage tables (wp_wc_orders, wp_wc_order_addresses, wp_wc_order_operational_data, wp_wc_orders_meta). Check which one is active at WooCommerce > Settings > Advanced > Features before migrating. If compatibility mode is on, WooCommerce is actively syncing both table sets, and a migration should wait for that sync to finish rather than copying a database mid-sync.

Changing domains without breaking serialized data

A plain find-and-replace in phpMyAdmin can corrupt PHP's serialized data (used by widgets, some plugin settings and theme options), because it changes string lengths without updating the length prefix stored alongside them. WP-CLI's search-replace handles this correctly:

wp search-replace 'https://old-domain.example' 'https://new-domain.example' --all-tables --dry-run

Run it once with --dry-run to preview, then again without it, adding --skip-columns=guid so you don't rewrite post GUIDs, which are meant to stay stable.

Webhooks point at a fixed URL

WooCommerce's own webhooks, plus anything a payment or shipping app registered, store a fixed delivery URL. A host or domain change breaks every one of them silently: they don't error in your admin, they just stop arriving. Re-create or re-point each one at the new URL, and send a real test event before you consider the migration finished.

Questions people ask

Do I need to worry about HPOS if I'm only changing hosts, not upgrading WooCommerce?

Yes if compatibility mode is on: that means both old and new order tables are being kept in sync, and copying the database mid-sync can leave the new site with mismatched order data. Let the sync finish first.

Why can't I just find-and-replace the domain in phpMyAdmin?

It can corrupt PHP's serialized data (used by widget settings and some plugin options), which stores an exact character count alongside each string. wp search-replace updates that count correctly; a plain SQL replace doesn't.

What commonly gets forgotten in a WooCommerce migration?

Webhooks. They fail silently, with delivery attempts logged only on the sending app's side, not always visibly in WooCommerce, so a payment or fulfillment integration can look fine in admin while quietly not firing.

Should I freeze new orders during the move?

For anything beyond a same-day, low-traffic move, yes: a short freeze or a plan to re-export/re-sync orders placed after your last export avoids losing them in the gap.

I'm moving from a different platform entirely, not WooCommerce to WooCommerce.

This checklist assumes WooCommerce to WooCommerce. For platform changes, start with the Etsy to Shopify CSV converter or the matching CSV tool for your source platform.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com