WooCommerce to Shopify Migration Checklist
A WooCommerce to Shopify migration checklist in the same 14 steps WooCommerce Importer walks you through, plus the planning before and the follow-up after launch.
Last updated November 1, 2026
Also available in: Deutsch · Nederlands
Moving a real WooCommerce store to Shopify usually takes three to four weeks. The import itself is a few hours of that. The rest goes into deciding what to move, getting Shopify ready to sell and running launch day in the right order.
This checklist follows the 14 steps WooCommerce Importer shows in its sidebar after you connect your store, in the same three phases: Migrate, Before going live and Go live. Before those there’s a short section on what to sort out first. After them, what to watch in the first month.
Work through it in order. Launch day is where order matters most, because changing DNS before the final update or closing the old store before backing it up is hard to undo.
Your migration checklist
The 14 steps below match WooCommerce Importer. Skip steps 2 and 3 if you do not run a demo. Read the instructions further down before launch.
Download the checklist (PDF, 1 page)Migrate
- Connect your WooCommerce store
- Run a demo migration (optional)
- Spot-check the demo (if you ran a demo)
- Run the full migration
- Spot-check the full migration
- Enable daily syncing (optional, unavailable on development stores). Included for 60 days after the first completed full migration, including free-tier, paid and fully discounted migrations, then US$9 per 30 days. Demos do not unlock it and reruns do not restart the period. Manual updates stay free.
Before going live
- Configure your store
- Set DNS TTL low, 24 to 48 hours ahead (optional)
- Remove Shopify’s password protection
Go live
- Back up your old store
- Switch your old store to maintenance mode
- Run an update to catch the latest products and orders
- Point your domain at Shopify
- Verify the live store
Before you start
None of this happens inside the app, and all of it is cheaper to find out now than after your domain points to Shopify.
Hosting renewal
Check when your WooCommerce hosting renews. On monthly billing you can let it run a few weeks past launch. On annual billing, look at the renewal date now. If it falls in the next 60 days, either plan the migration before it or accept paying for both platforms for a while.
Don’t cancel hosting the day you go live. Keep WooCommerce running for 30 to 60 days so you can look up an old order or check a page you forgot to move.
Email on your domain
Shopify does not host email. If your business email comes bundled with your web hosting (common with cPanel hosts like Bluehost, SiteGround and GoDaddy), move it to a dedicated email host before launch day. Plan a week for it.
If your email already runs on Google Workspace, Microsoft 365, Fastmail or another dedicated provider, it keeps working through the move. You just have to leave its DNS records alone when you point your domain at Shopify.
Do you have a Shopify store yet?
If you already have one, skip this.
If not, timing matters. Shopify’s introductory offer is a 3-day free trial followed by three months at $1/month, so starting early costs very little and gives you a real store to run test migrations against.
- Migrating within the next 90 days: start your Shopify trial here. (Disclosure: this is an affiliate link. We earn a small commission at no cost to you.)
- Migrating later than that: don’t open a Shopify account yet, because the $1 months will run out before you’re ready. Get in touch and we’ll set you up with a free Shopify client transfer store, where you can configure everything and test at your own pace without paying for a plan until you launch.
When the trial ends, start with the Basic plan unless you need B2B pricing, wholesale or very high order volumes. Mention those when you get in touch and we’ll help you choose. Taking payments, removing the store password and launching all need a store on a paid plan.
List your plugins
Write down every active plugin that handles business logic and decide what replaces it on Shopify. A missing equivalent you discover on launch morning is a much bigger problem than one you discover now.
Payment gateways like Stripe, PayPal, Mollie and Klarna mostly have Shopify equivalents, but you sign up or reconnect from scratch.
Shipping calculators and table-rate plugins get replaced by Shopify’s own carrier integrations or a shipping app.
Subscriptions are the hardest category. Billing tokens from WooCommerce Subscriptions don’t transfer between platforms. You’ll need a Shopify subscription app like Recharge, Loop or Bold, and customers will likely have to re-enter their payment details.
Reviews live in plugin-specific data. WooCommerce Importer generates ready-to-import files for Judge.me and Loox, so pick your Shopify reviews app first and check which formats it accepts.
Email marketing lists move with a standard export. Flows and automations need rebuilding. If you’re on Klaviyo, its Shopify connector is noticeably better than its WooCommerce one.
Accounting tools (Xero, QuickBooks, MYOB) and tax services (Avalara, TaxJar) need a fresh connection to Shopify.
SEO plugins like Yoast and Rank Math have no direct replacement built into Shopify. You get title and meta description fields per product and page but no snippet preview or content analysis. If you want the Yoast experience back, Yoast SEO for Shopify is the official app.
Write down your tracking IDs
Note your Google Search Console property and how it’s verified, your GA4 Measurement ID, your Meta Pixel, TikTok Pixel and Google Ads tag IDs, and any Google Merchant Center feeds. You’ll reconnect all of them to Shopify before launch.
Decide what to move
Mark what your store actually uses:
- products with their variants, images, SKUs, inventory and custom fields
- downloadable product files
- categories
- customers
- orders and refunds
- coupons
- WordPress pages and blog posts
- reviews
Orders are the one merchants most often get wrong. Migrate them if you need to refund old orders inside Shopify, if customers should see their order history when they log in, or if your accounting or lifetime-value reporting depends on it. If you only need to look old orders up now and then, a WooCommerce export does that and keeps you on a lower order tier.
Plan your redirects
For any store with organic traffic, set up 301 redirects. WooCommerce and Shopify use different URL structures, so every product, category, page and post gets a new address:
/product/widget-probecomes/products/widget-pro/product-category/gadgetsbecomes/collections/gadgets/about-usbecomes/pages/about-us/2024/03/12/my-postbecomes/blogs/news/my-post
Without redirects, Google sees the old URLs as broken and rankings drop until it works out where things went.
With the Create URL redirects option enabled, WooCommerce Importer adds product and category redirects during the migration. Redirects for the WordPress pages and posts it imports are created either way. How redirects work during a migration has the detail.
If you’re migrating by hand with CSV files, you’ll build the redirect map yourself. Crawl your live store with Screaming Frog SEO Spider (free up to 500 URLs), map each old path to its new one in a spreadsheet and import the result into Shopify’s URL redirects. Budget several hours for a store with a few thousand URLs.
Phase 1: Migrate
Steps 1 to 6 get your data into Shopify. For a store with more than a few thousand products, do this weeks before launch rather than on the day. That leaves time to inspect everything without pressure, fix what you find and train staff on the new admin. On launch day you only run a short update (step 12).
1. Connect your WooCommerce store
Connect the address of your existing WooCommerce store, not your Shopify address, and let the scan finish.
WooCommerce Importer needs a Consumer key and Consumer secret. In WordPress, go to WooCommerce → Settings → Advanced → REST API and create a key for an admin user. Read permission is enough, because nothing is ever written back to WooCommerce. The secret is shown only once, so copy both values straight into the app and treat them like passwords. How to create WooCommerce API keys has the full walkthrough with screenshots.
You can also watch the API-key setup video before connecting your store.
Open WooCommerce Importer or PrestaShop Importer and choose to migrate yourself, get Expert help or use Full migration + design. Nothing is imported until you start.
Connect WooCommerce with its URL, Consumer key and Consumer secret. PrestaShop uses its URL and one Webservice key.
Follow the guided checklist to choose your data and description style. For multilingual PrestaShop stores, choose the main language too. You can choose everything, products and categories, customers and orders or the advanced settings for your own selection.
Choose full descriptions, short descriptions or both, using the real-product preview. The other description is saved in the extra field custom.short_description or custom.description.
Then try the free demo with up to 100 products, 50 customers and 50 orders, or start the full migration.
Choosing Everything enables product URL redirects and, in WooCommerce Importer, extra fields. WordPress blog posts are offered when found in WooCommerce. PrestaShop CMS pages are offered when found in PrestaShop. Review these choices in the advanced settings before starting if you need a different scope.
Products and categories migrate free on development stores. Customers and orders unlock once your Shopify store is on a paid plan, and your setup is kept. Expert and Full are visible but cannot be purchased on development stores. Partners can contact us for help.
Review existing Shopify data before starting
If Shopify already contains data and no cleanup has completed, choose whether to start clean, overwrite existing products or keep everything and add alongside. Starting clean permanently deletes the selected existing Shopify products, collections, orders and/or customers when you start a migration, including a demo. This can include data that was not imported by the app. Saving the choice deletes nothing and you can change it until you start. Review the selected data and acknowledge the deletion before proceeding. Replacing or deleting products can leave existing order line items unlinked from those products.
If a cleanup has already completed, the guided setup no longer shows Your Shopify data. For example, after cleanup during a test migration, moving to the full migration does not ask this question again or delete data a second time. You can also delete Shopify data separately before migrating. Read the Clean store steps and warnings.
2. Run a demo migration (optional)
The app offers a free demo with the settings you chose. It imports your first 100 products, 50 customers and 50 orders, so you can see your own data in Shopify before running the full migration. It’s optional. If your settings are straightforward or you’ve migrated before, go straight to step 4. The demo steps then drop out of the checklist.
3. Spot-check the demo
Open the imported sample in Shopify and compare it with the same items in WooCommerce. Look at variants, prices, images, descriptions and custom fields. If something is off, change your settings and run the demo again. When it looks right, confirm with “I’ve checked the demo - continue”.
4. Run the full migration
Start the full migration with your chosen settings and wait for it to finish. One WooCommerce migration with 556 products and 2,370 orders took 57 minutes. Yours can take much longer or much less. The number of variants per product matters, and so does how fast your WooCommerce host answers.
5. Spot-check the full migration
Don’t trust the success count alone. Shopify rejects individual records under its own validation rules, and not every rejection shows up in the job log. Choose History in the app menu and open the run to review its summary and recorded warnings or errors, then check 10 to 20 random products in Shopify:
- variants with the right prices and SKUs
- inventory that matches WooCommerce
- images present and in the right order
- descriptions formatted correctly
- custom fields, tags and product types
- SEO titles and meta descriptions
One or two broken products are quicker to fix in Shopify. A problem across many products is better fixed at the source or in your settings, followed by another run. When you’re happy, confirm with “I’ve checked the full migration - continue”.
6. Enable daily syncing (optional)
If launch is still weeks away, syncing keeps Shopify up to date in the meantime. You can skip it and rely on the final update in step 12.
Choose categories, products, customers and orders for syncing. Inventory and price updates have separate options, and updating existing products is optional. Choose daily, every 12 hours, every 6 hours, every 3 hours or hourly.
“Also update existing products” replaces product data in Shopify with what’s in WooCommerce, including inventory and prices. Leave it off if you’ve been editing products in Shopify and want to keep those edits. To update only stock or only prices, use the separate “Update inventory” and “Update prices” options. With the full overwrite on, both are included and can’t be set separately.
Automatic syncs are included for 60 days from your first completed full migration, including free-tier, paid and fully discounted migrations. Demo migrations do not unlock automatic sync and reruns do not restart the period. Automatic sync is unavailable on development stores. We send a reminder on day 53, seven days before the free period ends. After the free period, you can continue automatic syncing in the app for US$9 per 30 days. Existing longer or unlimited free-sync arrangements remain in place. Manual updates stay free.
Phase 2: Before going live
Your data is in Shopify. Steps 7 to 9 get the store ready to take real orders. A migration moves data, not settings, so none of this comes across from WooCommerce.
7. Configure your store
The app splits this step into eight checks. Do them in this order.
- Business details: business name, address, contact details, currency and time zone, in Shopify’s General settings.
- Payments: activate your payment provider, finish its verification and choose the payment methods you accept. Where Shopify Payments is available, it avoids the extra transaction fee Shopify charges on third-party providers. Most customers also expect PayPal.
- Taxes: tax registrations, whether prices include tax and any exemptions, in Taxes and duties. Match how customers saw prices on WooCommerce. EU stores add their VAT registration here, US stores each state where they collect.
- Shipping: locations, destinations and rates in Shipping and delivery. Add profiles for oversized or fragile products if you need them.
- Markets: the countries you sell to, with their currencies and shipping options.
- Review customer emails: go through the templates in Notifications, update the wording and branding and send yourself a test. Check that the abandoned checkout email is on. It recovers real revenue.
- Customize your checkout: review the checkout settings and use the editor to match your branding.
- Test order: place a test order through your storefront that exercises payment, shipping, taxes and emails, using Shopify’s test mode. Turn test mode off afterward.
Test mode doesn’t charge a real card, which is why step 14 includes one real order after launch.
While you’re in the admin, there’s more the app doesn’t list but your customers will notice.
Your theme comes first. A migration moves data, not design. Pick a theme (Horizon is free and a good start), set up the homepage and test a product page, the cart and checkout on a phone. If your WooCommerce theme was heavily customized, this is the task merchants most often hire a Shopify Partner for. Rebuild your main menu too. WooCommerce Importer can generate a basic menu from your categories as a starting point.
Then your policies and pages: privacy policy, refund policy, terms of service, shipping policy and a contact page. Shopify can generate templates for the legal pages under Policies. Edit those rather than copying the WooCommerce versions, which describe the wrong checkout.
And your tracking. Connect GA4 and Google Ads through Shopify’s Google & YouTube app and Meta Pixel through the Facebook & Instagram app. Verify your domain in Search Console with the DNS method, which survives the domain switch. Done now, you don’t lose the first week of launch data.
8. Set DNS TTL low, 24 to 48 hours ahead
Sign in wherever your domain’s DNS is managed. That’s your registrar or a separate DNS provider. If it lets you, lower the TTL on the website records for your root domain and www to around 300 seconds, 24 to 48 hours before launch.
TTL is how long resolvers cache a record. With a TTL of several hours or a full day, some visitors keep seeing WooCommerce long after you switch. At 300 seconds the switch reaches them within minutes. Resolvers that already cached the record keep it until the old TTL runs out, which is why you do this a day or two ahead.
Leave the records pointing where they point now, and don’t touch email records. If your provider has a fixed TTL, it’s already low or the provider manages it automatically, skip this step.
9. Remove Shopify’s password protection
When you’re ready to launch, open Online Store → Preferences, turn off password protection and save. Shopify may ask you to choose a paid plan or finish your business details first. Remove any “coming soon” banners from the theme as well.
Then open your storefront in a private browser window, without a preview link, and confirm it loads without asking for a password.
Phase 3: Go live
Steps 10 to 14 run on launch day, in this order: back up, close the old checkout, run the final update, switch the domain, verify. Block out half a day and avoid Friday afternoons. If something breaks at 4pm on a Friday, you’re fixing it on Saturday.
10. Back up your old store
Take a fresh full backup with your host’s tools. That means the database and the files, including uploaded images in wp-content/uploads. A product CSV is not a backup. Keep a copy somewhere other than the live server, confirm the backup actually finished and make sure you know how to restore it.
If more orders come in before step 11, take another backup once the store is in maintenance mode.
11. Switch your old store to maintenance mode
Use your host’s maintenance feature or a WordPress maintenance plugin that stops checkout. A notice on its own doesn’t stop orders, and any order placed now ends up in WooCommerce while you’re moving to Shopify.
Open the store in a private browser window and confirm customers can’t place an order.
WooCommerce Importer still needs to read your store for step 12, and some maintenance plugins and host features block that too. If yours does, allow the Server IP shown on the app’s Connect page through, or ask your host to. Keep the old hosting running until Shopify is verified.
12. Run an update to catch the latest products and orders
With the old store in maintenance mode and still readable by the app, choose what to bring over and press “Start my update”. You can pick products, categories, customers and orders, plus the same “Also update existing products”, “Update inventory” and “Update prices” options as in step 6.
Starting this update turns off automated syncing, including inventory and price updates. Nothing changes in WooCommerce from here on, so there’s nothing left to sync.
Wait for it to finish, review the results and check that your most recent products and orders are in Shopify. Then mark the step complete and continue to the domain. If you already ran an update, you can run another or just continue. Manual updates are always free.
13. Point your domain at Shopify
In Shopify, go to Domains, choose “Connect existing domain” and follow the instructions for your provider. At your DNS provider, update the website records to the values Shopify shows you. Copy them from Shopify rather than from an older guide.
Keep every email record as it is, including MX and any verification records. Changing them is how a domain switch takes email down.
Back in Shopify, verify the connection, wait until both the domain and its secure connection show as ready and choose your primary domain. Check both the root domain and www. For a short while, caches can send some visitors to Shopify and others to the old store.
14. Verify the live store
Check the public domain, not a theme preview.
Open it in private windows on a desktop and a phone and confirm Shopify loads securely, without a password or maintenance page. Browse products, images, variants, prices, collections, menus and search. Take 5 to 10 important old WooCommerce URLs and confirm the redirects land on the right pages.
Place a real order through checkout. Confirm it appears in Shopify with the right payment status, that the confirmation email arrives and that shipping and tax are calculated correctly for the markets you serve. Refund it afterward.
Check that your contact details and policies are visible. Keep watching incoming orders, and keep the backup from step 10 until you’re satisfied nothing is missing.
The first month after launch
The domain switch isn’t the end. The next few weeks are when problems show up, and when they’re cheapest to fix.
Every day in the first week
Check Search Console for crawl errors and 404s. A jump in 404s means a URL was missed in your redirects. Look at organic traffic in GA4 too. A dip of 10 to 20% in the first two weeks is normal while Google recrawls. A drop of 30% or more that doesn’t recover points at redirects or crawlability.
Watch order volume and your support inbox. Customers report what analytics can’t, like a broken image on one product or a login that fails.
Within the first week
Set up daily backups on Shopify. Backup & Restore by AppsByB is free and includes image backup.
Submit a fresh sitemap in Search Console. Switch Google Merchant Center to Shopify as the feed source if you run Shopping ads. Update the website link in your Google Business Profile, your social profiles and any marketplace listings that link back to your store.
Within the first month
Cancel WooCommerce plugins and services you no longer use. Many of them bill monthly.
Add one-off redirects in Shopify for any old URLs that still show up as 404s in Search Console.
Compare conversion rate and revenue with the same period before the move. If they’ve dropped, find out what changed before putting it down to the season.
Once you’re sure nothing was missed, usually after 30 to 60 days, cancel the WooCommerce hosting. Check first that your backup from step 10 is intact and stored somewhere you control.
If printed materials like packaging inserts or business cards point at WooCommerce-specific URLs such as /shop, update them when you next reprint. Your redirects cover most of them until then.
You can try the demo on your own data before deciding anything: install WooCommerce Importer free on Shopify. If you’d rather hand the whole move over, see our done-for-you WooCommerce to Shopify migration, or contact AppsByB for a project review if your store has integrations beyond Shopify.