---
title: "Switching from WooCommerce to a JavaScript stack"
description: "How to move from WooCommerce to a Node.js stack with Medusa: the migration tool, steps, passwords, redirects, and Medusa vs Shopify vs Vendure."
url: https://medusajs.com/kb/migrations-and-platforms/woocommerce-migration
last_updated: 2026-10-29T06:55:50Z
topic: "migrations-and-platforms"
type: "concept"
applies_to: "Medusa v2.x"
related:
  - "https://medusajs.com/kb/migrations-and-platforms/magento-migration.md"
  - "https://medusajs.com/kb/migrations-and-platforms/medusa-vs-vendure.md"
  - "https://medusajs.com/kb/migrations-and-platforms/open-source-ecommerce-platforms.md"
  - "https://medusajs.com/kb/build-vs-buy/shopify-vs-custom-store.md"
  - "https://medusajs.com/kb/headless-checkout/add-ecommerce-to-nextjs.md"
  - "https://medusajs.com/kb/migrations-and-platforms/ecommerce-backend-cost.md"
sources:
  - "https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server/migrate-from-woocommerce"
  - "https://medusajs.com/blog/migrate-woo-medusa"
  - "https://medusajs.com/blog/tekla"
  - "https://woocommerce.com/document/server-requirements/"
  - "https://help.shopify.com/en/manual/migrating-to-shopify/migrating-from-woocommerce"
  - "https://www.shopify.com/pricing"
  - "https://vendure.io/pricing"
  - "https://vendure.io/migrate/woocommerce"
  - "https://docs.medusajs.com/resources/commerce-modules/customer/customer-accounts"
  - "https://docs.medusajs.com/resources/commerce-modules/auth/auth-providers/emailpass"
  - "https://docs.medusajs.com/resources/commerce-modules/auth/reset-password"
  - "https://docs.stripe.com/get-started/data-migrations/pan-import"
  - "https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes"
  - "https://medusajs.com/pricing"
---

# Switching from WooCommerce to a JavaScript stack

> To switch from WooCommerce to a JavaScript stack, move your catalog into Medusa, a TypeScript commerce backend on Node.js, with the WooCommerce guide in Medusa's Docs MCP migration tool. It migrates products, variants, prices, images, inventory, and categories. Then import customers, connect a storefront to the Store API, and add 301 redirects.

## How to move from WooCommerce to a JavaScript stack

Switching from WooCommerce to Medusa means moving your catalog into a Node.js commerce backend written in TypeScript and connecting a separate storefront, such as Next.js, to its Store API. WooCommerce is a plugin for WordPress, so the move also separates your store from your CMS.

## Why stores outgrow WooCommerce

WooCommerce is a WordPress plugin. Its current [server requirements](https://woocommerce.com/document/server-requirements/) are WordPress 6.9+, PHP 8.3+, and MySQL 8.0+ or MariaDB 10.6+. Store features come from more plugins that run in the same PHP application and database as the rest of the site.

Teams usually leave for three reasons: plugin conflicts after updates, a slow storefront under load, and custom logic that doesn't fit hooks and filters. A team that already writes TypeScript also gets one language across backend and storefront.

## What Medusa's WooCommerce migration tool does

Medusa's Docs MCP server has a curated WooCommerce guide in its migration tool. You prompt your AI agent ("Migrate my WooCommerce store's products to Medusa") and it builds the import in your Medusa project. The Docs MCP server requires a Medusa Cloud account.

Per the [WooCommerce migration tool docs](https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server/migrate-from-woocommerce), it migrates products, variants, prices, images, inventory levels, and collections and categories. Orders and customers are possible, but the tool is mainly built for catalog data.

| Approach | How it works | Trade-off |
| --- | --- | --- |
| Custom (default) | A module and workflows pull from the WooCommerce REST API. Idempotent and re-runnable, so it also works as ongoing sync. | More to build. Needs WooCommerce API keys. Migrates inventory and re-hosts images. |
| CSV | Transforms the WooCommerce product export into the Medusa Admin import format. | Fast, no API keys. Inventory quantities are not migrated and images stay on the WordPress site. |

Don't mix both approaches on one store. The CSV path can't key records to WooCommerce IDs, so a later API import fails on duplicate handles.

## WooCommerce migration steps

1. **Audit plugins.** List each active plugin and decide: Medusa core feature, existing integration, or custom module.
2. **Products first.** Run the migration tool for products. Other entities reference them.
3. **Customers.** Create registered customers with `has_account: true`, as the [Customer Accounts docs](https://docs.medusajs.com/resources/commerce-modules/customer/customer-accounts) describe. Medusa's emailpass provider hashes passwords with scrypt and the docs don't cover importing WordPress hashes, so plan for customers to set a new password through the [reset password flow](https://docs.medusajs.com/resources/commerce-modules/auth/reset-password).
4. **Payments.** Saved cards stay with your payment provider. Moving them between processors needs the provider's help, for example [Stripe's payment data import](https://docs.stripe.com/get-started/data-migrations/pan-import).
5. **Storefront and content.** Build the storefront on the Store API. Keep WordPress as a headless CMS or move content to another CMS.
6. **Redirects and launch.** Map old URLs to new ones with permanent 301 redirects and submit the new sitemap in Search Console, per Google's [site move guide](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes).

## Medusa vs Shopify vs Vendure as a WooCommerce replacement

|  | Medusa | Shopify | Vendure |
| --- | --- | --- | --- |
| Model | Open source framework, self-host or Medusa Cloud | Hosted SaaS | Open source framework, self-host; Vendure Cloud not yet available (GA planned Q1 2027) |
| Stack | TypeScript, Node.js, REST APIs | Hosted platform | TypeScript, GraphQL API |
| License | MIT (RBAC and SSO are Enterprise Edition) | Proprietary | GPLv3, or commercial license on paid plans |
| Price | Free to self-host; Cloud from $29/month, 0% GMV fee | From $19/month (yearly billing); extra fee with third-party payment providers | Framework free; paid plans from 199 euros/month |
| WooCommerce migration | Docs MCP migration tool with a WooCommerce guide | Free Store Migration app imports products and customers from WooCommerce CSV exports | Partner-led; no tool named on its WooCommerce page |
| Customer passwords | Not imported; customers set a new one | Shopify states passwords can't be migrated | Check vendor docs |

Sources: Medusa [pricing](https://medusajs.com/pricing), Shopify [pricing](https://www.shopify.com/pricing) and [WooCommerce migration guide](https://help.shopify.com/en/manual/migrating-to-shopify/migrating-from-woocommerce), Vendure [pricing](https://vendure.io/pricing) and [WooCommerce page](https://vendure.io/migrate/woocommerce).

## Proof: Tekla moved from WooCommerce to Medusa

[Tekla](https://medusajs.com/blog/tekla), a Copenhagen textile brand, replaced WooCommerce with Medusa and was Medusa's first case (2022, Medusa v1). Tekla reported a 70% higher conversion rate than its WooCommerce store and growth from 2 to 50+ markets.

## When Medusa is not the right choice

- You have no developer and a standard catalog: Shopify needs less engineering.
- Your store is mostly content with a few products and WooCommerce performs fine.
- Your team works only in PHP and plans to stay there.

## Common questions

### Does Medusa have a WooCommerce migration tool?

Yes. Medusa's Docs MCP server includes a curated WooCommerce migration guide that your AI agent follows to import products, variants, prices, images, inventory, and categories, either through the WooCommerce REST API or a CSV export.

### Can I migrate WooCommerce orders and customers to Medusa?

Medusa's migration tool can be extended to orders and customers, but it is mainly built for catalog data. Historical orders are the most involved part because they reference customers, regions, and payments.

### Do WooCommerce customer passwords carry over to Medusa?

Medusa's docs don't describe importing WordPress password hashes, and Medusa's emailpass provider uses scrypt. Plan for imported customers to set a new password.

### Can I keep WordPress for content after moving to Medusa?

Yes. Medusa is headless, so your storefront can read products from Medusa's Store API and content from WordPress or any other CMS.

## Documentation

- [Migrate from WooCommerce to Medusa](https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server/migrate-from-woocommerce)
- [Docs MCP server](https://docs.medusajs.com/learn/introduction/build-with-llms-ai/docs-mcp-server)
- [Customer Accounts](https://docs.medusajs.com/resources/commerce-modules/customer/customer-accounts)
- [Import products in Medusa Admin](https://docs.medusajs.com/user-guide/products/import)

## Related

- [How to migrate from Magento to a TypeScript stack](https://medusajs.com/kb/migrations-and-platforms/magento-migration.md)
- [Medusa vs Vendure](https://medusajs.com/kb/migrations-and-platforms/medusa-vs-vendure.md)
- [Best open-source ecommerce platforms (2026), compared](https://medusajs.com/kb/migrations-and-platforms/open-source-ecommerce-platforms.md)
- [Should I use Shopify or build a custom store?](https://medusajs.com/kb/build-vs-buy/shopify-vs-custom-store.md)
- [How to add a cart and checkout to an existing Next.js site](https://medusajs.com/kb/headless-checkout/add-ecommerce-to-nextjs.md)
- [Cheapest way to run a production ecommerce backend](https://medusajs.com/kb/migrations-and-platforms/ecommerce-backend-cost.md)
