Skip to content
Hynek Kraus
Shopify migration

Migrating from Shopware to Shopify, without guessing the URLs.

Shopware keeps your data accessible – a documented API, an export module and, on a self-hosted install, the database itself. The work is elsewhere: in two generations of the platform, in URLs built from a template you can change, and in the logic that lives inside extensions.

A written answer within 24 hours · no commitment

What is different about Shopware

Three things that work differently on Shopware.

Getting the data out is the straightforward part. Knowing which Shopware you’re on, and what your addresses actually look like, isn’t.

Two generations

Shopware 5 and 6 are different platforms.

Shopware 5 lost support in July 2024. The move from 5 to 6 was never an update: a new framework, a new database structure and a new template engine, with plugins incompatible and their licences not transferable. Agencies typically budget three to six months for it. That matters for a migration decision, because a store still on 5 is facing a replatforming project either way. The honest question isn’t "should we move" but "move to what" – and that’s a much better conversation to have before spending the budget.

Addresses

URLs come from a template, not a fixed pattern.

Shopware 6 generates SEO URLs from a Twig template. The default for a product combines the name and the product number, so a product ends up at something like `/joust-duffle-bag-24-mb01`. But that template is configurable – globally, or separately for each sales channel – which means two Shopware stores can have completely different URL shapes. So the redirect map is measured from your store and its sales channels, never assumed from a documented default.

Extensions

The numbers export. The logic does not.

Shopware’s data model is clean and its API is documented, so products, orders and customers come out without drama. What doesn’t come out is behaviour: B2B rules, pricing logic, Shopping Experiences layouts and anything a Symfony extension does. That’s code, and code gets rebuilt rather than transferred. That rebuild is the real budget line in a Shopware migration – and the place where quotes differ the most.

Data out

What you get out of Shopware, and how.

This is the comfortable part. Shopware gives you three routes out, and on a self-hosted install you also have the database. The line runs between data and behaviour.

From the admin, through Import/Export

  • Products, prices and cross-selling
  • Categories and properties
  • Customers and their addresses
  • Orders
  • Newsletter recipients and promotion codes

Through the Admin API, or the database

  • The complete catalogue including variants and media
  • Orders with their full history, in bulk through the Sync API
  • Per sales channel data – prices, visibility, translations
  • SEO URLs as they were actually generated, not as templated

Does not transfer

  • Customer passwords – true of every platform; on Shopify they sign in with an emailed code
  • Extension logic – B2B rules, pricing logic, custom workflows live in code
  • Shopping Experiences layouts – the content moves, the layout is rebuilt
  • The theme, and any Twig templating around it

The first thing I check is which generation you’re on. On Shopware 5 the data structures, the API and the extension model are all different from 6, and a quote written for one doesn’t hold for the other. It also changes the conversation: if you’re facing a 5 to 6 rebuild anyway, comparing that cost against a move to Shopify is the more useful exercise.

The second is sales channels. Shopware can run several storefronts from one installation, each with its own domain, language, prices and visibility rules. A plain export flattens that. I read it per channel so the market structure survives the move – on Shopify it becomes Markets, or separate stores where that’s genuinely warranted.

URL map

How Shopware URLs map onto Shopify.

The table shows the common defaults. Your store may differ, because the templates are configurable – which is exactly why I build the map after the audit.

How Shopware URLs [em]map onto Shopify[/em].
ShopwareShopify
/product-name-sku123/products/product-name
/clothing/shirts//collections/shirts
/detail/{id}/products/product-name
/about-us/pages/about-us
/de/product-name-sku123/de/products/product-name
/clothing/shirts/?p=2/collections/shirts?page=2

Scroll for the full table

The product row is the one to look at twice. Shopware’s default template appends the product number to the name, so real URLs often carry an SKU that Shopify handles differently. And because the template can be set per sales channel, a multi-market store can have several different shapes at once – each needing its own redirect rule.

What extensions hold

Features that get rebuilt, not moved.

This is where a Shopware migration is won or lost on budget – and where quotes most often skip the detail.

B2B rules and price lists

Shopware’s B2B capability on the paid tiers is genuinely deep, and none of its logic is in your product export. On Shopify it gets rebuilt with native B2B, available on every paid plan since April 2026 – company accounts, price lists, volume discounts and payment terms. What transfers is the numbers; the rules are a separate line in the quote.

Shopping Experiences and content layouts

Shopware’s visual page builder is one of its best features, and its output is Shopware-specific. The content – text, images, structure – moves. The layout is rebuilt with Shopify sections, which is usually the point at which a store also gets the design refresh it has been postponing.

Extensions and custom Symfony code

Anything a developer wrote into your Shopware install lives in PHP, not in data. I go through the extension list and sort it: what Shopify does natively, what an app covers, and what genuinely has to be built again. The third group is the expensive one, so it gets priced first rather than discovered halfway.

And what goes away

On a self-hosted Shopware: the server, the certificates, the backups, the security updates and the next major version. On the cloud tiers: a bill that tracks your gross merchandise value. Either way that burden doesn’t move to Shopify with you – and in the three-year view it’s usually the part that pays for the migration.

Every quote therefore starts with an extension inventory and a sales channel map. Out of a typical list, a good share turns out to be native on Shopify or replaceable by one app – and knowing which is which is most of the estimate.

Decision made? Get a migration estimate →

Still weighing up whether to move? See the comparison →

Fairly

When it makes sense to stay on Shopware.

Shopware is a serious platform and the leader in its home market. These are the situations where I’ll talk you out of migrating.

And plainly: if staying works out better, I’ll say so in my reply to your enquiry. Pushing a replatform that doesn’t pay for itself does me no good in the long run.

  • You have just completed the move to Shopware 6. Replatforming twice in short order costs more than it can return.
  • Your team works in German and the local agency and support ecosystem is part of why the store runs well.
  • Owning an open-source codebase and choosing where the data is hosted is a requirement rather than a preference.
  • Your B2B model leans on capabilities you have already built and tested on Shopware’s paid tiers.
1:1 redirects

What happens to your old URLs

No URL disappears into nothing. Every old address gets a permanent (301) redirect to the matching new one, so external links and the SEO signals you have collected point at Shopify rather than at a 404.

Old address

/old-url

301 (permanent)

redirect

New on Shopify

/products/…

Both the visitor and Googlebot land on the right new page – not on a 404.

My work

Stores I have built and rebuilt

Real stores from my desk – some built from zero, some heavily rebuilt. Proof that Shopify holds up under demanding traffic.

Common questions

What Shopware stores ask.

We’re still on Shopware 5. Does that change anything?

It changes the whole decision. Shopware 5 lost support in July 2024, and moving to Shopware 6 is a rebuild rather than an upgrade – new framework, new database structure, new template engine, incompatible plugins, typically three to six months. If you’re going to pay for a replatforming project anyway, the useful question is which platform you land on. I’ll price both honestly, including the case for staying in the Shopware family.

Why can’t you tell me the redirects upfront?

Because Shopware builds SEO URLs from a template rather than a fixed pattern. The default combines the product name with the product number, but it’s configurable – and can be set separately for each sales channel, so one store can have several shapes at once. I export the URLs as they were actually generated and build the map from those, not from the documented default.

How I handle SEO in a migration
What happens to our extensions?

I inventory them and sort them into three groups: what Shopify does natively, what a proven app covers, and what has to be rebuilt. The third group is where the budget goes, so it’s priced at the start rather than discovered halfway through. Anything a developer wrote into Symfony is code, not data – it doesn’t export, it gets rewritten.

We run B2B on Shopware. Can Shopify match it?

For most B2B stores, yes. Native B2B has been part of every paid Shopify plan since April 2026: company accounts, wholesale price lists, volume discounts and payment terms, with unlimited catalogues on Plus. Shopware’s paid tiers go deeper in places, so if your model is unusual I want to see it before promising anything. The prices export; the rules get rebuilt either way.

What about multiple sales channels and languages?

Shopware can run several storefronts from one installation with their own domains, prices and visibility. That structure has to be read per channel, not flattened by a plain export. On Shopify it usually becomes Markets – one store, several countries with their own language, currency and domain – and only becomes separate stores where a market genuinely needs a different catalogue or entity.

Selling across the EU: the full guide
What do we actually save?

On a self-hosted Shopware: hosting, certificates, backups, security updates and the cost of the next major version. On the cloud tiers: a price that tracks your gross merchandise value rather than staying flat. On Shopify you pay a plan and the platform does that work. For most stores the upkeep is the larger number once you count the hours honestly.

What Shopify costs: the full breakdown
How long does it take, and will the store go offline?

Typically two to eight weeks depending on the catalogue, the number of sales channels and how much extension logic gets rebuilt. The store doesn’t go offline: I build the new one alongside the running Shopware, and on launch day the domain switches and the redirects go live. Downtime is measured in minutes.

No commitment

Tell me what you run on Shopware.

The store URL, which version you’re on, roughly how many products and how many sales channels. Within 24 hours you get it in writing: what the migration involves, roughly what it costs and how long it takes (typically 2–8 weeks).

Would rather not fill anything in? Write straight to ahoj@hynekkraus.cz

  1. 01You fill in a short form. It takes two minutes.
  2. 02Within 24 hours I reply with a first written take on it. Free.
  3. 03What happens next is your call. I won’t chase you.