Skip to content
Can Elmas

Shopify · 8 min read

WooCommerce to Shopify Migration Checklist: Keep Your Sales and SEO

TL;DR

Plan a WooCommerce to Shopify migration around what doesn't transfer cleanly: customer passwords, plugin logic, subscription payment tokens and your URLs. Inventory every plugin and URL first, import products, customers and orders with a tested tool, 301-redirect each old URL to its Shopify equivalent, rebuild tracking before launch, then monitor sales and search for 30 days.

· Published · Updated

Leaving WooCommerce breaks three things: your URLs, your plugins and anything tied to stored credentials, like customer passwords and subscription payment tokens. Products, customers and orders move with the right import tool. The real work is rebuilding plugin logic, mapping every old URL to Shopify’s fixed structure and keeping tracking continuous, so budget more time for redirects and QA than for the import itself.

Is Shopify the right move?

Shopify trades flexibility for less maintenance. Hosting, security patches, core updates and checkout become Shopify’s problem; in return, you work inside its data model, URL structure and app ecosystem.

SignalPoints to ShopifyPoints to staying
MaintenancePlugin updates break things and you pay a developer to keep the site upYour stack is stable and rarely touched
CheckoutYou want a fast hosted checkout with Shop PayYour checkout depends on custom fields and logic
CatalogProducts fit three options or fewerProducts configured from many attributes and pricing rules
ContentThe blog supports the storeThe site is a content business with a shop attached

Two cost checks: a payment provider other than Shopify Payments adds a Shopify transaction fee, and apps turn plugin licenses into monthly subscriptions. If B2B pricing or checkout customization is on your list, read Shopify vs Shopify Plus before picking a plan.

Planning the migration

Inventory everything before importing anything. Most surprises come from a plugin nobody remembered was doing a job.

  • List every active plugin and what it does for customers, staff and data (plugins that write order meta, send emails or sync to an ERP are easy to miss)
  • List every integration: ERP, 3PL, accounting, email, reviews, product feeds, marketplaces
  • Crawl the live store and export every URL: products, categories, tags, pages, posts and linked files
  • Record a weekly baseline: sessions, conversion rate, revenue per session, organic clicks by page
  • Pick a launch window outside peak season, early in the week, with a developer available for 48 hours after
  • Set a catalog freeze from the final import to launch, or plan a delta import

As a typical range, a store with a few hundred products and standard plugins takes six to ten weeks, including a new theme. Subscriptions and multiple languages add time. Generic relaunch steps such as benchmarks and staging crawls are in the website redesign SEO checklist; this guide covers what’s specific to leaving WooCommerce.

Migrating products, customers and orders

Use Shopify’s Store Importer for simple stores, or a bulk import app such as Matrixify when you need control over custom fields, orders and metafields. Either way, test-import to a development store first and check sample records field by field.

DataMoves?What to plan for
Products, variants, imagesYesMax three options per product; other attributes become metafields
CategoriesAs collectionsCollections are flat; hierarchy lives in navigation, not URLs
Custom fields (ACF and similar)Yes, as metafieldsCreate metafield definitions before import
Customers and addressesYesCarry email marketing consent explicitly
Customer passwordsNoPasswordless login or account invites
Historical ordersYes, with an appMake sure the import triggers no emails or inventory changes
ReviewsVia review app importMatch on SKU or handle
Active subscriptionsDepends on payment tokensConfirm with gateway and subscription app
Gift cards and store creditDepends on plan and toolSettle the approach before launch

Products and variants

Keep each WooCommerce slug as the Shopify handle; that one decision makes your redirect map predictable. Carry over Yoast or Rank Math titles and descriptions, then check SKUs, weights (shipping rates depend on them), sale pricing (the regular price goes in compare-at price) and inventory by location.

Customers and orders

Import marketing consent as its own field; marking every imported customer as subscribed creates compliance and deliverability problems. For orders, run the test import with notifications off, then confirm nothing reached customers, inventory counts or your accounting integration. Shopify starts its own order numbering, so add an order prefix to help support tell new orders from imported ones.

Rebuilding plugin functionality with apps and custom code

For each plugin, pick one path: native Shopify feature, app, custom code or drop it. Native first, app second, custom last. Every app adds a monthly fee and often storefront scripts, so drop anything nobody would miss.

WooCommerce plugin typeShopify replacementWatch for
Yoast or Rank MathNative SEO fields, auto-generated sitemap, editable robots.txt.liquidStructured data now comes from your theme
WPML or PolylangShopify Markets with Translate & Adapt or a translation appLanguages move to subfolders such as /fr/
Product add-onsOptions app or line item propertiesAdd-ons that change price need app support
Table rate shippingShipping profiles and rate conditionsComplex rules may need an app
Wholesale pricingNative B2B (Plus only) or a wholesale appPrice lists and payment terms
Custom checkout fieldsCart attributes or checkout extensionsMost in-checkout changes need Plus

Subscriptions and reviews

Active subscribers are the riskiest data in the migration. They move without re-entering card details only if your current gateway can transfer payment tokens to the processor behind your new subscription app. Get that answer from both sides before setting a launch date, and plan a card-update email for anyone who can’t be migrated; expect some of them not to come back.

Reviews are easier: most review apps import a WooCommerce export. Afterward, compare review counts on your top 20 products with the old site.

Shopify’s URL structure and redirects

Shopify fixes URLs by resource type. You can’t remove the /products/ or /collections/ prefix or nest categories, so nearly every indexed URL changes.

Page typeTypical WooCommerce URLShopify URL
Product/product/blue-mug//products/blue-mug
Category/product-category/kitchen/mugs//collections/mugs
Shop page/shop//collections/all
Page/about//pages/about
Blog post/mug-care-guide//blogs/news/mug-care-guide
Account/my-account//account

WooCommerce permalinks are configurable, so check your actual patterns in the crawl. Then build the map:

  1. Generate the obvious redirects in a spreadsheet. With handles matching slugs, most product and category rows follow a pattern.
  2. Hand-map the rest. Discontinued products go to the closest collection, merged categories to the surviving collection, never everything to the homepage.
  3. Cover variants. WooCommerce URLs usually end in a slash and Shopify’s don’t; test both forms. Old variation URLs with attribute parameters usually just need the product redirect.
  4. Import by CSV. Shopify’s native redirects are exact path matches with no wildcards or regex. Pattern rules need an app.
  5. Know the 404 rule. A Shopify redirect only fires when the old path doesn’t resolve to a live page, so you can’t redirect a URL Shopify still serves.

Also check feeds, date archives and files under /wp-content/uploads/ that still earn links.

Tracking and analytics continuity

Keep the same GA4 property, Meta pixel and event names so before-and-after comparisons hold.

  • Checkout tracking works differently. Shopify doesn’t let you load arbitrary scripts in checkout, so checkout and purchase events come through Customer events: app pixels (Google & YouTube, Facebook & Instagram) or custom pixels. A GTM container in the theme won’t see checkout steps.
  • Avoid double counting. Pick one source for each purchase event and remove duplicates.
  • Expect feed IDs to change. Shopify’s sales channels usually generate new product IDs, which resets item-level history in Shopping campaigns and catalog ads. If that history matters, use a feed setup that keeps your old IDs.
  • Switch Klaviyo carefully. Re-point flows triggered by WooCommerce metrics to Shopify metrics, and pause welcome flows during the customer import so existing buyers don’t get a welcome series.

Launch-day checklist

  • Lower DNS TTL 24-48 hours before cutover
  • Put WooCommerce in maintenance mode, then run a delta import of orders and customers created since the last import
  • Point the root A record and www CNAME to Shopify, and leave MX, SPF and DKIM records untouched so email keeps working
  • Set the primary domain, confirm SSL is active and remove the storefront password
  • Import the redirect CSV, then test the top 200 old URLs by traffic plus every URL with backlinks
  • Place real orders with each payment method, a discount code and a refund
  • Confirm each order reaches your 3PL, accounting, Klaviyo, GA4 and Meta
  • Submit /sitemap.xml in Search Console and check robots.txt
  • Update ad final URLs and email links so they skip redirects
  • Keep a full WooCommerce backup, files and database, for at least a year

Post-launch monitoring

Watch sales first and search second: a broken payment method costs more in an hour than a missing redirect in a week.

WhenWatchRed flag
Days 1-3Orders per hour against the same weekdays, payment errorsA payment method with zero orders
Week 1Support tickets, 404 hitsLogin complaints, repeated 404s on one pattern
Weeks 2-4Search Console clicks for top products and collectionsOld URLs still indexed, new ones not indexed
First renewal cycleSubscription chargesFailed renewals above normal
Day 30Conversion rate and revenue per session against baselineA sustained gap on one device or template

Shopify has no built-in 404 report, so use Search Console, GA4 filtered on your 404 page title, or a redirect app that logs misses, and redirect every 404 with traffic the day you find it. That full scope, from plugin inventory to day-30 checks, is how I run Shopify migrations.

Get it built

Planning a move off WooCommerce? Shopify builds and migrations start from $6,000. If you’re not sure Shopify is the right platform yet, start with the Growth Audit: $1,500 fixed, credited if we continue. See pricing or get in touch with your product count, plugin list and target launch date.

FAQ

Frequently Asked Questions

Can I migrate customer passwords from WooCommerce to Shopify?

No. WordPress stores passwords as hashes that Shopify can't import, so nobody can log in with their old password. With Shopify's newer customer accounts, customers sign in with a one-time email code, which mostly removes the problem; with legacy (classic) accounts, send account activation invites after launch.

Can WooCommerce keep taking orders while the Shopify store is built?

Yes, and it should. Build and test Shopify behind its storefront password while WooCommerce keeps selling, then put WooCommerce in maintenance mode at cutover and import the orders and customers created since your last import. Never run both stores live on the same domain.

Should I import historical orders into Shopify?

Yes, if customers look up past orders in their account, if you segment or report on lifetime value, or if support needs order history in one place. If you only need old orders for accounting, an archived export from WooCommerce may be enough.

Can I keep my WordPress blog after moving the store to Shopify?

Yes. You can move posts into Shopify's blog, keep WordPress on a subdomain, or serve it under a subfolder through a reverse proxy. Moving posts is simplest to maintain; a proxy keeps WordPress's editor but adds a layer someone has to look after.

Work with me

Let’s find your biggest growth lever

Tell me about your growth challenge. I’ll tell you honestly if I can help — and if I can’t, who can.

  • ✓ No obligation
  • ✓ No sales script
  • ✓ Honest feedback
  • ✓ Clear next steps