How to Migrate from Shopify to WooCommerce (Without Losing Rankings)
A complete guide to migrating your Shopify store to WooCommerce — covering data export, URL mapping, SEO preservation, and what to test before going live.
Migrating from Shopify to WooCommerce is a significant project — but it's also one of the most common and well-understood migrations in ecommerce. Done correctly, you keep your products, customers, order history, and search rankings. Done poorly, you can lose months of SEO equity and scramble operations.
This guide covers the full process: what to prepare, how to move the data, how to handle URLs (the most critical part for SEO), and what to test before you flip the switch.
Why teams migrate from Shopify to WooCommerce
Before you start, it's worth confirming the migration makes sense for your situation. Teams typically migrate because:
- Transaction fees — Shopify's 0.5–2% fee on non-Shopify Payments adds up at scale
- Customization limits — WooCommerce gives you full control over checkout, pricing logic, and product types
- SEO control — WordPress gives you more URL flexibility, better content architecture, and cleaner metadata control
- Ownership — you want your store on infrastructure you own, not a SaaS platform you rent
- Existing WordPress site — you're already on WordPress and want to consolidate
If none of these apply and you're mainly motivated by cost savings at low volume, the migration overhead may not be worth it. WooCommerce's total cost of ownership (hosting, maintenance, developer time) is comparable to Shopify at low volume.
Pre-migration checklist
Before touching anything, do this:
- Export a full product catalog from Shopify (CSV + images)
- Export all customer records
- Export all orders (as far back as you need for reporting)
- Crawl your current Shopify store with Screaming Frog — capture every URL that exists and its current rankings if possible
- Document your integrations: payment gateways, email marketing, inventory management, tax, shipping, review platforms
- Note your current Shopify URL structure (more on this below)
- Screenshot your top 10 pages as design reference
- Record your current analytics baselines (traffic, revenue, conversion rate)
The crawl and URL list are critical. Every URL that currently ranks needs to either stay at the same path or have a permanent redirect to the new path. Missing redirects = lost rankings.
Step 1: Set up WordPress and WooCommerce
Start with a fresh WordPress install on your new hosting environment. Do not attempt this migration on your live Shopify store — you need a separate environment to build in.
Hosting recommendations for WooCommerce:
- Cloudways (most flexible, good price/performance)
- Kinsta (premium, strong support)
- Flywheel (agency-friendly)
- WP Engine (enterprise-ready, good support)
After WordPress is installed:
- Install WooCommerce
- Install your theme (or have your developer build one)
- Set up your payment gateway (Stripe, PayPal, or regional provider)
- Configure tax settings
- Set up shipping zones and rates
- Install your other required plugins (SEO, reviews, subscriptions, etc.)
Don't rush this step. A stable WooCommerce foundation prevents problems after go-live.
Step 2: Migrate products
Option A: Use a migration plugin
Cart2Cart and LitExtension are the two most commonly used migration services. They connect directly to your Shopify store via API and pull products, images, categories, variants, and metadata into WooCommerce.
Pros: fast, handles relationship data (products ↔ categories, variants), automates image imports Cons: costs money ($100–$500+ depending on catalog size), may require cleanup
Option B: Manual CSV import
- Export your Shopify product CSV
- Map the columns to WooCommerce's import format (they're different schemas)
- Import using WooCommerce's built-in importer
- Handle product images separately (they're URLs in the export — you'll need to import them or re-upload)
Pros: free, you control exactly what gets imported Cons: significant manual work for large catalogs, no automatic image handling
Option C: Custom import script
For large catalogs (500+ products) with complex variants or custom data, a developer writing a custom migration script using the WooCommerce REST API is often the cleanest approach.
After product import:
- Verify variant data is correct (sizes, colors, prices)
- Check that all product images imported and display correctly
- Confirm inventory quantities
- Review product categories and tags
Step 3: Migrate customers and orders
Customer and order data is important for ongoing operations and reporting. Use Cart2Cart, LitExtension, or a developer-built script to migrate:
- Customer accounts (email, name, address, order history)
- Order records (status, line items, totals, dates)
- Reviews (if applicable)
Important: passwords cannot be migrated from Shopify. Customer accounts will need to be reset. Send a "welcome back" email explaining the new platform and providing a password reset link.
Step 4: URL mapping — the most critical SEO step
This is where migrations fail. Shopify and WooCommerce use different URL structures:
Shopify default product URLs:
/products/product-name
/collections/collection-name
/collections/collection-name/product-name
/pages/page-name
/blogs/news/post-name
WooCommerce default product URLs:
/product/product-name
/product-category/category-name
/shop/
/page-name (WordPress pages)
/blog/post-name (WordPress posts)
Every URL that currently exists on your Shopify store — especially those with rankings or inbound links — needs either:
- The same URL on the new WooCommerce site (best option for high-traffic pages)
- A 301 permanent redirect from the old URL to the new equivalent
How to handle URL structure
Option A: Match Shopify's URL structure in WooCommerce
You can configure WooCommerce and WordPress to use /products/ instead of /product/ and /collections/ instead of /product-category/. This minimizes redirects needed.
To do this, change the WooCommerce product permalink base to products in WooCommerce → Settings → Permalinks → Product permalink base.
For category URLs, you'll need a custom rewrite rule or a permalink plugin.
Option B: Set up comprehensive 301 redirects
Map every old Shopify URL to its new WooCommerce equivalent. Use a spreadsheet:
| Old URL (Shopify) | New URL (WooCommerce) |
|---|---|
| /products/blue-widget | /product/blue-widget |
| /collections/widgets | /product-category/widgets |
| /pages/about | /about |
Then implement these redirects using:
- Redirection plugin (WordPress) — free, handles 301 redirects, tracks 404s
- Yoast SEO Premium — has a redirect manager
- Server-level redirects in
.htaccess— fastest, no plugin overhead
Never use JavaScript redirects for SEO purposes. 301 redirects must be server-side.
Step 5: Configure SEO settings
Install Yoast SEO or RankMath and configure:
-
Crawl your Shopify site with Screaming Frog and export all meta titles and descriptions. Re-enter these on the WooCommerce site — do not let them reset to defaults.
-
Set up XML sitemap — Yoast and RankMath generate this automatically. Submit it to Google Search Console after launch.
-
Configure canonical URLs — make sure products don't appear under multiple URLs (both
/product/and/collections/category/product/). -
Schema markup — WooCommerce + Yoast/RankMath add product schema automatically. Verify it's rendering correctly with Google's Rich Results Test.
-
robots.txt — review and make sure you're not blocking any important pages.
Step 6: Set up analytics and tracking
Before you go live, verify:
- Google Analytics 4 is installed and tracking
- Google Search Console is configured with the new property
- Meta Pixel, Google Ads conversion tracking, and any other pixels are firing
- Klaviyo, Mailchimp, or your email platform is connected to WooCommerce
Use Google Tag Manager to manage pixels if you have more than two. It makes future changes faster and reduces code bloat.
Step 7: Pre-launch testing
Do not go live without testing every critical flow:
Checkout flow:
- Add to cart
- Update cart quantity
- Apply coupon code
- Guest checkout
- Account checkout
- Payment completes successfully (use test mode)
- Order confirmation email sends
- Inventory decrements
Account functionality:
- Customer registration
- Password reset
- Order history display
- Address book
Redirects:
- Spot-check 20% of your redirect list in a browser
- Check that /products/, /collections/, and /pages/ paths all redirect correctly
- Verify no redirect chains (A → B → C — flatten to A → C)
SEO:
- Run Screaming Frog on staging — confirm all old URLs return 301 redirects
- Check canonical tags on product pages
- Verify sitemap.xml generates and includes all products + categories
- Check that robots.txt doesn't block anything important
Step 8: Go live
When the staging environment passes all tests:
- Point your domain to the new WooCommerce host (change DNS or update nameservers — your registrar handles this)
- DNS propagation takes 24–48 hours — plan for this. Some customers may see the old site for a day.
- Keep your Shopify store active during the DNS transition — you may receive orders on both platforms briefly
- Monitor both platforms for the first 48 hours
After DNS fully propagates:
- Submit the new sitemap to Google Search Console
- Request indexing for your most important pages (homepage, top category pages, top products)
- Set up 301 redirect monitoring — the Redirection plugin logs 404s so you can catch missed redirects
What to watch after launch
For the first 4–6 weeks after migration:
- Google Search Console — watch for crawl errors, especially 404s that should be redirects
- Organic traffic — expect a slight dip for 2–4 weeks as Google re-crawls and re-evaluates. This is normal. If traffic drops more than 20–30% and doesn't recover within 6 weeks, investigate your redirect coverage.
- Conversion rate — compare checkout conversion before/after. Any significant drop may indicate a UX issue in the new checkout flow.
- Page speed — run PageSpeed Insights on key pages. WooCommerce on poorly optimized hosting can underperform Shopify on page load.
Common migration mistakes
Skipping the redirect map. Even one high-authority URL without a redirect is an SEO loss. Inventory every URL before you start.
Importing products without images. Image URLs from Shopify expire or stop working after the transition. Import images directly — don't just reference the Shopify CDN URLs.
Not testing checkout in test mode before go-live. Payment gateway misconfigurations are embarrassing and expensive.
Going live on a Friday. If something breaks, you want your full team available to fix it. Launch Tuesday–Thursday.
Rushing the DNS switch. DNS changes can take 48 hours to propagate globally. Plan for a transition window and keep Shopify active during it.
How long does it take?
| Catalog size | Estimated timeline |
|---|---|
| Under 100 products | 1–2 weeks |
| 100–500 products | 2–4 weeks |
| 500–2,000 products | 4–8 weeks |
| 2,000+ products | 8–16 weeks |
Timeline includes: WooCommerce setup, product migration, URL mapping, testing, and go-live. Design/theme work is additional.
A Shopify to WooCommerce migration is manageable with the right process. The URL mapping and redirect work is tedious but non-negotiable for SEO preservation. Everything else is execution.
Need help with this?
We handle this for you — fast turnaround, clean delivery.
Ready to move fast?
We can outline scope in 24 to 48 hours, map the sprint plan, and confirm a launch window before we build.

