Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

Shopify Migration from WooCommerce Step by Step

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.

WooCommerce to Shopify DecisionAudit store needsStay on WooHeavy custom PHPHybrid phaseHeadless or syncMove to ShopifyOps + checkout painRun step-by-step migrationAudit, export, import, redirect, test, cutover
Decision tree for Shopify migration from WooCommerce step by step — custom code and ops load drive the call
FactorWooCommerce 11.1Shopify
HostingSelf-managed WordPress 7.1 stackIncluded SaaS hosting
Custom logicPHP hooks, custom product typesLiquid, apps, Shopify Functions
Transaction feesGateway only (eSewa, Stripe, etc.)Shopify plan fee unless Shopify Payments
SEO controlFull server + plugin controlURL redirects app + theme edits
Multi-vendorPlugins like Dokan/WCFMMarketplace apps (different model)
Devops burdenYou own updates and securityPlatform 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

  1. Count published products, variations, drafts, and orphaned SKUs
  2. Document product types: simple, variable, grouped, subscription, bundled
  3. List active plugins: SEO, bundles, deposits, wholesale, multi-vendor
  4. Export current URL patterns from Yoast, Rank Math, or your SEO plugin
  5. Capture tax rules, shipping zones, and Nepal NPR settings if applicable
  6. Screenshot live checkout, emails, and thank-you page flows
  7. Note active coupons, gift cards, and loyalty point balances
  8. 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.

WooCommerce to Shopify Data PipelineWooCommerceCSV / REST APITransformMap metafieldsValidateSKU + imagesShopifyProducts liveParallel tracks: customers, redirects, theme, payment gatewaysCustomersInvite or importOrdersArchive in WooCollectionsSmart rules
Product export, transform, validate, and import stages in Shopify migration from WooCommerce step by step

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

  1. Crawl the live WooCommerce site with Screaming Frog or Sitebulb
  2. Export product, category, tag, and blog URLs
  3. Match each URL to the new Shopify path in a spreadsheet
  4. Upload CSV to Shopify Admin → Online Store → Navigation → URL Redirects
  5. Keep XML sitemap and robots.txt correct on the new store
  6. 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.

SEO Redirect MappingOld Woo URL/product/rose-bouquet/301 MapCSV redirect fileShopify URL/products/rose-bouquetAlso redirect categories, tags, cart, and legacy blog pathsBefore cutoverCrawl + baseline GSCAfter cutoverMonitor 404s 30 days
301 redirect workflow to protect rankings during Shopify migration from WooCommerce step by step

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.

Migration Cutover TimelineWeek 1Audit +exportWeek 2Import +themeWeek 3QA + SEOredirectsWeek 4DNS +go-liveDay 30Monitor404 + GSCSchedule cutover in a low-traffic window; keep WooCommerce read-only as fallback
Four-week go-live timeline for Shopify migration from WooCommerce step by step with post-launch monitoring

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

  1. Place test orders for each payment method and shipping zone
  2. Verify confirmation emails, SMS, and ERP/webhook integrations
  3. Spot-check 20 random SKUs: price, stock, images, variants
  4. Hit top 50 legacy URLs — confirm 301 status, not 404
  5. Run mobile checkout on 3G throttled DevTools profile
  6. Confirm GA4 and Meta Pixel purchase events fire once
  7. 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

Move when managed hosting, PCI-compliant checkout, and less server maintenance matter more than deep PHP customisation. Common 2026 triggers include payment plugin conflicts after WooCommerce 11.1 or WordPress 7.1 upgrades, international expansion needing Shopify Markets, catalog speed issues, or ops fatigue on shared VPS hosting.

Start with inventory truth. Count published products, variations, drafts, and orphaned SKUs. Document product types, active plugins touching the catalog, URL patterns from Yoast or Rank Math, tax and shipping rules, active coupons, and a four-week GA4 and Search Console baseline. Screenshot checkout, emails, and thank-you flows. For NPR stores, review WooCommerce Nepal Rupee settings and plan Shopify currency display. Freeze catalog edits once export begins.

Export from WooCommerce via Products → Export with all columns, or use WP-CLI for large catalogs. Clean and rename columns to Shopify's expected format — Title, Body (HTML), Vendor, Type, Tags, Variant SKU, Variant Price, Variant Inventory Qty, Image Src. Use Shopify's built-in WooCommerce importer or Products → Import for CSV. For 5,000+ SKUs, batch by collection and verify HTTPS images. The Shopify Admin REST API (2026-07 or later) suits automated runs with idempotent retries.

Custom product tabs and ACF meta boxes need Shopify metafields. Wholesale tier pricing maps to Shopify B2B or a pricing app, not a native column. Linked variations hit Shopify's three-option, 100-variant limit. Digital downloads with licence keys need Shopify digital products or an app. Custom checkout fields require checkout extensions. Bundles, deposits, multi-vendor plugins, and subscription logic rarely import cleanly without manual rebuild or third-party apps.

No. Shopify's native WooCommerce importer covers products, customers, and coupons — not full order history. Keep WooCommerce read-only for six to twelve months, or use a paid migration app. Tell support staff where legacy orders live before DNS cutover.

Export customers with addresses via CSV or WP-CLI, but handle GDPR consent before moving email addresses. Shopify can import customer records, yet passwords cannot transfer — plan a password-reset email campaign or offer social login. Document the order-history gap for support staff before launch, especially on B2B or legal-tech stores where past purchase lookup matters.

WooCommerce stores files in wp-content/uploads, but CSV import needs public HTTPS URLs. Move images to Shopify CDN via import, or bulk-upload to Files and reference handles in metafields. Broken hotlinks are the top post-migration support ticket. After import, spot-check twenty random SKUs for correct images, variants, prices, and stock before go-live.

Crawl the live site with Screaming Frog or Sitebulb. Export product, category, tag, and blog URLs. Match each old path — often /product/slug/ or /shop/slug/ — to Shopify's /products/slug or /collections/ equivalent. Upload a redirect CSV to Online Store → Navigation → URL Redirects. Reapply title tags and meta descriptions from your SEO plugin. Submit the new sitemap in Google Search Console after cutover.

Rankings hold when every indexed URL returns a 301 to the correct Shopify equivalent, metadata is reapplied, and you avoid multi-week downtime. Skipping category and tag redirects causes the biggest drops. Watch Google Search Console daily for two weeks post-launch and monitor 404 spikes for thirty days. Traffic dips in week one are normal; sustained 404 errors are not.

Under 500 SKUs with simple variants: two to three weeks including theme work. Above 5,000 SKUs, multi-vendor plugins, or custom checkout: four to eight weeks. Add time for Nepal payment integrations or wholesale pricing rebuilds.

Pick a base theme close to your WooCommerce layout and rebuild homepage sections, trust badges, and policy pages. Configure Shopify Payments where available plus PayPal, Stripe, or regional gateways — see Nepal-specific gateway guidance for local flows. Rebuild shipping zones to match WooCommerce rules. Nepal VAT and export paperwork will not auto-migrate; re-enter tax overrides manually. Test authorize, capture, refunds, and webhook logs in staging before DNS cutover.

Shopify trades hosting and DevOps savings 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 total cost including apps, gateway fees, and team hours — not just the subscription sticker price.

Treat staging like production. Place test orders for each payment method and shipping zone. Verify confirmation emails, SMS, and ERP or webhook integrations. Hit the top fifty legacy URLs and confirm 301 status, not 404. Run mobile checkout on a 3G-throttled DevTools profile. Confirm GA4 and Meta Pixel purchase events fire once. Disable the WooCommerce cart and add a maintenance banner with a support phone number before DNS switch.

Lower TTL to 300 seconds twenty-four hours before switch. Point the apex domain A record and www CNAME to Shopify during a quiet traffic window. Keep WooCommerce online read-only for order lookups. Document rollback: revert DNS to the old host if checkout fails in the first hour. Book support and maintenance for the first month after launch.

Follow audit, export, map, import, redirect, test, cutover. Week one: audit plugins, URLs, and product types; export and clean CSVs. Weeks two to three: import products and customers, map metafields, build the full 301 redirect map, rebuild theme and checkout. Week four: run the pre-launch QA script, cut DNS, monitor Search Console 404s for thirty days. Complex catalogs or Nepal payment rebuilds extend this to four to eight weeks.

Share this article

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.

Quick Contact Options
Choose how you want to connect me: