
September 08, 2026
11 min read
By Kokil Thapa | Last reviewed: September 2026
Moving a live store off WordPress is stressful. A Shopify migration from WooCommerce step by step plan keeps products, customers, and SEO equity intact while you leave plugin maintenance behind. I've migrated florist and grocery stores from WooCommerce to Shopify when international shipping, checkout reliability, or ops overhead outgrew self-hosted WordPress. This guide follows the same sequence I use on client projects: audit, export, map, import, redirect, test, cutover. If you want hands-on help, see our e-commerce development services in Nepal and website migration services.
When should you run a Shopify migration from WooCommerce step by step?
Not every WooCommerce store should move. Shopify wins when you want managed hosting, PCI-compliant checkout, and fewer server fires. WooCommerce wins when you need deep PHP customisation, complex B2B pricing, or tight control over database queries.
Common triggers I see in 2026:
- Checkout or payment plugin conflicts after a WooCommerce 11.1 or WordPress 7.1 upgrade
- Ops team tired of patching PHP, caching, and security on shared VPS hosting
- International expansion needing Shopify Markets instead of custom multi-currency code
- Catalog growth where WooCommerce speed on large catalogs needs constant tuning
- Founders who want subscription or B2B features via Shopify apps rather than custom plugins
Read our Shopify vs WooCommerce guide for Nepali businesses before you commit. For a three-platform view, see the Magento 2 vs Shopify vs WooCommerce comparison.
| Factor | WooCommerce 11.1 | Shopify |
|---|---|---|
| Hosting | Self-managed WordPress 7.1 stack | Included SaaS hosting |
| Custom logic | PHP hooks, custom product types | Liquid, apps, Shopify Functions |
| Transaction fees | Gateway only (eSewa, Stripe, etc.) | Shopify plan fee unless Shopify Payments |
| SEO control | Full server + plugin control | URL redirects app + theme edits |
| Multi-vendor | Plugins like Dokan/WCFM | Marketplace apps (different model) |
| Devops burden | You own updates and security | Platform handles core patches |
Stores like Petals Qatar stayed on WooCommerce because multi-currency florist workflows were already stable. Others moved when Shopify Markets and app ecosystems reduced weekly maintenance.
How do you audit WooCommerce data before migrating to Shopify?
Start with inventory truth. Broken source data becomes broken Shopify listings. Export a full product dump and list every custom post type, taxonomy, and plugin table that touches the catalog.
Pre-migration audit checklist
- Count published products, variations, drafts, and orphaned SKUs
- Document product types: simple, variable, grouped, subscription, bundled
- List active plugins: SEO, bundles, deposits, wholesale, multi-vendor
- Export current URL patterns from Yoast, Rank Math, or your SEO plugin
- Capture tax rules, shipping zones, and Nepal NPR settings if applicable
- Screenshot live checkout, emails, and thank-you page flows
- Note active coupons, gift cards, and loyalty point balances
- Pull GA4 and Search Console baseline for four weeks pre-migration
For NPR stores, review WooCommerce localization for Nepal Rupees and plan how Shopify will display currency. Use the Nepal forex rates tool if you show dual USD/NPR pricing during transition.
Fields that rarely map one-to-one
- Custom product tabs and ACF/meta boxes → Shopify metafields
- Wholesale tier pricing → Shopify B2B or a pricing app
- Linked variations across attributes → Shopify option limits (3 options, 100 variants)
- Digital downloads with licence keys → Shopify digital products or an app
- Custom checkout fields → Shopify checkout extensions
Freeze catalog edits once export begins. I've seen teams lose a week because marketing kept editing WooCommerce while imports ran.
What is the best way to migrate WooCommerce products to Shopify?
Shopify's built-in WooCommerce importer handles basic catalogs. Complex stores need CSV staging or the Admin API. Official docs at Shopify's WooCommerce migration guide cover the native path; cross-check field names against WooCommerce CSV export documentation.
Step 1 — Export from WooCommerce
In wp-admin go to Products → Export. Choose all columns. For large catalogs, use WP-CLI or split by category. See our WooCommerce bulk CSV import guide for column hygiene tips that also help on export.
# WP-CLI export example (run on WooCommerce server)
wp wc product list --format=csv --user=1 > /tmp/wc-products.csv
# Export customers (handle GDPR consent before moving emails)
wp wc customer list --format=csv > /tmp/wc-customers.csv
# Export orders for historical reference (orders do not auto-import)
wp wc shop_order list --format=csv > /tmp/wc-orders.csv Step 2 — Clean and map columns
Shopify expects Title, Body (HTML), Vendor, Type, Tags, Published, Option1 Name, Option1 Value, Variant SKU, Variant Price, Variant Compare At Price, Variant Inventory Qty, Image Src. Rename WooCommerce columns in a spreadsheet or script before import.
# Example Python column rename (run locally)
import pandas as pd
wc = pd.read_csv("wc-products.csv")
shopify = wc.rename(columns={
"Name": "Title",
"Description": "Body (HTML)",
"Regular price": "Variant Price",
"SKU": "Variant SKU",
"Stock": "Variant Inventory Qty",
"Categories": "Type",
})
shopify.to_csv("shopify-products.csv", index=False) Step 3 — Import into Shopify
Use Settings → Apps and sales channels → WooCommerce migration, or Products → Import for CSV. For 5,000+ SKUs, batch by collection and verify images load over HTTPS. The Shopify Admin REST API (2026-07 or later) suits automated runs with idempotent retries.
Customers and orders
Shopify can import customers with addresses via CSV. Passwords cannot transfer — plan a password-reset email or social login. Historical orders do not import natively; keep WooCommerce read-only for six to twelve months or use a migration app. On legal-tech and B2B portals I've built, order history access mattered — document that gap for support staff before launch.
Images and media
WooCommerce stores images in wp-content/uploads. CSV import needs public HTTPS URLs. Move files to Shopify CDN via import, or bulk-upload to Files and reference handles in metafields. Broken hotlinks are the top post-migration support ticket I see.
How do you preserve SEO URLs during a WooCommerce to Shopify migration?
URL structure changes kill rankings if you skip redirects. WooCommerce often uses /product/slug/ or /shop/slug/. Shopify defaults to /products/slug. Every old URL needs a 301 to its Shopify equivalent.
Follow our SEO migration checklist for zero traffic loss and engage technical SEO services if organic revenue is material.
Build the redirect map
- Crawl the live WooCommerce site with Screaming Frog or Sitebulb
- Export product, category, tag, and blog URLs
- Match each URL to the new Shopify path in a spreadsheet
- Upload CSV to Shopify Admin → Online Store → Navigation → URL Redirects
- Keep XML sitemap and robots.txt correct on the new store
- Submit the new sitemap in Google Search Console after cutover
# Redirect CSV format for Shopify bulk import
Redirect from,Redirect to
/product/old-slug/,/products/new-slug
/product-category/flowers/,/collections/flowers
/shop/legacy-item/,/products/legacy-item Match slug patterns where possible. Changing slugs without redirects costs more than theme work. Update internal links in blog posts manually or via a content pass.
Structured data and metadata
Export title tags and meta descriptions from your SEO plugin. Reapply them in Shopify using native SEO fields or an SEO app. Verify Product schema on key templates. Run testing and optimization on Core Web Vitals after theme selection — see Shopify speed optimization for Core Web Vitals.
How do you rebuild checkout, payments, and theme on Shopify?
Data import is half the job. Checkout UX, local gateways, and brand trust live in theme and payment configuration.
Theme and storefront
Pick a base theme close to your WooCommerce layout. Rebuild homepage sections, trust badges, and Nepali/English copy. For custom Liquid work, see Shopify custom theme development with Liquid. Match policy pages: shipping, returns, privacy — lawyers and florists both get chargebacks when policies vanish.
The Sagun Blossom Flower WooCommerce build relied on collection-led navigation; we mirrored that with Shopify smart collections and metafield filters instead of copying shortcodes.
Payments for Nepal and global
Configure Shopify Payments where available, plus PayPal, Stripe, or regional gateways. For Nepal-specific flows read Shopify custom payment gateway for Nepal. Test authorize/capture, refunds, and webhook logs in staging before DNS cutover.
Shipping and taxes
Rebuild shipping zones to match WooCommerce rules. Nepal VAT and export paperwork won't auto-migrate — re-enter tax overrides manually. Confirm weight-based rates against real product samples, not CSV guesses.
How do you test and go live without breaking orders?
Treat staging like production. Shopify preview themes and duplicate stores help, but payment and DNS tests need a written runbook.
Pre-launch QA script
- Place test orders for each payment method and shipping zone
- Verify confirmation emails, SMS, and ERP/webhook integrations
- Spot-check 20 random SKUs: price, stock, images, variants
- Hit top 50 legacy URLs — confirm 301 status, not 404
- Run mobile checkout on 3G throttled DevTools profile
- Confirm GA4 and Meta Pixel purchase events fire once
- Disable WooCommerce cart and add a maintenance banner with support phone
DNS cutover
Point the apex domain A record and www CNAME to Shopify. Lower TTL to 300 seconds twenty-four hours before switch. Keep WooCommerce online read-only for order lookups. Document rollback: revert DNS to old host if checkout fails in the first hour.
Post-launch, book support and maintenance for the first month. Traffic dips in week one are normal; sustained 404 spikes are not.
Key Takeaways
- Audit plugins, product types, and URL patterns before exporting — unmappable WooCommerce features become launch-day surprises.
- Export clean CSVs, map metafields early, and batch large catalogs instead of one fragile mega-import.
- Build a complete 301 redirect map from crawled WooCommerce URLs to Shopify paths before DNS changes.
- Plan customer password resets and read-only WooCommerce access for historical orders.
- Test every payment gateway and shipping zone on Shopify staging with real webhook verification.
- Cut over DNS in a quiet window and monitor Search Console 404s for thirty days after go-live.
People Also Ask
Can Shopify import WooCommerce orders automatically?
Shopify's native WooCommerce importer focuses on products, customers, and coupons — not full order history. Most teams keep WooCommerce read-only for six to twelve months or use a paid migration app. Support staff should know where to look up legacy orders before you flip DNS.
Will my WooCommerce SEO rankings drop after moving to Shopify?
Rankings hold when every indexed URL returns 301 to the correct Shopify equivalent, metadata is reapplied, and you avoid multi-week downtime. Skipping category and tag redirects causes the biggest drops. Follow a structured SEO migration checklist and watch Google Search Console daily for two weeks post-launch.
How long does a WooCommerce to Shopify migration take?
A catalog under 500 SKUs with simple variants often takes two to three weeks including theme work. Stores above 5,000 SKUs, multi-vendor plugins, or custom checkout logic commonly need four to eight weeks. Budget extra time if you rebuild Nepal payment integrations or wholesale pricing rules.
Is Shopify cheaper than WooCommerce after migration?
Shopify trades hosting and DevOps cost for monthly plan fees plus apps. WooCommerce on a VPS might cost Rs 3,000–8,000/month (~USD 22–60) in hosting alone, but developer time for updates adds up. Model three-year TCO including apps, gateway fees, and your team's hours — not just subscription sticker price.
Ship your Shopify store with a plan, not a panic migration
A disciplined Shopify migration from WooCommerce step by step beats a weekend plugin export every time. Audit first, map fields honestly, redirect every URL, test checkout like a customer, then cut DNS when the team has a rollback script. I've used this sequence on production stores from florists to grocery brands — the steps don't change, only the catalog complexity does. Browse our e-commerce portfolio for WooCommerce and Shopify work, read more on the blog, or contact us if you want a migration runbook tailored to your catalog and market.
Frequently Asked Questions
0 Comments
Leave a comment
Your email is not published. Comments appear once they have been read. Sign in to have your details filled in.

