WooCommerce powers between 36 and 67 percent of all online stores worldwide (BuiltWith/Storeleads) and holds 7.44 percent of the German market - making it the dominant WordPress e-commerce plugin. As assortments grow, B2B requirements become more complex or international scaling enters the picture, many merchants reach the limits of the platform and consider a move to Shopware 6. The DACH specialist holds around 11.5 percent of the German top 1,000 online shops (BuiltWith), 80.73 percent of all Shopware customers are based in DACH (Shopware Press), and cases like ARMEDANGELS demonstrate the upside: 53 percent more conversion and a 10 percent revenue lift within six months after the migration to Shopware 6 (dasistweb). Anyone planning a switch from WooCommerce to Shopware needs to think carefully about the data model, the plugin landscape and - above all - SEO preservation. This guide walks through the five phases, the mapping and the critical levers.

Migration WooCommerce to Shopware 6 - 5-Phase RoadmapWooCommerce36-67% global / 7.44% DEShopware 611.5% Top-1000 DE1. Preparation4-6 weeksAudit, data model,redirect map,plugin inventory2. Data Migration2-4 weeksStaging import,Migration Assistant,custom ETL3. Testing3-4 weeksUAT, load tests,checkout, tax,SEO crawl diff4. Cutover24-72 hoursDNS switch,301 map active,read-only window5. Post-Launch4-8 weeksSearch Console,logs, conversion,performance+53%conversion (ARMEDANGELS)+10%revenue after 6 months (dasistweb)80.73%Shopware customers in DACH (Shopware Press)Sources: Shopware Press, dasistweb ARMEDANGELS case, BuiltWith, Storeleads, Qualimero, Forbytes, Webgility, Practical Ecommerce

Why shops switch from WooCommerce to Shopware

WooCommerce is fast to set up as a WordPress plugin and works well for small and mid-sized stores. As complexity grows - more products, multilingual sales channels, B2B features or headless frontends - the maintenance effort grows too: plugin stacks, hosting tuning and individual extensions on top of the WordPress theme. Shopware 6 ships with a Symfony foundation, an API-first architecture and a dedicated data model with sales channels, rule builder and shopping experiences. Both systems have their place - migration is not a verdict but a strategic decision. The market view: Shopware sits at around 2.03 percent globally, but at 11.5 percent of the German top 1,000 stores (BuiltWith), and Shopware's North American expansion grew by 300 percent year over year in H1 2025 (Shopware Press). Real-world cases such as the ARMEDANGELS relaunch with 53 percent more conversion (dasistweb) show that a well-planned e-commerce migration can move the needle measurably.

CriterionWooCommerceShopware 6
ArchitectureWordPress plugin (PHP, theme-driven)Symfony, API-first, sales channels
DE market share (top 1,000)Part of WordPress cluster11.5 % (BuiltWith)
Data modelWordPress custom post typesDedicated DB, EntityRepository, versions
B2B featuresPlugin-basedCustom-built, rule builder
Headless / APIREST/Store API via pluginsNative Admin and Store API
DACH focusGlobally broad80.73 % customers in DACH (Shopware Press)
Migration is a business project

Studies show that 83 percent of all IT migrations fail or exceed budget (Swell). Structured consulting before the technical implementation typically reduces this risk significantly.

Estimating migration effort and cost realistically

Industry benchmarks place e-commerce migration projects between USD 25,001 and USD 500,000 in total budget (Shopify Plus/Webgility). The range is huge - it stretches from a mid-market shop to a complex enterprise stack. Project duration typically falls between 2 and 20 months, with a strategic median of 3 to 6 months (Qualimero/Forbytes). Cutting corners increases the risk of data errors, weak SEO preparation and a botched cutover. The cutover phase itself - the moment when live data actually moves - usually lasts 24 to 72 hours (Swell), depending on whether you choose a read-only mode or a full shop stop. Downtime is expensive: an average of USD 5,600 per minute is reported, with a range from USD 427 per minute for smaller mid-market shops to USD 9,000 per minute in the enterprise space (Webgility).

ItemShareNote
Platform setupUSD 1,000 to 5,000 (Webgility)Shopware install, hosting, base config
Data cleanupUSD 2,000 to 8,000 (Human Element)Duplicates, inconsistencies, images, category tree
Custom API / ETLUSD 5,000 to 15,000 (Human Element)Orders, reviews, B2B data, migration scripts
Testing10 to 20 % of budget (Human Element)UAT, load, SEO crawl, taxes, shipping
Composable / API-firstUp to -40 % migration cost (Shopify Plus)Modular architecture lowers risk and effort

Choosing a modular, API-first architecture from day one can lower migration costs by up to 40 percent according to industry analysis (Shopify Plus). That speaks clearly in favour of Shopware 6 with its native Admin and Store API and a clean separation between backend, storefront and integrations to ERP, PIM or marketplaces.

Data model mapping: where each entity goes

The decisive step in any WooCommerce-to-Shopware migration is mapping data structures. WooCommerce stores almost everything in WordPress custom post types and postmeta tables; Shopware 6 uses dedicated tables with versioning and the EntityRepository pattern. The overview below shows the most important entities and their target structure (Shopware Documentation):

WooCommerce sourceShopware 6 targetNote
wp-json/wc/v3/productsproduct + visibility via Sync APIVariants via parent_id and option_ids
Product categories (taxonomy)category + product_categoryMap tree into sales channel
wp-json/wc/v3/customerscustomer + customer_addressPassword hashes are not transferable
wp-json/wc/v3/ordersorder + order_line_item + transaction + deliveryState machine mapping required
wp-content/uploads (Media)media + media_folderNew media IDs, redirect old URLs via 301
Comment-type reviewproduct_review (custom importer)Skipped by Migration Assistant
Yoast / Rank Math metaseo_url, product.metaTitle/metaDescriptionMandatory for SEO preservation

Shopware ships with an official Migration Assistant (open source) that transfers master data such as products, customers, orders and categories automatically (Qualimero). Complex data such as B2B tier prices, subscriptions, custom fields or WordPress blogs is typically not handled cleanly and needs an individual ETL script via the Sync API. That is not a flaw - it simply tells you how much individual development is required to steer the migration.

Migrating products and variants

Products are the heart of every shop. WooCommerce knows simple products, variable products (with attributes) and product bundles - Shopware 6 structures them as a parent product with variants via parent_id and configurators with option IDs. The Shopware Sync API (/api/_action/sync) supports bulk imports in batches; it is rate-limited, so large catalogues need throttling logic in the ETL pipeline (LitExtension). Practical cases prove the scalability: basecom mapped over 2 million products in Shopware 6 for FAMO and built a 3D configurator on SW6 Enterprise for KADECO (basecom). A typical mapping for a variable product via the Sync API looks like this:

product-sync.json
{
  "write-products": {
    "entity": "product",
    "action": "upsert",
    "payload": [
      {
        "id": "a1b2c3d4e5f6...",
        "productNumber": "SKU-1001",
        "name": "Organic cotton t-shirt",
        "taxId": "19-percent-tax-id",
        "price": [
          {
            "currencyId": "euro-currency-id",
            "gross": 29.95,
            "net": 25.17,
            "linked": true
          }
        ],
        "stock": 120,
        "manufacturer": { "name": "Manufacturer Ltd." },
        "visibilities": [
          {
            "salesChannelId": "main-sales-channel-id",
            "visibility": 30
          }
        ],
        "children": [
          {
            "productNumber": "SKU-1001-M",
            "options": [{ "id": "size-m-option-id" }],
            "stock": 40
          }
        ]
      }
    ]
  }
}

Order matters: master data first (tax rates, manufacturers, property groups), then products with variants, then media, then relations such as cross-selling and reviews. If you have already worked on WooCommerce performance through caching, those insights directly support catalogue cleanup before migration.

Customers, passwords and re-activation

Customer data is sensitive and tightly bound to GDPR requirements. Addresses, orders, customer groups and wish lists can be transferred - password hashes typically cannot. WooCommerce uses PHP-Pass hashes (with WordPress's MD5 compatibility mode), Shopware 6 uses bcrypt with its own salt layout. Re-hashing in plain text is not legally permissible. The consequence: existing customers must reset their password once after the cutover.

Plan the re-activation email early

Existing customers should be informed before the cutover and guided through a password reset with a unique token via a re-activation email after go-live. Tracking activation rates, follow-up reminder mails and a clearly visible 'forgot password' flow on the new storefront typically reduce drop-off in the first two weeks significantly.

Orders and the state machine

Orders are the most complex part of the migration because they connect multiple entities: line items, transactions, deliveries and status values. WooCommerce knows statuses such as processing, on-hold, completed and refunded; Shopware 6 uses its own state machine with separate states for order, payment and delivery. Every source state must be mapped to the right target combination so reporting, dunning and the DATEV integration stay consistent. Orders that arrive shortly before or during the cutover should be caught by a read-only window or an order back-sync, so neither customers nor accounting need to maintain two systems in parallel. A clean state mapping is also the foundation for future real-time inventory sync across marketplaces.

Preserving SEO: 301 redirects are mandatory

The single most important SEO lever in any migration is a complete 301 redirect map. Studies show that without clean redirects 30 to 80 percent of organic traffic can drop after a platform change (SearchUp/Practical Ecommerce). A simple URL structure change without redirects typically already leads to more than 50 percent traffic loss (Semrush). Conversely, a real-world case shows that mapping 650,000 dead URLs to clean 301 targets delivered 130 percent more organic traffic and a 227 percent revenue uplift (Practical Ecommerce). Every SEO-driven migration must include the following:

  • Complete URL map WooCommerce /produkt/{slug}/ to Shopware seo_url
  • Pagination, filters, sorting mapped (e.g. ?paged=2, ?orderby=...)
  • Images and media redirected from /wp-content/uploads/... to new media URLs
  • Feeds and sitemaps updated (Google Merchant, RSS, sitemap.xml)
  • Yoast/Rank Math meta carried into seo_url and product.metaTitle/metaDescription
  • Avoid redirect chains - more than three hops are 'SEO dead weight' (Practical Ecommerce)
  • Search Console comparison before and after migration, 404 log analysis

Technically the 301 map can be implemented with Nginx or Apache. For large maps (well above 10,000 entries) Nginx with a separate map file is preferable, since Apache .htaccess files lose noticeable performance with many RewriteRules:

nginx-redirects.conf
# /etc/nginx/conf.d/redirects.map
map $request_uri $wc_redirect {
    default "";
    /produkt/bio-baumwoll-tshirt/ /organic-cotton-tshirt/;
    /produkt-kategorie/herren/ /men/;
    /produkt-kategorie/herren/page/2/ /men/?p=2;
    /shop/ /;
    /warenkorb/ /checkout/cart;
    /kasse/ /checkout/confirm;
    ~^/wp-content/uploads/(.+)$ /media/$1;
}

server {
    listen 443 ssl http2;
    server_name www.example-shop.com;

    if ($wc_redirect != "") {
        return 301 $wc_redirect;
    }

    # Shopware 6 reverse proxy / fastcgi
    # ...
}

Before go-live, a full SEO crawl of the old site should be compared against the new site to close gaps - more details are in our SEO audit guide for online shops. Combined with the right JSON-LD schemas the visibility in the SERP snippet stays consistent.

Plugin mapping: replacing functionality

WooCommerce owes its reach to a huge plugin ecosystem. During migration the database is not the only thing that moves - every used function needs an equivalent in Shopware 6. The following mapping covers typical functional areas (this is not a plugin recommendation list, but a technical overview):

Subscriptions

WooCommerce Subscriptions models recurring orders via custom post meta. In Shopware 6 the native subscriptions feature or a custom-developed solution takes over. Topics like subscription commerce should be approached from the data model angle.

Multilingual

WPML or Polylang are replaced in Shopware 6 by the sales-channel concept and the language entity. Languages, domains and storefronts are cleanly separated - including translatable SEO URLs.

SEO

Yoast SEO and Rank Math provide data that is imported into Shopware 6 via seo_url and product fields. For editorial content, shopping experiences or a connected headless CMS stack can take over.

Payment

Stripe, Klarna or PayPal plugins are replaced by Shopware 6 payment apps. Configuration happens centrally in the admin UI and the data model cleanly separates transaction from order.

A clean plugin inventory belongs in the very first migration phase: which plugins are productive, which are dead, which carry business logic? The inventory drives custom development effort - often the most painful part of a migration, but also the biggest opportunity to build a cleaner architecture.

Cutover strategy: minimising downtime

The cutover is the most delicate moment of the migration. A well-thought-out cutover strategy reduces risk and revenue loss. The following sequence has proven itself:

  1. Pre-cutover sync - final delta sync of orders, customers and stocks into staging.
  2. Switch frontend to read-only - WooCommerce shop stops accepting new orders, customers see a maintenance and migration notice.
  3. Final data snapshot - export complete order data, customers, reviews, custom fields and media.
  4. Final import into Shopware 6 - via Sync API in the correct order (master data, products, customers, orders, reviews).
  5. DNS switch - reduce TTL to 5-15 minutes in advance, then point to the new storefront.
  6. Activate 301 map - load the Nginx map, all old URLs redirect immediately.
  7. Live smoke tests - checkout, login, payment, shipping labels, ERP sync, customer account, search.
  8. Re-activation email - send to all existing customers with a token for password reset.
  9. Order back-sync - carry remaining WooCommerce orders into Shopware where needed.
  10. Intensified monitoring - Search Console, server logs, 404s, conversion, response times.

With professional cutover choreography the actual 'hard' downtime can typically be reduced to 1 to 4 hours, and with more decoupled architectures even close to zero. Preparation is key: without a clean plan and a tested 301 map the risk of a failed relaunch increases significantly.

Post-launch monitoring

Go-live does not end the migration - it kicks off a critical phase. The first 4 to 8 weeks decide whether visibility, conversion and performance hold up. Search Console and server logs deliver early signals about 404s, crawl errors or lost rankings; a switch to server-side tracking should happen early so conversion data stays gap-free.

Performance also deserves special attention: a migration is the perfect occasion to bring PHP performance up to date and to push Lighthouse scores - useful templates are documented in our piece on Lighthouse 100 for Shopware. KPIs such as conversion rate, average order value, time to first byte and bounce rate should be compared daily against the WooCommerce baseline. Cases like ARMEDANGELS show the upside: 53 percent more conversion and 10 percent more revenue within six months after the Shopware 6 migration (dasistweb).

5-phase roadmap at a glance

A WooCommerce-to-Shopware migration can be structured in five clear phases. This roadmap typically spans 3 to 6 months (Qualimero/Forbytes), depending on catalogue depth, integrations and internationalisation.

  1. Phase 1: Preparation (4-6 weeks) - platform audit, plugin inventory, catalogue analysis, data model mapping, full 301 redirect map, hosting concept, stakeholder workshops.
  2. Phase 2: Data migration (2-4 weeks) - staging setup, ETL scripts, Shopware Migration Assistant for master data, custom importers for B2B prices, reviews and subscriptions.
  3. Phase 3: Testing (3-4 weeks) - functional tests, UAT with business teams, load tests, checkout flows, taxes and shipping, SEO crawl comparison between old and new site.
  4. Phase 4: Cutover (24-72 hours) - read-only window, final snapshot, DNS switch, 301 map activation, order back-sync, live smoke tests, re-activation email.
  5. Phase 5: Post-launch (4-8 weeks) - monitoring of Search Console, logs and conversion, performance tuning, frontend iterations, reporting against WooCommerce baseline.
Sources and studies

This article is based on data and cases from: BuiltWith, Storeleads, Shopware Press, dasistweb (ARMEDANGELS case), Shopify Plus, Webgility, Qualimero, Forbytes, Swell, Human Element, SearchUp, Practical Ecommerce, Semrush, basecom (FAMO/KADECO cases) and LitExtension. The figures and time frames mentioned are industry benchmarks and may vary depending on the project.

Using the migration as a platform reset

A migration from WooCommerce to Shopware 6 is more than a technical move - it is the chance to upgrade data model, performance, SEO and business logic at once. Going through the five phases cleanly, documenting the mapping consistently and treating the 301 map as a first-class citizen makes it possible to switch without ranking losses and to build a future-proof platform for the years ahead. If you are planning a migration or already in the middle of one, XICTRON supports you as a WooCommerce agency and Shopware agency - from data analysis to post-launch monitoring, with a clear focus on data model, performance and SEO preservation.

Industry studies cite a corridor of 2 to 20 months, with a strategically sensible median of 3 to 6 months (Qualimero/Forbytes). The exact timeline depends heavily on catalogue depth, plugin stack, integrations and internationalisation. Solid consulting at the start typically delivers the most reliable estimate.

Master data such as products, categories, customers and orders can typically be transferred cleanly via the Shopware Migration Assistant. More complex data such as B2B tier prices, subscriptions, reviews or WordPress blog articles usually require an individual ETL script. Password hashes generally cannot be transferred for technical and data protection reasons.

Experience shows that the most important measure is a complete 301 redirect map for all old URLs - including pagination, filters, images and feeds. Studies report traffic drops of 30 to 80 percent without redirects (SearchUp/Practical Ecommerce). A complete SEO audit before and after the cutover delivers the necessary data.

Password hashes from WooCommerce typically cannot be carried over to Shopware 6 because different hashing methods are used. Existing customers are usually guided through a re-activation email with a token for password reset. Addresses, order history and customer groups generally remain fully preserved.

Smaller shops typically benefit in particular from the scalability and the DACH focus of Shopware - 80.73 percent of Shopware customers are based in DACH (Shopware Press). Whether the effort pays off economically usually depends on planned growth, internationalisation and desired B2B features. Individual consulting helps to evaluate the business case for the specific shop.

Shopware 6 typically places higher demands on PHP version, caching and database tuning than a WooCommerce setup. It is generally a good idea to align hosting with the new stack already in the preparation phase - including HTTP/2, Brotli compression and a suitable PHP OPcache configuration.