Phase 1 — Before you start

Most migration problems trace back to preparation. A staging site that isn't set up correctly, a server that can't handle image sideloading, or a WordPress install missing required plugins — these cause hours of cleanup. Finishing this phase before touching any import settings saves time.

Before Shopify — export and access
  • Leave Shopify active — do not cancel until WooCommerce is live and orders are coming inAPI access is revoked on cancellation
  • Get your Shopify access token — create a private app or custom app in your Shopify admin with read permissions on products, orders, customers, price rules, and redirectsStoreShift needs this token to pull your data
  • Note your product count — check Shopify admin → Products for a ballpark number so you can verify completeness after import
  • Note your order count — Shopify admin → Orders (all time)
  • Export a sample CSV from Shopify — one page of products as a reference to spot-check after migration
  • Document your Shopify URL structure — product URLs follow /products/{handle}; note any custom collection handles you care about for SEO
Before WordPress staging environment
  • Set up a staging site — use Local by Flywheel, a cPanel staging subdomain, or a separate serverNever run a first migration directly on your live site
  • Install WordPress on staging with the latest stable version
  • Install WooCommerce and complete the setup wizard
  • Install StoreShift — download from WordPress.org or your purchase email, activate, enter license key
  • Configure PHP limits — set max_execution_time = 300 and memory_limit = 256M in php.ini or wp-config.phpInsufficient PHP limits cause image sideloading failures mid-import
  • Verify outbound HTTP requests — confirm your server can reach cdn.shopify.com (needed for product image sideloading)
  • Install your WooCommerce theme — import needs a live theme to attach product images to
  • Install WooCommerce payment gateway plugins — Stripe, PayPal, or whichever you're using (don't configure live credentials yet)
Before SEO and redirects preparation
  • List your top Shopify URLs by traffic — open Google Search Console, filter by page, export the top 50These are the redirects that matter most for rankings
  • Decide your WooCommerce permalink structure — go to Settings → Permalinks → choose a consistent slug pattern before import, not afterChanging permalinks after import breaks all internal links
  • Configure WooCommerce product slug — decide whether products live at /product/ (WooCommerce default) or a custom base
  • Add storeshift.io/sitemap.xml to Google Search Console — you'll resubmit after migration, but verify GSC access now

Ready to start the migration?StoreShift pulls products, orders, customers, coupons, and redirects directly from Shopify's API. One WordPress plugin, no per-migration fees.

View pricing

Phase 2 — Running the migration

Run importers in this order: Products first (categories must exist before orders can reference them), then Categories, then Coupons, then Redirects, then Orders, then Customers. Running Orders before Products will fail — the importer needs matching product SKUs to link order line items.

During Connecting Shopify to StoreShift
  • Open StoreShift in WP admin → Import tab
  • Click Connect Shopify — authorize the OAuth popupStoreShift uses OAuth — no manual token entry required
  • Verify connection shows your shop domain in the connection card
During Import order (run in sequence)
  • 1. Run Products importer — imports simple + variable products with all variants, images sideloaded to media libraryFree tier: first 50 products only. Starter+: all products.
  • 2. Run Categories importer — maps Shopify custom + smart collections to WooCommerce product categories (Starter+)
  • 3. Run Coupons importer — maps Shopify price rules to WooCommerce coupon codes (Starter+)
  • 4. Run Redirects importer — creates /products/{handle}/product/{handle} redirect rules in WordPress (Starter+)
  • 5. Run Orders importer — imports orders with line items, customer data, shipping addresses, and status mapping (Pro+)
  • 6. Run Customers importer — creates WP user accounts with WooCommerce billing/shipping meta (Pro+)Passwords don't transfer — customers will set new passwords on first login
During While importers run
  • Keep the browser tab open — importers run via AJAX in your browser; closing the tab stops the processLarge stores with 5,000+ products can take 30–60 minutes
  • Monitor the progress bar — each importer shows a running count; a stalled bar at 0% usually means a PHP timeout or server connection issue
  • Note any skipped items — StoreShift logs skipped records; review after completion

Phase 3 — After import, before go-live

Don't skip verification. The time to find a missing product image or a broken variable product is on staging, not on your live store. Work through this checklist before you touch DNS.

After import Product verification
  • Compare product count — WooCommerce Products page total should match Shopify's count
  • Spot-check 10 products against your Shopify export CSV — title, description, price, SKU
  • Check variable products — open 3 variable products; confirm attributes (Color, Size) exist and each variant has correct price and stock
  • Check product images — verify featured images and gallery images loaded correctly for a sample of products
  • Verify product categories — check that products appear in the right categories and that category pages exist
After import Orders and customers
  • Compare order count — WooCommerce orders should match Shopify order count
  • Open 5 orders — verify line items, shipping address, and status (paid → processing, fulfilled → completed)
  • Check customer accounts — confirm customers exist in WP Users with billing and shipping meta
  • Verify coupon codes — apply a migrated coupon code in the WooCommerce cart to confirm the discount applies correctly
After import SEO redirects
  • Test 5 Shopify product URLs — visit yoursite.com/products/{handle} and confirm you get a 301 redirect to /product/{handle}
  • Test collection URLs — visit /collections/{handle} and confirm redirect to /product-category/{handle}
  • Check redirects via browser developer tools — Network tab → look for status 301 before the final 200
  • Test your top-traffic URLs from the GSC list you pulled in Phase 1
After import Checkout and payments
  • Configure payment gateway in test mode — Stripe test keys, PayPal sandbox, or equivalent
  • Complete a test order end-to-end — add to cart, checkout, confirm order confirmation email arrives
  • Test free shipping and coupon discounts at checkout
  • Verify tax settings — WooCommerce needs tax rates configured; Shopify tax settings don't transfer
  • Check shipping zones — configure shipping methods and rates in WooCommerce settings

Phase 4 — Go-live sequence

Once staging passes verification, move the migration to production and switch DNS. Do this during a low-traffic window — Sunday night or early morning. The DNS propagation itself can take up to 48 hours, though most resolvers update within a few hours.

Go-live Production migration
  • Set up production WordPress on your live host — install WooCommerce and StoreShift
  • Re-run all importers on production — staging was the test run; production is the real migrationIf your Shopify store hasn't changed much, this runs faster the second time
  • Re-run verification checklist (Phase 3) on production
  • Set payment gateway to live mode — swap test keys for production Stripe/PayPal credentials
  • Configure live email settings — WooCommerce order emails need a working SMTP setup (WP Mail SMTP plugin recommended)
Go-live DNS and launch
  • Point DNS to your new WooCommerce host — update A record or CNAME at your domain registrar
  • Verify SSL certificate is active on your WooCommerce host before switching
  • Confirm site loads over HTTPS after DNS propagates
  • Place a real test order immediately after go-live to confirm end-to-end works on production
  • Monitor WooCommerce orders for the first 24 hours — watch for failed payment notifications or cart errors
Go-live SEO — post-launch
  • Submit updated sitemap in Google Search Console — GSC → Sitemaps → add your WooCommerce sitemap URL (usually /sitemap_index.xml with Yoast or Rank Math)
  • Request indexing on your top 20 pages in GSC — URL Inspection → Request Indexing
  • Monitor GSC for crawl errors over the next 7 days — 404s mean a redirect wasn't set up
  • Check Google Search Console for "Page with redirect" reports — confirms redirects are being followed
  • Cancel Shopify — only after WooCommerce is confirmed live and taking orders

What doesn't migrate automatically

StoreShift handles the core store data. A few things need manual attention regardless of which migration tool you use:

Time estimate

For a store with 500 products, 2,000 orders, and 1,000 customers: plan 30–45 minutes for the import run, 2–3 hours for verification, and 1–2 hours for payment and shipping configuration. Total: a solid day of focused work, not a week-long project.

Frequently asked questions

How long does a Shopify to WooCommerce migration take?

The import itself runs in 10 minutes to a few hours depending on data volume. Setup work — staging environment, theme selection, payment gateway configuration — takes most people 1 to 3 days. Budget a full week for a mid-size store if you're doing it for the first time.

Do I need to export data from Shopify before migrating?

No. StoreShift pulls data directly from Shopify's API using your OAuth access token. Your Shopify store stays live during the migration and StoreShift reads from it in real time. No manual CSV export is needed.

What should I check before going live on WooCommerce?

Before switching DNS: products display with correct images and prices, variable products have working attributes, checkout completes in test mode, 301 redirects send old Shopify URLs to matching WooCommerce URLs, payment gateway is configured with live credentials, and Google Search Console has the updated sitemap.

Should I cancel Shopify before migrating?

No. Keep Shopify active until WooCommerce is live and taking orders. StoreShift reads from Shopify's API — cancelling early revokes API access and you lose access to your data. Cancel Shopify only after confirming your WooCommerce store is running correctly.

What Shopify data doesn't migrate automatically?

Product reviews, gift card balances, loyalty points, Shopify metafields, theme design, and payment/shipping settings all need manual handling. StoreShift migrates products, categories, orders, customers, coupons, and URL redirects.