All articles
Beyond WooCommerce

WooCommerce to Medusa.js Migration: Step-by-Step Playbook

·6 min read
Before → after

What the migration delivers

WooCommerce today
  • Lighthouse (mobile)55
  • TTFB3.5s
  • Hosting / yr€240
  • Plugin tax / mo€80–€250
Medusa.js + Next.js
  • Lighthouse (mobile)96
  • TTFB0.9s
  • Hosting / yr€150
  • Plugin tax / mo€0

If you've decided your WooCommerce store needs to move — for speed, for plugin sanity, for multi-region capability — the migration itself is the part most articles leave out. This is the playbook I follow on WooCommerce-to-Medusa migrations. It assumes you've already read why headless wins in 2026 → and decided to move.

The whole sequence takes 3–6 weeks for a typical sub-500-SKU store. The risks worth managing are SEO loss, customer data integrity, and ad attribution continuity. Each gets a dedicated step below.

What you keep, what you rebuild

Before starting, set expectations on what the migration carries over cleanly versus what gets rebuilt:

ElementMigration path
Product catalogue (titles, descriptions, prices, variants)Direct import (CSV or REST API)
Product imagesDirect import with re-optimisation
Categories and tagsDirect import
Customers (email, name, address)Direct import
Order history (read-only, for records)Direct import
Active subscriptionsRe-implement in Medusa (no direct equivalent migration)
ReviewsDirect import via CSV (if extracted from plugin)
Theme appearanceRebuild in Next.js
Custom pluginsRe-implement as Node modules
Page content (blog, info pages)Stays on WordPress as sub-domain OR migrates to Payload CMS
SEO meta + redirectsManual SEO mapping (most critical step)

What you keep that you didn't expect

A few advantages owners discover post-migration:

  • WooCommerce admin habits transfer. The new admin (Medusa Admin or Payload CMS) is different but learnable in a day.
  • You stop being scared of updates. No more dreading the next WordPress version because three plugins might break.
  • Page edits feel instant. Payload CMS publishes in under a second; WordPress was minutes with caching plugins.

FAQ

How long does the WooCommerce store need to stay live during migration? The old store keeps running until DNS cutover at the end of week 6. There's no overlap period where two stores compete — the 301 redirects from day one means there's only ever one active URL.

Will my product URLs change? By default, no. URL structure is preserved exactly. If you want to clean up legacy URL patterns, that's done explicitly via the 301 map.

What happens to my WooCommerce subscriptions? Subscriptions need to be re-implemented in Medusa. This is the single hardest plugin to migrate cleanly. Expect 2–4 days of additional engineering work and a clear customer communication plan for billing-cycle continuity.

Can my Shopify store be migrated the same way? Yes, the playbook is nearly identical with different data export specifics. Here's why Shopify migrations are often a higher priority →

Do I need to migrate my blog at the same time? No. WordPress can stay alongside as a sub-path (/blog) or sub-domain. Owners who prefer the WordPress authoring workflow can keep it exactly as-is.

Next steps

If you've read this far and you're thinking about timing, the right next step is a 24-hour fixed quote. Send a one-line brief → — your domain, your rough SKU count, your top concerns — and I'll come back with a migration plan and price. New builds without a migration involved start at /services/online-store from €2,000.

The six-week schedule

How migration runs end-to-end

Each week has a defined deliverable. SEO map first, cutover last — three risks (rankings, customer data, ad attribution) get a dedicated mitigation step.

  1. Week 1·

    Audit + SEO map

    • Full URL inventory
    • 301 redirect map (old → new)
    • Schema audit + performance baseline
    • Plugin → native-feature mapping
  2. Week 2·

    Medusa baseline + data import

    • Regions, currencies, taxes configured
    • Payment providers (Stripe + Multibanco, PayPal)
    • Products + customers + orders imported
    • Images re-optimised → Cloudflare R2
  3. Week 3–4·

    Next.js storefront build

    • Theme restored or Figma-based refresh
    • Custom flows re-implemented as React
    • Cart + checkout against Medusa APIs
    • Search, filters, content pages on Payload CMS
  4. Week 4–5·

    Analytics, ads, SEO infra

    • GA4 + Meta Pixel + CAPI (server-side, deduplicated)
    • GMC feed with stable IDs (no campaign reset)
    • Schema markup validated via Rich Results Test
    • Sitemap + hreflang + 301 map deployed
  5. Week 5–6·

    Cutover + 30 days support

    • Final delta sync (products + recent orders)
    • DNS switch (TTL pre-lowered 48h)
    • 301s live from minute one
    • Search Console + GA4 revenue reconciliation
Pricing

Migration — from €1,200

A single anchor price. Final quote depends on catalogue size and the complexity of the flows being migrated — never on artificial tiers.

Pricing
from €1,200

Final quote returned within 24 hours of the brief.

What you get
  • Full SEO mapping (URL inventory + 301 redirects + schema)
  • Product + customer + order import
  • GA4 + Meta CAPI server-side tracking
  • Coolify hosting (first year)
  • GMC feed with stable product IDs
  • 30 days of post-launch support
Risk control

Three risks, three mitigations

Most failed migrations break on the same three points. Each gets a dedicated counter-measure in the playbook.

SEO ranking loss

Every old URL gets a 301 destination — no exceptions. Schema reproduced or upgraded. Most clients see rankings recover within 14 days; many see lift from the speed gain.

Customer data corruption

Dry-run imports against a staging Medusa. Customer count, sample orders, and password-reset flow verified before go-live. Reset email sent on day one — communicated in advance.

Ad attribution gap

Server-side tracking live from day one — Pixel + GA4 event IDs continue across cutover. UTM-tagged campaigns keep working because their landing URLs 301 to the new pages.

Got a question on this?

Talk to me directly

Specific build, pricing, migration timing — anything that wasn't covered above, I answer personally within a working day.

Fill the brief