Key Takeaways
- Migrate for full data ownership, zero transaction fees, and better SEO control.
- Choose from three migration methods: manual CSV, an official plugin, or Cart2Cart.
- Themes and apps do not transfer. Plan to rebuild your storefront and find plugin equivalents.
- Preserve SEO by setting up 301 redirects and resubmitting your sitemap via Google Search Console.
- Set up your WooCommerce hosting before migrating to ensure a live destination for your data.
Shopify is a great platform for launching your first online store. But as your business scales, the cracks start to show: monthly plans that climb from $39 to $399+, transaction fees of up to 2% on every sale (unless you use Shopify Payments), and a closed ecosystem that limits what you can actually build.
WooCommerce fixes all of that. It’s open-source, built on WordPress, costs nothing for the core software, and gives you complete control over your store, your data, and your hosting. Thousands of store owners make this move every year, and with the right process, you won’t lose a single product, order, or customer record.
This guide covers every step: what to do before you migrate, three methods to move your data, how to rebuild your storefront, and how to protect your SEO rankings throughout.
- Why Migrate from Shopify to WooCommerce?
- What Data Migrates and What Doesn’t
- Before You Migrate: Pre-Migration Checklist
- Set Up WordPress and WooCommerce on Cloudways
- Method 1: Manual Migration (Free, CSV-Based)
- Method 2: Plugin Migration (Recommended)
- Method 3: Automated Service via Cart2Cart
- Post-Migration: Setting Up Your WooCommerce Store
- How to Preserve Your SEO During Migration
- Post-Migration Checklist
- Frequently Asked Questions
Why Migrate from Shopify to WooCommerce?
The decision usually comes down to cost, control, and ceiling. Shopify works well early on. But here’s what happens as you grow.
The cost compounds. Shopify’s Basic plan starts at $39/month. The Advanced plan runs $399/month. Add transaction fees of 0.5–2% per sale (unless you use Shopify Payments, which isn’t available in every country), paid apps for features that are free on WooCommerce, and premium themes, and your monthly overhead adds up fast. WooCommerce’s core plugin is free; you only pay for hosting, your domain, and the premium plugins you actually choose to use.
You don’t own your store. On Shopify, your data lives on their servers. Your theme runs on Shopify’s proprietary Liquid templating language. Your store functionality is gated behind their App Store. WooCommerce, being open-source and self-hosted, means you own everything outright: your data, your code, your customer records.
SEO flexibility is limited. WordPress powers more websites than any other CMS on the planet, and WooCommerce inherits its content architecture. URL structures, meta tags, schema markup, internal linking, and blog content are all significantly more customizable in WooCommerce. For stores investing in organic growth, this matters. For a deeper platform comparison, read our full WooCommerce vs Shopify breakdown.
The ecosystem is open. WordPress has over 59,000 plugins. WooCommerce has hundreds of dedicated ecommerce extensions. You’re never locked out of a feature by a platform’s App Store approval process.
What Data Migrates and What Doesn’t
Before you choose a migration method, understand exactly what transfers. This is the most overlooked step and the source of most post-migration surprises.
| Data Type | Migrates? | Method | Notes |
|---|---|---|---|
| Products (name, price, SKU, description) | ✅ Yes | All methods | Core product data transfers reliably across all three methods |
| Product images | ✅ Yes | Plugin / Cart2Cart | Manual method requires downloading and re-uploading images individually |
| Product categories and tags | ✅ Yes | All methods | Category hierarchy may need manual cleanup after import |
| Customer accounts | ✅ Yes | Plugin / Cart2Cart | Customer names, emails, and addresses transfer; passwords do not |
| Order history | ✅ Yes | Plugin / Cart2Cart | Not available via manual CSV method |
| Coupons and discount codes | ⚠️ Partial | Cart2Cart only | Manual and plugin methods do not migrate coupons |
| Blog posts | ⚠️ Partial | Cart2Cart only | Most methods don’t support blog content; must be migrated manually or via Cart2Cart |
| SEO URL slugs | ⚠️ Partial | Cart2Cart only | Manual method requires setting up 301 redirects from Shopify URL structure |
| Shopify theme and design | ❌ No | None | Shopify uses the proprietary Liquid language; your theme must be rebuilt in WooCommerce |
| Shopify app configurations | ❌ No | None | Apps are Shopify-specific; you’ll need WooCommerce plugin equivalents |
| Customer passwords | ❌ No | None | Security restrictions prevent password transfers; customers will need to reset |
/blogs/news/post-title). Losing that content or letting those URLs 404 will hurt your SEO.Before You Migrate: Pre-Migration Checklist
Skipping this section is how migrations go wrong. Run through each step before you touch a single data file.
1. Choose Your WooCommerce Hosting
Your WooCommerce store needs a live destination before migration can begin. Don’t migrate to a host you haven’t vetted. Hosting is the single biggest performance variable on WooCommerce (unlike Shopify, where performance is platform-managed).
For a WooCommerce store, look for a host that offers PHP 8.x support, SSD or NVMe storage, built-in object caching (Redis or Memcached), staging environments, and 24/7 support familiar with WooCommerce-specific issues.
Cloudways ticks all of these boxes with its managed WooCommerce hosting, which includes Object Cache Pro built-in, Breeze caching plugin, free SSL, 1-click staging, and the ability to deploy on major cloud providers (DigitalOcean, AWS, GCP, Vultr, Linode) from a single dashboard.
2. Back Up Your Shopify Store
Shopify has no native full backup functionality. Export your data manually before you begin:
- Go to Shopify Admin → Products → Export to download your products as a CSV
- Go to Customers → Export for your customer list
- Go to Orders → Export for your order history
- Screenshot or document your theme settings, navigation menus, and page configurations. These won’t export.
For a fuller backup including theme files, consider a Shopify backup app such as Rewind Backups from the Shopify App Store. Note that even these tools don’t provide a complete, restorable backup of your entire store. Treat your CSV exports as your source of truth.
3. Crawl and Record Your Current Shopify URLs
This step protects your SEO. Before migration, crawl your entire Shopify store to create a record of every live URL. You’ll use this list to build 301 redirects after migration.
Use any of the following:
- Ahrefs Site Audit: exports a full URL list with status codes
- Screaming Frog: free up to 500 URLs; paid for larger stores
- Google Search Console: export your indexed pages from the Coverage report
Save this list. Shopify uses a /products/product-name URL structure; WooCommerce defaults to /product/product-name. Every URL that changes without a redirect tells Google that the page no longer exists, and you lose whatever ranking equity that page had built. For a complete pre-migration audit process, refer to our WordPress migration checklist.
4. Audit and Map Your Shopify Apps to WooCommerce Plugins
List every Shopify app you’re currently using and find its WooCommerce equivalent before migration day. Don’t wait until after the migration to discover a critical app has no equivalent. Plan this upfront.
| Shopify App | WooCommerce Equivalent |
|---|---|
| Klaviyo | Klaviyo for WooCommerce / FluentCRM / Mailchimp for WooCommerce |
| ReCharge (subscriptions) | WooCommerce Subscriptions |
| Privy / popups | OptinMonster / Hustle |
| Yotpo Reviews | WP Product Review / Judge.me for WooCommerce |
| Bold Upsell | CartFlows / WooFunnels |
| SEO Manager | Yoast SEO / Rank Math |
| Tidio Live Chat | Tidio (has a native WooCommerce integration) |
| Rewind Backups | UpdraftPlus / BlogVault |
Set Up WordPress and WooCommerce on Cloudways
Before you run any migration, your destination WooCommerce store needs to be live. Here’s how to get it up in minutes on Cloudways.
- Sign up or log in to your Cloudways account.
- Click Add Server and choose your preferred cloud provider (DigitalOcean is a strong default for most WooCommerce stores).
- Under Application, select WooCommerce from the dropdown. Cloudways deploys WordPress and WooCommerce pre-configured together.
- Give your application a name, choose your server size (2GB RAM is a solid starting point), and click Launch Now. Deployment takes 5–10 minutes.
- Once deployed, go to your application’s SSL Certificate settings and activate your free Let’s Encrypt SSL before migration.
- Enable a Staging Environment from your application panel: you can test your migrated store here before switching DNS.
Once your application is live, access your WordPress admin dashboard and complete the WooCommerce setup wizard to configure your store’s base currency, shipping zones, and tax settings.

After installation, activate the WooCommerce plugin to launch the setup wizard.

Your WooCommerce store is now live at a temporary Cloudways URL. This is your migration destination.
Managed WooCommerce Hosting: Ready in Minutes
Deploy a fully configured WooCommerce store on Cloudways with SSD storage, built-in Redis caching, free SSL, and 24/7 expert support. Pay only for what you use.
Method 1: Manual Migration (Free, CSV-Based)
The manual method is completely free and works well for stores with fewer than 500 products. The trade-off: it’s time-intensive, images must be downloaded and re-uploaded individually, and order history and coupons don’t transfer.
What you can migrate manually: Products, product categories, and customers.
Step 1: Export Your Shopify Product Data
In your Shopify admin, go to Products → Export. Select All products and choose CSV for Excel, Numbers, or other spreadsheet applications. Download the file.

You’ll receive an email from Shopify once the export is ready for download. For large catalogs, this can take a few minutes.

Step 2: Clean and Reformat the CSV for WooCommerce
Shopify and WooCommerce use different CSV column structures. Before importing, you’ll need to map Shopify’s column names to WooCommerce’s expected fields.
Key field mappings to know:
| Shopify CSV Column | WooCommerce Equivalent |
|---|---|
| Title | Name |
| Body (HTML) | Description |
| Vendor | No direct equivalent (use a custom attribute or map to Brand) |
| Type | Categories |
| Tags | Tags |
| Variant Price | Regular price |
| Variant Compare At Price | Sale price |
| Variant SKU | SKU |
| Variant Inventory Qty | Stock |
| Image Src | Images |
Step 3: Import Products into WooCommerce
In your WordPress dashboard, go to Products → Import. You’ll see the WooCommerce product importer screen.

Upload your cleaned CSV file and click Continue. WooCommerce’s built-in importer will present a column mapping screen. Use the field reference above to match your Shopify columns to the correct WooCommerce fields.

Once your columns are mapped, click Run the Importer and wait for the process to complete.

Step 4: Handle Product Images
Product images referenced via Shopify CDN URLs (cdn.shopify.com) in your CSV won’t resolve once your Shopify store is decommissioned. To handle this:
- If your CSV image URLs are still live Shopify CDN links, WooCommerce will attempt to import them during the product import. Check that images imported correctly.
- For a permanent fix, use a plugin like WP All Import or download images manually and re-upload them to your WooCommerce media library.
Step 5: Import Customers
WooCommerce’s native importer handles products only. To import customers from your Shopify CSV export, use WP All Import or the Customer/Order CSV Import Suite. Map the Shopify customer fields (First Name, Last Name, Email, Phone, Address fields) to the corresponding WooCommerce customer fields during the import wizard.
Step 6: Verify Imported Data
Browse your product catalog in WooCommerce. Spot-check 10–15 products across different categories for accurate prices, descriptions, stock levels, and images. Fix any mapping errors before proceeding.
Method 2: Plugin Migration (Recommended for Most Stores)
The plugin method is the best balance of cost, coverage, and ease for the majority of WooCommerce migrations. It transfers products, customers, orders, and product images automatically, without manual CSV cleanup.
The recommended tool is the official Migrate & Import Shopify to WooCommerce extension by WooCommerce. It connects directly to your Shopify store via API and handles the data transfer end-to-end.
Step 1: Install the Migration Plugin
In your WordPress dashboard, go to Plugins → Add New and search for “Import Shopify to WP”. Install and activate the plugin. Alternatively, purchase and install the official WooCommerce Migrate & Import Shopify to WooCommerce extension from WooCommerce.com for more granular control over the import process.
Step 2: Generate a Shopify API Key
The plugin connects to Shopify via its Admin API. To create the credentials you’ll need:
- In your Shopify admin, go to Settings → Apps and sales channels.
- Click Develop apps, then Create an app.
- Name the app (e.g., “WooCommerce Migration”) and click Create app.
- Under Configuration → Admin API access scopes, enable read access for: Products, Customers, Orders, Inventory, and Price rules.
- Click Install app, then copy your Admin API access token. Store it somewhere safe. It’s shown only once.
Step 3: Connect Your Shopify Store in the Plugin
In your WordPress dashboard, open the migration plugin settings. Enter your Shopify store URL (e.g., yourstore.myshopify.com) and the Admin API access token you just generated. Click Connect. The plugin will verify the connection and display a summary of your store’s data.
Step 4: Select Data to Import and Run Migration
Choose what to import: Products, Customers, Orders (and optionally product images). For most stores, select all. Click Start Import and monitor the progress bar. Do not close the browser tab until the migration reaches 100%.
Step 5: Verify Migrated Data
Once complete, navigate to your WooCommerce Products, Orders, and Customers screens. Run spot-checks to confirm data integrity. Verify that prices, stock levels, product images, and customer emails all look correct before going live.
Method 3: Automated Service via Cart2Cart
Cart2Cart is the best option for stores with complex data needs: large catalogs, historical coupons, blog post content, multi-language data, or SEO URL slug preservation. It handles the migration fully automatically on its own servers. You don’t need to keep a browser tab open throughout the process.
What Cart2Cart migrates that plugins typically don’t: Coupons and discount codes, blog posts, SEO URL slugs, multi-store and multi-language data, and custom field mapping.

Step 1: Create a Cart2Cart Account
Go to shopping-cart-migration.com and sign up. Once logged in, start a new migration. You’ll see two options: Start Free Demo and Get Migration Package. Use the free demo first.

Step 2: Configure Your Source Cart (Shopify)
Select Shopify as your source cart type. Enter your Shopify store URL and your Admin API access token. This is the same token you’d generate via Settings → Apps and sales channels → Develop apps in your Shopify admin (see Method 2, Step 2 above for the full walkthrough).

Step 3: Configure Your Target Cart (WooCommerce) and Install the Connection Bridge
Select WooCommerce as your target cart. Enter your WooCommerce store URL. Cart2Cart will prompt you to download a small Connection Bridge file and upload it to your WooCommerce root directory via FTP. This file allows Cart2Cart’s servers to communicate securely with your store.

Once the bridge is installed, Cart2Cart will automatically detect it and display a “Connection successful” confirmation before you proceed.
Step 4: Select Entities and Run a Free Demo
Choose which data entities to migrate: Products, Customers, Orders, Coupons, Blog Posts, and more. Use the Select All option or pick individual entities based on what you need.

Before committing to the full migration, click Start Free Demo. Cart2Cart will migrate a small sample of your data so you can verify the results look correct in your WooCommerce store.

Step 5: Launch Full Migration
Once you’re satisfied with the demo results, purchase the appropriate migration package and launch the full migration. Cart2Cart runs the entire process on its own servers. You’ll receive an email notification when it’s complete.

Post-Migration: Setting Up Your WooCommerce Store
Your data is in WooCommerce. Now you need to rebuild the parts that don’t migrate: your storefront, your plugins, and your payment setup.
Rebuild Your Storefront
Shopify themes are built on Liquid; they don’t transfer to WooCommerce. You need a WooCommerce-compatible theme. Options worth considering:
- Storefront: WooCommerce’s official free theme, clean and well-optimized
- Astra: lightweight, highly customizable, and extremely popular for WooCommerce stores
- Flatsome: purpose-built for ecommerce with a built-in page builder
- GeneratePress: performance-focused with minimal overhead
- Kadence: strong WooCommerce integration with a free starter template library
When rebuilding, use your Shopify store screenshots as a design reference. Recreate your navigation menus under Appearance → Menus, rebuild static pages (About, Contact, FAQ), and configure your WooCommerce shop page, cart, and checkout templates.

Install and Configure Essential Plugins
At minimum, your WooCommerce store needs these before going live:
- Yoast SEO or Rank Math: for meta titles, descriptions, sitemaps, and schema markup. See our guide to the best WooCommerce SEO plugins.
- WooCommerce Payments: or your preferred payment gateway (Stripe, PayPal, etc.)
- Breeze: Cloudways’ built-in caching plugin, pre-configured for your server stack
- UpdraftPlus: automated backups to cloud storage
- A security plugin: Wordfence or Solid Security for firewall and malware scanning
Test Your Store Before Going Live
Don’t point your domain to your new WooCommerce store until you’ve tested the following on your staging URL:
- Browse your product catalog and verify images, prices, and descriptions on representative products
- Add a product to cart and complete a test order using a real payment method (most gateways have a test mode)
- Confirm order confirmation emails send correctly
- Test on mobile: check product pages, cart, and checkout on at least one iOS and one Android browser
- Verify your SSL certificate is active (look for the padlock in your browser)
How to Preserve Your SEO During Migration
SEO preservation is the most anxiety-inducing part of any platform migration, and for good reason. A migration done carelessly can cause significant ranking losses. Done correctly, your rankings should remain stable within a few weeks.
Why Rankings Can Drop Post-Migration
The main risk is URL structure change. Shopify uses /products/product-name for product pages and /collections/category-name for collections. WooCommerce defaults to /product/product-name and /product-category/category-name. Every URL that changes without a redirect tells Google that the page no longer exists, and you lose whatever ranking equity that page had built.
Setting Up 301 Redirects
This is non-negotiable. For every Shopify URL that changes, you need a 301 redirect pointing from the old URL to the new WooCommerce URL. The most reliable way to manage this in WooCommerce is with a redirect plugin:
- Redirection (free, WordPress.org): simple interface for bulk redirect management
- Yoast SEO Premium: handles redirects automatically when you change a URL slug
- Rank Math Pro: includes a redirect manager module
Use your pre-migration URL export (from Screaming Frog or Ahrefs) as your source list. Map each old Shopify URL to its new WooCommerce equivalent and import the redirect rules in bulk. Key redirects to set up:
/products/{slug}→/product/{slug}/collections/{slug}→/product-category/{slug}/blogs/news/{post-slug}→/{post-slug}/(or your WordPress post URL)- Your Shopify homepage (
/) should redirect automatically once you update your domain’s DNS
Reconfigure Your SEO Plugin
Install Yoast SEO or Rank Math and run through the setup wizard. Key configuration steps:
- Set your site name and homepage SEO title/description
- Configure your XML sitemap. Both plugins generate this automatically
- Enable schema markup for WooCommerce products (product name, price, availability, reviews)
- Verify that meta titles and descriptions transferred correctly on migrated product pages
Reconnect Google Search Console
- Log in to Google Search Console and verify ownership of your domain property.
- Submit your new XML sitemap (typically at
yoursite.com/sitemap_index.xml) via Sitemaps → Add a new sitemap. - Request indexing for your most important product and category pages using the URL Inspection tool.
- Monitor the Coverage report over the following 2–4 weeks for any 404 errors that indicate missing redirects.
Post-Migration Checklist
Run through this checklist before pointing your domain to your new WooCommerce store. Don’t go live until you can check every box.
| Task | Completed |
|---|---|
| Data Integrity | |
| All products visible with correct prices, descriptions, and stock levels | |
| Product images loading on all product pages (including variable product galleries) | |
| Product categories and tags present and correctly assigned | |
| Customer records imported (verify by checking a known customer account) | |
| Order history present (if applicable to your migration method) | |
| Store Functionality | |
| Checkout flow tested end-to-end with a real test order | |
| Order confirmation email sends after purchase | |
| Payment gateway active and processing correctly (use sandbox/test mode first) | |
| Shipping zones and rates configured | |
| Tax settings configured to match your Shopify setup | |
| Technical Health | |
| SSL certificate active: HTTPS shows in the browser address bar | |
| No mixed content errors (HTTP resources loading on HTTPS pages) | |
| Site loads in under 3 seconds on both desktop and mobile | |
| No broken internal links (run a quick Screaming Frog crawl) | |
| SEO and Analytics | |
| 301 redirects in place for all changed URLs | |
| Google Search Console connected and sitemap submitted | |
| Google Analytics / GA4 tracking code active | |
| Yoast SEO or Rank Math configured with correct meta titles and sitemap settings | |
| Old Shopify store kept active for minimum 2-4 weeks after DNS cutover | |
⚠️ Don’t do these things yet:
- Don’t make major content changes (propagation might cause confusion)
- Don’t cancel old hosting
- Don’t remove temporary DNS records if you used hosts file method
For a more comprehensive migration validation process, refer to our WordPress migration checklist.
How long does a Shopify to WooCommerce migration take?
A) It depends on your store’s size and the migration method. For a small store (under 500 products), the manual CSV method can be completed in a few hours. For medium-to-large stores using the plugin or Cart2Cart, the data transfer itself typically takes 1-4 hours, but rebuilding your theme, configuring plugins, and testing can add 1-2 full days. Plan for a total of 1-3 days for a complete, well-tested migration.
Will I lose my SEO rankings when I migrate from Shopify to WooCommerce?
A) Not if you set up 301 redirects correctly. The most common cause of ranking drops post-migration is URL structure change without proper redirects. Shopify uses /products/ and /collections/ paths; WooCommerce defaults to /product/ and /product-category/. Set up 301 redirects for every URL that changes, reconnect Google Search Console, and submit your new sitemap. Expect a brief period of ranking fluctuation (2-4 weeks) before things stabilize, which is normal after any significant site change.
Can I migrate from Shopify to WooCommerce for free?
A) Yes. Method 1 (manual CSV) and Method 2 (using the free “Import Shopify to WP” plugin from WordPress.org) are both free. The trade-off is that free methods have limitations: manual CSV doesn’t transfer order history, and free plugins may not migrate coupons or blog posts. Cart2Cart’s full migration service is paid, though it offers a free demo migration.
Do customer passwords transfer from Shopify to WooCommerce?
A) No. This is a security restriction: password hashes are not accessible for export from Shopify. Your customer account records (name, email, address history) will transfer, but customers will need to set a new password on your WooCommerce store. You can trigger a password reset email to all migrated customers from your WordPress dashboard after migration.
Can I run Shopify and WooCommerce simultaneously during migration?
A) Yes, and you should. Build and test your WooCommerce store on a staging URL (Cloudways provides this with one click) before switching your domain’s DNS. Keep your Shopify store accepting orders until your WooCommerce store is fully verified and live. Once DNS is pointing to WooCommerce, keep your Shopify store active (but not processing orders) for 2-4 weeks as a safety buffer.
What happens to my Shopify domain after migration?
A) If you’re using a custom domain (e.g., yourstore.com), you simply update your domain’s DNS records to point to your Cloudways server IP address instead of Shopify’s servers. Your domain name stays yours; it’s not tied to Shopify. If you were using a .myshopify.com subdomain, you’ll need a new custom domain for your WooCommerce store.
Want to Migrate Your WordPress Site in Just a Few Clicks?
Use the free Cloudways WordPress Migrator plugin for unlimited, hassle-free migrations backed by 24/7 expert support.
Zain Imran
Zain is an electronics engineer and an MBA who loves to delve deep into technologies to communicate the value they create for businesses. Interested in system architectures, optimizations, and technical documentation, he strives to offer unique insights to readers. Zain is a sports fan and loves indulging in app development as a hobby.