· hutor.tech
WooCommerce migration checklist
Moving a WooCommerce store — to another host, another domain or from another platform — is a data migration with a deadline and real money on the other side. The order of operations matters more than the tooling.
Freeze and inventory first. Write down what the store actually consists of: products with variations and attributes, categories, customers, orders with their statuses, coupons, tax and shipping rules, payment gateway configuration, and the plugins that add fields to any of those. The plugin-specific data is what migrations lose, because it lives in meta tables that a generic export does not know about.
Take a full backup and restore it somewhere else before you start. A backup that has never been restored is a hypothesis, and this is a bad moment to test it.
Migrate in this order, checking counts after each step:
— media library, so product images have somewhere to point;
— products, variations and categories;
— customers, keeping the user ids stable so orders still match their owners;
— orders and their line items;
— coupons, tax rules and shipping zones.
Then verify with numbers, not with a glance: the number of products, of published products, of orders per status, of customers, the sum of order totals for the last month. If any figure differs from the source store, stop and find out why before going further.
Do a full test purchase on the new store while it is still hidden. Payment in test mode, then a real payment of a small amount, the confirmation email, the invoice, the stock decrement, the order status change, the refund. Payment gateways are the most common thing to be forgotten in staging and to fail on launch day, because keys, webhook URLs and callback domains all change with the domain.
Plan the URLs before the switch. Product and category addresses change more often than anyone expects, and a store that loses its search rankings loses more money than the migration cost. Export the old URL list, map it to the new one, and put 301 redirects in place at the moment of the switch — not a week later.
On launch day: put the old store in maintenance mode, migrate the orders that arrived since the last sync, switch the DNS, watch the error log and the payment provider dashboard for an hour, and keep the old store running untouched for a fortnight. It costs almost nothing and it is the only real rollback you have.