Skip to content
Hynek Kraus
Shopify migration

Migrating from Magento to Shopify, with the redirects done right.

Magento stores are rarely small, and they’re rarely simple. The data is reachable but structured in a way nothing else uses, the URLs carry .html and category paths, and the rewrite table has more rows than anyone expects. None of that is a reason not to move – it’s a reason not to improvise.

A written answer within 24 hours · no commitment

What is different about Magento

Three things that work differently on Magento.

Magento hides nothing – it’s your database. What it does is store everything in a shape that no other platform shares.

Data model

EAV data no plain export survives.

Magento stores product data in an entity-attribute-value structure: attributes live in their own tables rather than in columns on the product. It’s flexible, and it’s the reason a simple CSV export comes out with attributes missing. On Shopify the equivalent is options, variants and metafields. Mapping between the two is a deliberate exercise – deciding which Magento attribute becomes a variant option, which becomes a metafield, and which was only ever used by a template nobody misses.

Addresses

`.html` endings and a rewrite table nobody remembers.

Magento gives products addresses ending in `.html`, often with the category path in front, so a product sits at something like `/mens/shoes/product-name.html`. Shopify has neither the suffix nor the path. On top of that, Magento maintains its own rewrite table with an entry for every product, category and CMS page, accumulated over years. If the redirect map is built from the sitemap instead of that table, the addresses Google actually has indexed are the ones that get missed. That’s how migrations lose rankings.

Pressure

The clock is usually already running.

Magento Open Source is still free and still maintained – 2.4.9 arrived in May 2026 with support through May 2029. But support for 2.4.5 and 2.4.6 ended in August 2026, and stores on older versions are accumulating security debt while upgrades take developer time. Adobe Commerce, the commercial edition, is priced on your gross merchandise value and runs into serious annual figures. Either way, the decision usually arrives with a deadline attached rather than at leisure.

Data out

What you get out of Magento, and how.

Everything is reachable – it’s your database and your API. The question is what shape it arrives in, and what was never data in the first place.

Comes out cleanly

  • Products, prices and stock
  • Categories and their structure
  • Customers and addresses
  • Orders with their history
  • CMS pages and blocks

Needs deliberate mapping

  • EAV attributes – some become variant options, some metafields, some are dropped
  • Configurable and bundle products – Shopify caps a product at three options
  • The url_rewrite table – the real source for redirects, not the sitemap
  • Multiple store views – prices, languages and visibility per view
  • Reviews – out of the database, into a Shopify review app

Does not transfer

  • Customer passwords – hashed; on Shopify customers sign in with an emailed code
  • Extension logic – pricing rules, workflows and custom modules are PHP, not data
  • The theme and its templates – a new design gets built
  • Third-party extension data that lives outside the standard tables

The attribute mapping is where a Magento migration is won. A catalogue that has grown for years usually carries attributes nobody uses, several that mean the same thing, and a handful that quietly drive the whole storefront. I go through them before the import rather than after, because sorting it out on a live Shopify store is far more expensive.

The second trap is configurable and bundle products. Magento allows as many attributes as you like; Shopify caps a product at three options. Where a product needs more, we decide in advance what stays a variant and what becomes something else – automated tools simply truncate and don’t tell you which three survived.

URL map

How Magento URLs map onto Shopify.

The table shows Magento defaults. Your store will have its own history in the rewrite table – which is exactly why the map is built from that table, after the audit.

How Magento URLs [em]map onto Shopify[/em].
MagentoShopify
/mens/shoes/product-name.html/products/product-name
/product-name.html/products/product-name
/mens/shoes.html/collections/shoes
/about-us/pages/about-us
/de/mens/shoes/product-name.html/de/products/product-name
/catalogsearch/result/?q=…/search?q=…

Scroll for the full table

Two details decide whether rankings survive. First, the `.html` suffix has to be in the redirect source – omit it and the rule never fires and Google meets a 404. Second, the same product often has several historic addresses in the rewrite table, because Magento kept the old one every time a category or name changed. All of them need a rule, not just the current one.

What extensions hold

Features that get rebuilt, not moved.

On a platform this customisable, the extension list is the budget. This is what usually sits on it.

B2B, customer groups and tier pricing

Magento has been the B2B platform of choice for years, and none of that logic is in a product export – customer groups, tier prices and negotiated catalogues live in rules. On Shopify it gets rebuilt with native B2B, on every paid plan since April 2026. The numbers move; the rules are a separate line.

Multi-store and store views

One Magento installation commonly runs several storefronts or language views with their own prices and visibility. That structure has to be read per view rather than flattened. On Shopify it usually becomes Markets – one store, several countries with their own language, currency and domain – or separate stores where a market genuinely differs.

Extensions and custom modules

Years of Magento usually means a long extension list and some bespoke modules. I sort them into what Shopify does natively, what an app covers and what has to be built again, and price the third group first. It’s also the moment to drop what nobody has used since 2022 – most catalogues carry some.

And what goes away

Hosting sized for Magento, the upgrade cycle, security patching, and on Adobe Commerce a licence priced on your revenue. That burden doesn’t move with you. Over three years it’s usually the part that pays for the migration outright.

So the quote starts with two inventories: the extension list and the attribute list. Together they’re most of the estimate, and both are cheaper to do before the migration than during it.

Decision made? Get a migration estimate →

Still weighing up the options? All platform comparisons →

Fairly

When it makes sense to stay on Magento.

Magento earns its reputation at the complex end of ecommerce. 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. A replatform that doesn’t pay for itself is bad for both of us.

  • You have an in-house Magento team and the platform is genuinely maintained rather than merely running.
  • Your catalogue logic is exceptional – deeply nested configurables, complex pricing rules, ERP-driven behaviour that took years to get right.
  • You’re mid-contract on Adobe Commerce and the remaining term costs more than the migration would save.
  • You need full control of the code and where it’s hosted, and you have the people to exercise it.
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 Magento stores ask.

Is there a tool that just does a Magento migration?

There are tools, and they handle the easy 80%: products, customers, orders. What they don’t handle is exactly what decides the outcome – EAV attributes mapped deliberately to options and metafields, configurable products that exceed Shopify’s three-option limit, and a redirect map built from the rewrite table rather than the sitemap. On a small catalogue with no rankings, a tool plus care is a reasonable route. On a store whose revenue rests on organic search, the cost of a mistake is higher than the cost of doing it properly.

Will we lose rankings? Every URL changes.

Changing addresses doesn’t by itself cost rankings – Google states that permanent 301 redirects don’t lose link equity. What costs rankings is an address nobody redirected. On Magento the risk is concentrated in two places: the `.html` suffix, which has to be part of the redirect source, and the rewrite table, where a single product can have several historic addresses from years of category and name changes. I build the map from that table and watch error pages daily after launch.

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

They get inventoried and sorted: native on Shopify, covered by an app, or rebuilt. Anything written in PHP is code rather than data, so it doesn’t export. The good news on a long-running Magento store is that a decent share of the list turns out to be unused or duplicated, which is worth knowing before you pay to recreate it.

We run B2B with customer groups and tier pricing. Can Shopify do that?

For most B2B stores, yes. Native B2B is part of every paid Shopify plan since April 2026 – company accounts, wholesale price lists, volume discounts and payment terms, with unlimited catalogues on Plus. Magento goes deeper on unusual models, so if yours is genuinely complex I want to see it before promising a match. Prices export; the rules are rebuilt.

What about our store views and languages?

One Magento installation often runs several store views with their own prices, language and visibility. A plain export mixes them together, so I read them per view. On Shopify that usually becomes Markets – one store serving several countries with their own language, currency and domain – and only becomes a separate store where a market truly needs a different catalogue or legal entity.

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

Hosting sized for Magento, the upgrade cycle, security patching and the developer time all of it consumes – plus, on Adobe Commerce, a licence priced on your revenue. On Shopify you pay a plan and that work belongs to the platform. Count the hours your team currently spends keeping Magento current before comparing the monthly figures; that’s where the real difference sits.

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

Typically longer than other migrations – the catalogue is usually larger and the attribute and redirect work is genuine. Expect weeks rather than days, with the exact figure coming out of the audit. The store doesn’t go offline: the new one is built alongside the running Magento, and on launch day the domain switches and the redirects go live.

No commitment

Tell me what you run on Magento.

The store URL, the version, roughly how many products and whether you run several store views. Within 24 hours you get it in writing: what the migration involves, roughly what it costs and how long it takes.

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.