All guidesShopify development

Moving from WooCommerce to Shopify without losing orders or rankings.

What moves from WooCommerce to Shopify and what you rebuild: product mapping, customers and orders, redirects, Razorpay, COD and GST, and a cutover that keeps you selling.

The short version

Moving from WooCommerce to Shopify is four jobs: import products and customers with Shopify's free Store Migration app or a reformatted CSV, import order history with a paid app such as Matrixify, rebuild plugins as Shopify apps or theme code, and 301 redirect every old URL before the domain moves. Customer passwords cannot be migrated, products with more than three variation attributes need restructuring, sale dates do not carry over, and coupons need rebuilding or a paid app. Indian stores also need to plan for Shopify's third-party transaction fee on prepaid orders (2%, 1% or 0.6% by plan), a GST invoicing app and Razorpay's website review. Keep WooCommerce trading until cutover and the store never stops selling.

What moves from WooCommerce, and what you rebuild

Products, customers, order history, reviews, blog posts and pages can all move to Shopify. Your theme, plugins, coupons and customer passwords do not, so they are rebuilt or replaced. Each data type has its own tool, and choosing them is the first decision.

DataHow it movesWatch for
ProductsShopify's free Store Migration app, or a reformatted product CSV3 options per product; imports land as drafts
CustomersStore Migration app, or a customer CSVWooCommerce's built-in exports lack full addresses
Order historyA migration app: Matrixify, LitExtension or AblestarCannot be imported by CSV
ReviewsA reviews app with a WooCommerce importer, such as Judge.meNot in the product export
CouponsRecreated as Shopify discounts, or MatrixifyNo CSV import
Blog posts and pagesCopied by hand, or MatrixifyNot in WooCommerce exports
Customer passwordsCannot be migratedPlan the first sign-in
Theme and pluginsRebuilt as a Shopify theme and appsWhere most of the scope hides

The tool facts above come from Shopify's own WooCommerce migration guide, the most accurate source on what each importer can and cannot do. This guide covers what that page leaves out: the decisions, the order of work, and the parts specific to Indian stores. For the platform-neutral version, see the replatform checklist.

Products: the mapping that breaks most imports

Products are the easiest data to move and the easiest to get subtly wrong. The import usually succeeds, and the problems surface weeks later as missing variants, wrong shipping weights or sale prices that never end.

Export from WordPress admin at Products > All Products > Export, and select Yes, export all custom meta so your SEO plugin's fields and any custom fields come with it. Then check these before importing:

  • Variations with more than 3 attributes. Shopify allows up to three options and 2,048 variants per product. The Store Migration app imports a product with 4 or more variation attributes without any variants at all. Find those products first and restructure them: merge two attributes into one, or split the product.
  • Weights. Shopify's CSV wants grams. Multiply kilograms by 1,000, pounds by 453.6 and ounces by 28.35. Wrong weights turn into wrong shipping rates at checkout.
  • Sale prices. For a sale that is live, the sale price goes in Price and the regular price in Compare-at price. Sale start and end dates are not imported, so each sale has to be ended by hand or rebuilt as a scheduled discount.
  • Categories. They have no direct equivalent. Put them in Tags, then build automated collections on those tags.
  • Stock. The stock column maps cleanly only for a single location. Multi-warehouse stores need Shopify's separate inventory CSV.
  • Images. Shopify downloads each image from its WooCommerce URL during the import, so the old store has to stay online until the import finishes.
  • Handles. Keep each product's WooCommerce slug as its Shopify handle. It costs nothing at import and turns your redirect map into a simple pattern later.

When you import, deselect Publish new products to all sales channels. Products should go live at cutover, not the moment they land. Then compare a sample of each product type against the old store: variants, prices, images, descriptions, and the SEO title and description.

Customers, passwords and order history

Customer records move, passwords never do, and order history needs a paid app. Plan the three separately.

Customers. WooCommerce's built-in exports do not include full address details, and its Analytics Customers report omits street addresses, so Shopify points to a plugin such as Import Export Suite for WooCommerce for a complete export. The customer CSV must match Shopify's headings exactly, with province and country as ISO codes, because the customer import has no column mapping. Tag imported customers during the import so you can reach them as a segment later.

Passwords. Customer passwords cannot be migrated. On Shopify's current customer accounts this barely matters: customers enter their email address and receive a one-time 6-digit code, and anyone with a customer profile in your admin already has an account. Stores on legacy accounts have to invite every customer to set a new password, which is a good reason to launch on the new accounts. Our customer accounts guide covers that choice.

Orders. Historical orders cannot be imported by CSV. Shopify names Matrixify, LitExtension Store Migration and Ablestar WooCommerce Importer for the job. Import products first, then customers, then orders, so each order links to the right customer and product. Matrixify's WooCommerce tutorial also advises turning off the staff "New order" notification in Settings > Notifications before the import, so the team is not emailed once per historical order.

Decide how much history you need before paying to move it. Lifetime value, repeat-purchase reporting and returns on recent orders depend on it. Very old orders rarely earn the import cost, and the WooCommerce database can be archived instead.

Redirects that keep your rankings

Every WooCommerce URL that gets traffic or has links needs a 301 redirect to its Shopify equivalent, in place before the domain moves. URLs are the part of a migration Google sees directly, and skipped redirects cause most post-migration traffic drops.

The patterns change predictably. WooCommerce's defaults, per its permalink documentation, map like this:

PageWooCommerceShopify
Product/product/blue-kurta//products/blue-kurta
Category/product-category/kurtas//collections/kurtas
Page/about-us//pages/about-us
Store policy/shipping-policy//policies/shipping-policy if set in Shopify's policy settings
Blog postDepends on your WordPress permalink setting/blogs/news/post-handle

Build the map from real data rather than memory: the WooCommerce sitemap, plus every page with traffic in Search Console and analytics over the last 12 months. Then:

  • Create redirects at Content > Menus > View URL Redirects, or import them as a CSV. Shopify's redirect limits are 100,000 on standard plans and 20,000,000 on Plus, so catalogue size is rarely the constraint.
  • Shopify only applies a redirect when the old URL is broken. If a path still loads a page, the redirect is ignored.
  • If the store ran on plain WordPress permalinks such as ?product=111, plan extra testing: Shopify warns that URLs with query strings might not work as expected with redirects.
  • Point each old URL straight at its final page. Old redirects from earlier slug changes on WooCommerce often add hops, and Google recommends chains of ideally no more than 3.
  • Carry SEO titles and meta descriptions from your SEO plugin into Shopify's SEO fields rather than letting Shopify generate them.

After launch, submit Shopify's automatic /sitemap.xml in Search Console and test the old URLs of your top pages by hand, trailing slash included. Google's site move guidance says new URLs can take a few weeks or more to replace old ones for a medium-sized site, and recommends keeping redirects for at least a year. On Shopify they cost nothing, so keep them for good.

Payments, COD and GST for Indian stores

Shopify Payments is not available in India, so an Indian store pays Shopify a third-party transaction fee on every online payment, on top of the gateway's own fee. That one fact should decide which Shopify plan a WooCommerce store moves to.

Per Shopify's India pricing, the fee is 2% on Basic, 1% on Grow and 0.6% on Advanced. Monthly-billed plan prices are ₹1,994, ₹7,447 and ₹30,164 (₹1,499, ₹5,599 and ₹22,680 a month billed yearly). Cash on delivery is a manual payment method, and Shopify charges no third-party fee on manual payments, so only prepaid revenue counts:

  • Basic to Grow. On monthly billing Grow costs ₹5,453 more and saves 1% of prepaid revenue, so it pays for itself above about ₹5.5 lakh of prepaid sales a month.
  • Grow to Advanced. Advanced costs ₹22,717 more and saves another 0.4%, so the fee saving alone breaks even at about ₹57 lakh of prepaid sales a month.

A WooCommerce store pays no platform fee of this kind, so put it in the cost comparison before you decide, not after the first invoice. Then the setup:

  • Gateway. Razorpay connects at Settings > Payments > Add payment method, searching by provider for "01 Cards, UPI, NB, Wallets by Razorpay". Razorpay's Shopify documentation says the website must be reviewed before integration and only the Razorpay account owner can connect it, so start weeks before cutover, not on launch day.
  • COD. Turn it on in Settings > Payments. COD orders arrive marked unpaid and are marked paid after collection, which changes how the team reconciles compared with a WooCommerce COD plugin. If RTO already hurts, fix it during the move; see cutting COD returns and RTO.
  • GST. Shopify cannot show CGST and SGST as separate tax lines, so you combine them into one rate. HSN codes go in the HS tariff code field in each product's Shipping section, which needs at least 6 digits. Shopify does not create GST-compliant invoices, so a GST invoicing app replaces the WooCommerce plugin that produced them. Shopify's GST in India FAQ covers the setup.
  • Shipping. Reconnect your aggregator through its Shopify app. Shiprocket's listing, for example, covers 25+ courier partners and 24,000+ Indian pincodes. Test a prepaid and a COD order all the way to label creation.

Plugins become apps, and that is where scope hides

Every WooCommerce plugin needs a Shopify answer: a built-in feature, an app, theme code, or a decision to drop it. List them all before agreeing a timeline, because this list sets the size of the job more than the catalogue does.

Open Plugins in WordPress admin and sort each one into a group:

  • Built into Shopify. SEO titles and descriptions, the sitemap, standard discounts, abandoned checkout emails and staff permissions need no app.
  • Replaced by an app. Reviews, subscriptions, loyalty, GST invoicing, WhatsApp notifications and product options beyond three. App Store listings show estimated rupee prices for Indian stores, so total them in rupees before you commit.
  • Rebuilt in the theme. Size charts, custom product page layouts, bundle displays and anything a developer added to functions.php. Shopify themes are written in Liquid, not PHP, so this code is rewritten rather than moved.
  • Dropped. Caching and security plugins exist because WordPress is self-hosted. Shopify runs the hosting, so they go.

Resist installing one app per plugin. A long plugin list rarely needs as many Shopify apps, and each app adds cost and load time. Our app audit guide sets out how to judge them.

A cutover plan that keeps the store selling

Build the Shopify store in full while WooCommerce keeps trading, then switch the domain in one planned window. Nobody should have to stop selling for the move.

  1. Build and import. Theme, apps, products and customers go into the new store behind its password page. Search engines cannot read Shopify's sitemap while the store is password protected, which is fine until launch.
  2. Freeze catalogue edits. Agree a date after which product changes happen in Shopify only, or run a final import of everything edited since the first one.
  3. Test real orders. Prepaid through the gateway, COD, a discount code, a GST invoice, a shipping label and a customer sign-in.
  4. Load the redirects. All of them, before the domain moves.
  5. Run the final order import. Bring across orders placed on WooCommerce since the first order import, right before cutover.
  6. Move the domain. Disconnect it from the old setup first, because Shopify warns that skipping this step can cause SSL certificate errors. Connect it in Shopify, remove the password page and publish the products.
  7. Watch the first 48 hours. Order flow, payment success rate, 404s in Search Console, and the old URLs of your top pages.
  8. Archive WooCommerce, do not delete it. Keep the database and files for refunds, disputes and anything the import missed.

This is how Jimmy Luxury moved off WordPress onto Shopify: a deep catalogue, around a hundred orders a day during the move, and no pause in trading. Miduty's move from PalakNotes followed the same pattern: a new Shopify store built beside the live one, then a cutover at 400 to 500 orders a day with zero downtime.

What the move costs and how long it takes

The import tools are cheap. The money and time go into mapping data, rebuilding plugins as apps or theme code, and testing, so budget for those.

  • Import tools. Shopify's Store Migration app is free for products and customers. Matrixify, which also moves orders, coupons, blog posts and redirects, lists Basic at about ₹1,900 a month (5,000 products, 2,000 customers and 1,000 orders per file) and Big at about ₹4,760 (50,000 products, 20,000 customers and 10,000 orders). Most stores need it only for the weeks of the migration.
  • Shopify plan. ₹1,994 to ₹30,164 a month on monthly billing, chosen with the transaction fee calculation above.
  • Theme. A free theme, a paid one (non-refundable once bought, though you can try it first) or a custom build.
  • Apps. The monthly total of the plugin replacements you listed.
  • Build time. Design, theme work, data cleanup, testing and the cutover itself. This is usually the largest line.

A small catalogue with few plugins moves faster than any of the steps above suggest. A large catalogue with custom plugins, order history and several warehouses takes longer, and most replatforms run 4 to 10 weeks, as our replatform checklist sets out. If you would like a second opinion on your plugin list or redirect map before you start, get in touch.

Questions

Can I migrate from WooCommerce to Shopify for free?

Partly. Shopify's Store Migration app is free and imports WooCommerce products and customers from their CSV exports, and you can also reformat the CSVs yourself and use Shopify's built-in importer. Order history, coupons and blog posts are the parts that cost money, because they need a paid app such as Matrixify, LitExtension or Ablestar. Matrixify's free plan handles only 10 items of each type, enough to test an import but not to run one.

Will I lose my Google rankings when I move from WooCommerce to Shopify?

Not if every old URL that gets traffic or links has a 301 redirect to its Shopify equivalent before the domain moves. Product URLs change from /product/ to /products/ and categories from /product-category/ to /collections/, so a missing redirect map is the usual cause of a drop. Expect some movement anyway: Google says new URLs can take a few weeks or more to replace old ones on a medium-sized site.

Do customers have to reset their passwords after moving to Shopify?

Passwords cannot be migrated from WooCommerce. On Shopify's current customer accounts that does not matter, because customers sign in with their email address and a one-time 6-digit code, and imported customers already have an account. Only stores using legacy customer accounts need to invite customers to create new passwords.

How do I import orders from WooCommerce to Shopify?

Use a migration app, because Shopify cannot import orders by CSV. Shopify's WooCommerce guide names Matrixify, LitExtension Store Migration and Ablestar WooCommerce Importer. Import products first, then customers, then orders, so each order links to the right records, and turn off the staff "New order" notification before you start so the import does not send an email per order.

Is Shopify more expensive than WooCommerce in India?

Shopify adds two costs WooCommerce does not have: a plan at ₹1,994, ₹7,447 or ₹30,164 a month on monthly billing, and, because Shopify Payments is not available in India, a third-party transaction fee of 2%, 1% or 0.6% on prepaid orders. COD orders carry no such fee. Whether it costs more overall depends on what WooCommerce costs you today: hosting, paid plugin renewals and developer hours spent on updates and fixes.

How do I transfer my domain from WooCommerce to Shopify?

Set up all URL redirects in Shopify first, then disconnect the domain from the old hosting setup before connecting it to Shopify, which Shopify says avoids SSL certificate errors. Connect the domain in Shopify, remove the store's password page, and test your most visited old URLs. If the domain stays the same, Google's Change of Address tool is not needed.

Get started

Talk to us about your store.

Average reply 11 min

Book a call

30 minutes with Suvam. Leave knowing what to fix, build or leave alone.

Book a call
Mon to Sat, 9 to 23 IST

Email us

A brief, a bug or a question. All welcome.

suvam@knox.team