Codewerk.
Get a quote
Home/Blog/Shopware 5 → 6 migration: the checklist we actually use

Shopware 5 → 6 migration: the checklist we actually use

Data migrates fine. It is the SEO URLs, the custom logic and the plugin gaps that kill migrations. A field-tested checklist from real projects.

Photo: free stock photography (Unsplash licence) — see imprint

Inventory before you touch anything

List every plugin, every template override and every custom entity in the Shopware 5 shop. For each one decide: replaced by Shopware 6 core, replaced by a new plugin, rebuilt, or dropped. Most migrations that blow up did so because nobody wrote this list at the start.

SEO URLs are the real risk

Your rankings live on your old URL structure. Export every indexed URL before migrating, map it to its Shopware 6 equivalent and ship 301 redirects on day one. A shop that loses its URL map loses months of organic traffic — and that is a revenue problem, not a technical one.

Migrate data twice

The first migration run is a rehearsal on staging with a full production copy. You will find broken variant mappings, empty custom fields and duplicate customers — every single time. The second run, on go-live weekend, should be boring because you already fixed all of it.

Do not migrate the mess

A migration is the cheapest moment you will ever have to delete 4,000 dead products, six unused customer groups and that 2018 discount rule nobody dares to touch. Carrying junk into the new shop makes every future feature more expensive.

Key takeaways
  • Write the plugin inventory before quoting the project.
  • 301-map every indexed URL — day one, not later.
  • Always do a full dry run on staging first.

Frequently asked questions

Nobody can tell you before the inventory exists — so do it yourself first. List every plugin, every template override and every custom entity, and mark each one: covered by the core, replaced by a plugin, rebuilt, or dropped. The rebuilt items are your timeline; the data itself moves in hours. The migrations that blew up are the ones where nobody wrote that list.

Only if you make it a work package. Your rankings live on your old URL structure, and Shopware 6 will not reproduce it by accident. Export every indexed URL before you migrate, map each one to its Shopware 6 equivalent, and ship the 301 redirects on day one — not in the second week. A shop that loses its URL map loses months of organic traffic.

The data migrates, and that part is rarely the drama. What you will find is broken variant mappings, custom fields that arrive empty and duplicate customer records — in every project, without exception. That is not a reason to worry. It is the reason the first run happens on staging, where finding it costs you nothing but an afternoon.

Yes, on a full production copy, and it is the cheapest insurance in the whole project. The first run is a rehearsal where you find what is broken. The second, on go-live weekend, should be boring because you already fixed all of it. A go-live weekend that is not boring is a weekend where the rehearsal got skipped.

We do this for a living — Shopware, Node.js, React, ERP integration and automation for B2B.

Talk to an engineer

// Keep reading

Related articles