<- All field notes

Field notes / 2026-09-04 / 6 min read

Magento 2 to Shopify: what moves, what does not

Magento 2 stores move to Shopify for one reason: the yearly cost of staying. Patches, hosting, developer time, and upgrades add up. Shopify removes most of that bill.

The move itself has a bad reputation. Most horror stories come from the same source: nobody made a complete map of the data before it moved. This post is that map, in plain words.

The map

MAGENTO 2SHOPIFYconfigurable + simple productsproducts with options + variantscategories (tree)collections (flat) + menuscustomerscustomerscustomer passwordscannot moveinvite to set a new passwordorder historyimported orders (read-only)URL pathsnew paths + 301 redirects

Most of the map is green. Two rows need your attention before anything else: passwords and URLs.

Products: the structures do not match

Magento and Shopify describe products differently. Magento has configurable, simple, bundle, and grouped products. Shopify has one product with options and variants. Most catalogs translate cleanly. Some do not.

Make the decision per product type, on paper, before the import. A configurable product with its simple products usually becomes one Shopify product with variants. A bundle becomes a product with its own page, or an app handles it. If you decide this during the import, you decide it twice.

Customers move. Passwords do not.

Customer records move: names, addresses, order history, marketing consent. Passwords cannot move. They are stored in a form that only Magento can read, and that is good security. But it means every customer must set a new password once.

Plan this as a communication task, not a technical one. Send an activation email after launch. Say what changed and why. A customer who expects the email resets in seconds. A customer who does not expect it thinks the email is fake.

Orders: bring the history

Order history can move into Shopify as imported orders. Your team then sees a customer's full past in one admin, and reports stay honest across the switch. Imported orders are records, not live orders. Refunds and edits for old orders stay in your accounting system.

URLs: where rankings live or die

Magento URL paths and Shopify URL paths are different. Google ranks the old paths. If the old paths return errors after launch, those rankings are gone.

The fix is a complete redirect map: every old product, category, and content URL points to its new page with a 301 redirect. Complete means generated from the data, not written by hand. Export every URL Magento serves, map each one, and test the list before launch.

Integrations: list them before they list themselves

Every system that talks to Magento breaks on launch day unless it has a plan: ERP, email, reviews, search, feeds, accounting. Make the list early. For each one, decide: reconnect it, replace it with a Shopify app, or retire it. The systems you forget announce themselves in the first week, at the worst time.

The cutover: no day without a store

build + importteam testsfreezedelta syncswitch + watchold store stays live and sellsDNS moves hereno day without a working store

The old store sells until the last moment. Build and test the Shopify store in private. Then freeze content changes on the old store, sync the last days of orders and customers, and move the domain. The switch itself is minutes, not days.

Keep the Magento server running, unplugged from the domain, for a few weeks. It is your reference when a question comes up, and your proof that nothing was lost.

The short version

  • Map every product type to its Shopify shape before the import.
  • Tell customers about the password reset before they discover it.
  • Import the order history. Your team will thank you.
  • Generate a complete 301 redirect map. Test it before launch.
  • List every connected system and give each one a plan.
  • Keep the old store alive until the new one has proven itself.

Have the same problem?