- Home
- Services
- Ecommerce development
- Ecommerce migration
- Magento to Shopify migration
Build & Replatform · Ecommerce migration
Magento to Shopify migration, with the redirect method shown.
A Magento to Shopify migration moves products, customers, orders and content into Shopify and redirects old Magento URLs to their new Shopify addresses. Shopify's sign-in can't take Magento's password hashes, so customers set new passwords or sign in with a one-time code. Magento B2B features move to Shopify B2B, an app or custom code. We test every redirect before cutover.
Last reviewed
On this page
- What moves from Magento to Shopify, and what doesn't
- Our Magento to Shopify redirect-mapping method
- Magento B2B features Shopify needs replacing
- Moving to Shopify Plus
- ERP, PIM and integrations
- From Magento 1 or Magento 2
- Magento to Shopify: migration app or agency?
- Magento to Shopify migration checklist
- When to stay on Magento
- Shopify to Magento: the reverse move
- What drives the cost of a Magento to Shopify migration
- Magento to Shopify questions
- Sources
- Related services
What moves from Magento to Shopify, and what doesn't
Most of a Magento store packs neatly. The rest hides in Shopify's small print: no password import, three options per product, 25 filters per store, and redirects that fire only from broken URLs. Here's the Magento to Shopify data migration, row by row, every row sourced and checked on October 16, 2026:
| Magento data | How it moves | What changes on Shopify |
|---|---|---|
| Products and variants | Product CSV or a migration app | Configurable products become products with variants: 3 options and 2,048 variants at most; some third-party themes may not support over 100. Bundles need an app. 1 9 10 |
| Categories | Migration app or Matrixify | Become collections under Shopify's fixed /collections/ path, each with a new URL to redirect. 3 40 |
| Custom attributes and layered navigation | Migration app or Matrixify, as metafields | Become metafields, variant options or tags. Custom filters run on options, metafields and metaobjects: 25 per store, none on collections over 5,000 products. 11 39 |
| Customers | Customer CSV or a migration app | No passwords: Shopify can't import them, so customers set new ones or sign in with a code. The CSV carries one default address, plus tags. 2 14 |
| Customer groups and tier prices | Remodeled, then bulk-loaded | The customer CSV has tags, not groups. Trade groups and tier prices become B2B companies, catalogs and volume pricing. 2 4 5 40 |
| Historical orders | Migration app, or the Order and Transaction APIs | Imported last, after products and customers. Staff on new-order notifications get one email per imported order. 1 |
| Product reviews | A migration app that carries them, such as Cart2Cart | Not in Shopify's migration guide; plan the reviews app first. 1 38 |
| Gift cards | Migration app, or the GiftCard API | Recreated with the remaining balance. The old code survives only if it's 8 to 20 letters and numbers. 1 12 |
| CMS pages and blog posts | Migration app, Matrixify, or the Page and Blog APIs | Policy pages can be pasted by hand. Every page and post gets a new URL to redirect. 1 40 |
| URLs | Rebuilt as redirects: the method is below | Magento's default .html URLs become Shopify's fixed /products/ and /collections/ paths. Redirects fire only from broken URLs. 29 30 3 |
Order matters. Shopify's migration guide says to "Import your products first, then your customers, and then any historical orders," so each order can link to its products and its customer. Before sign-off, counts and order totals are reconciled entity by entity, as in our data checks.
Our Magento to Shopify redirect-mapping method
Nobody can promise a migration without ranking changes, and we won't. Google's site-move guide says it plainly: "Expect temporary fluctuation in site ranking during the move." What we control is the map: every old URL with a new home gets a server-side permanent redirect, tested before cutover and watched after.
| Step | What we do | Source |
|---|---|---|
| Inventory | Every Magento URL: the url_rewrite table (core_url_rewrite on Magento 1; enterprise_url_rewrite and enterprise_url_rewrite_redirect on Enterprise 1.13 and 1.14), sitemaps, server logs, analytics, Search Console, backlink reports and a site crawl. | Google: site moves |
| One-to-one rules | Each product, category, CMS page and post gets a permanent redirect to its own Shopify URL. No true equivalent means a 404, never a catch-all to the home page. | Google: site moves |
| Parameter URLs | Layered-navigation and query-string URLs, decided by pattern. Shopify warns they "might not work as expected with URL redirects," so each one with traffic or links gets tested. | Shopify: URL redirects |
| No chains | Magento's admin saves a permanent redirect when a URL key changes, by default. Magento 2 imports and API saves add one only if they set save_rewrites_history. Each old URL points straight at its final Shopify URL. | Google: site moves |
| Import | Loaded into Shopify's URL redirects by CSV, after a last check against the cap: 100,000 below Plus, 20,000,000 on Plus. Shopify's help page implies 301s; we check the status. | Shopify: URL redirects |
| Test every URL | Every mapped URL requested on the store's myshopify.com address, past the storefront password, before DNS moves, not a sample. Status code and final destination checked for each. | Our method |
| Launch crawl | Every old URL crawled live and diffed against the map. New sitemap submitted, migration-only noindex and robots.txt blocks removed, Search Console watched for new 404s. | Google: site moves |
Shopify adds two rules. "You can redirect only from broken URLs": if anything still loads at an old path, its redirect never fires. And Shopify won't redirect its reserved paths: /products, /collections and a few more, anything beginning with /apps, /application, /cart, /carts, /orders, /services or /shop, and collection tag-filter URLs. So a "shop" category, a "services" page or URLs nested under a "collections" category need their own plan.
We didn't invent this method for Shopify. It's the one our ecommerce migration services publish for every route.
Content parity and structured data are ecommerce SEO work, before launch and after.
Magento B2B features Shopify needs replacing
As of October 16, 2026, Shopify B2B runs on Basic, Grow, Advanced and Plus; four Adobe Commerce B2B features aren't in its feature list.
| Feature | On Magento (Adobe Commerce B2B unless noted) | On Shopify | Gap and workaround |
|---|---|---|---|
| Company accounts | Divisions, users, roles and permissions; parent companies. | Companies, locations and contacts, every B2B plan. | Parent companies and divisions flatten into companies and locations; roles into Ordering only or Location admin. 21 8 4 |
| Customer groups and tier prices | Both editions: tier prices per customer group. | B2B volume pricing; retail customers get tags. | Retail group prices: discounts or an app. 23 4 2 |
| Shared catalogs | Prices per product for each company. | Catalogs with price lists set what a company sees and pays. | Below Plus: 3 active catalogs, on new Shopify Markets. Direct company catalogs: Plus. 21 5 4 |
| Negotiable quotes | Buyer and seller negotiate items and price. | Not listed; draft orders take negotiated prices. | A quote app, or quotes as draft orders. 21 5 7 |
| Requisition lists | Saved lists of frequent purchases. | Not listed; easy reorders copy one past order. | An app or custom work. 21 5 |
| Quick order | By product name or SKU. | Quick order lists: one product's variants, one click. | Catalog-wide SKU entry: app or custom. B2B orders cap at 500 line items. 21 5 6 |
| Purchase orders and approvals | Once enabled for a company, orders become POs, with approval rules by role. | PO numbers; locations can submit orders as drafts for review. | Approvals by the buyer's managers: an app or custom. 21 4 5 |
| Payment on account | Pay on Account against a company credit line. | Net terms on every B2B plan; deposits on Plus. | No credit limit listed; an ERP or app enforces it. 21 4 5 |
Shopify adds: "You can't use legacy customer accounts for B2B orders and customers," so trade buyers sign in with a one-time code by default. More on B2B ecommerce.
Moving to Shopify Plus
Plus is a fee decision, not a status symbol. A Magento to Shopify Plus migration earns its fee when one of these is true. As of October 16, 2026, Shopify keeps them behind Plus:
- More than 3 active B2B catalogs, or a catalog assigned to one company.
- Over 100,000 redirects; Plus holds 20,000,000.
- Your own Function apps for discount, shipping or payment logic.
- Apps inside checkout's information, shipping and payment steps.
- Your own identity provider for customer sign-in.
Plus includes 9 expansion stores, all for one brand; a second brand needs its own Plus contract.
Shopify Plus vs Adobe Commerce, in one paragraph: Shopify hosts and patches Plus, and custom logic lives in apps and Functions. Adobe Commerce on-premises or on Adobe's cloud infrastructure lets code change the platform itself, since a plugin "modifies the behavior of public class functions," but applying patches and upgrades is your job (or ours). Adobe Commerce as a Cloud Service offers "the latest features and enhancements without the need for manual upgrades," and extends through App Builder and API Mesh. More in Shopify development.
ERP, PIM and integrations
Everything that talked to Magento gets rewired: the ERP, the PIM, tax, shipping, payments and marketplace feeds. The Magento connector stays behind. On Shopify, we build syncs on the GraphQL Admin API; Shopify has called the REST Admin API legacy since October 1, 2024. We write down which system owns each record first: stock and prices usually flow from the ERP to Shopify, orders from Shopify to the ERP, and product content from the PIM into metafields. Every order moves through a queue with an idempotency key, so a retried message is recognized instead of creating a duplicate, and a timeout leaves a trace instead of a missing order. Before cutover, the new sync runs in parallel with the old connector until the numbers match. The method is on our ERP integration page, with its record: ERP syncs made several times faster, with silent data loss eliminated.
From Magento 1 or Magento 2
Shopify doesn't care which Magento you're leaving. Your URL inventory does. Magento 1 links products through their category path by default (product_use_categories: 1; Magento 2 ships 0). Both versions write a rewrite under each category a product sits in: Magento 1 always, Magento 2 by default until 2.4.6. A Magento 1 to Shopify migration, or one from an older Magento 2, can start with several URLs per product. URL-key changes add permanent redirects: on Magento 1 by default, on Magento 2 only when the save asks, as the admin does by default. They live in core_url_rewrite (Magento 1), enterprise_url_rewrite tables (Enterprise 1.13 and 1.14) or url_rewrite (Magento 2). Removed extensions leave data behind, which we map or drop on purpose, never by accident.
A Magento 2 to Shopify migration from Adobe Commerce adds edition-only data: the B2B modules and gift cards, the one product type Adobe marks "Adobe Commerce only".
Magento to Shopify: migration app or agency?
The deciding question is how much your store knows that its database doesn't. What the apps do well, by their own account:
- Cart2Cart "automatically imports store data to the new store": "products, customers, orders, reviews, and more", and lists Magento under "Works with".
- LitExtension moves products, customers, orders, coupons, CMS pages and blog posts, converts product attributes into metafields and can create redirects from Magento URLs. It's candid about passwords: "Shopify's encryption prevents password migration."
- Matrixify bulk-imports Shopify data from Excel, CSV or Google Sheets: products, customers, companies, orders, pages, blog posts, metafields and redirects.
Where they stop: they move what the old store's database knows. They don't find URLs that live only in your logs, backlinks and Search Console, decide where a page with no twin goes, choose whether an attribute should become a variant option, a metafield or a filter, rebuild B2B features Shopify lacks, or sign a validation report. That half is what a Magento to Shopify migration service is for: the apps do the lifting, we do the rest. Other agencies hire us for that half too, under their own name.
Magento to Shopify migration checklist
Have these ready before the first import. Each one is a launch blocker if it's missing:
- Access. Magento admin, database and server logs, plus a full backup.
- Search Console and analytics. For the URL inventory before the move and the 404 watch after launch.
- A redirect count. Measured against your plan's cap: 100,000 below Plus, 20,000,000 on Plus.
- An attribute map. A destination for every custom attribute: variant option, metafield, tag or nothing. Anything past 3 options per product gets remodeled, and so do priced custom options.
- B2B decisions. Native, app or custom for each row of the parity table.
- Your app list. Reviews, bundles, search and whatever your Magento extensions did.
- Integrations and owners. ERP, PIM, tax, shipping, payments and feeds, each with a named owner.
- The sign-in email. Written and approved: what changes for customers and how they sign in.
- Notifications off. New-order notifications disabled before the order import, back on after.
- Cutover plan. A content freeze on catalog and CMS changes (orders keep flowing), a rollback trigger and the person who pulls it.
When to stay on Magento
Leaving Magento isn't always the fix. Stay, or at least compare properly, when:
- Your buyers live in Adobe Commerce B2B. Negotiable quotes, requisition lists, approval rules and company credit aren't in Shopify's B2B feature list. Replacing all four is a project of its own. Keeping them is Magento B2B work.
- Your custom modules are the business. On Magento, a plugin can change core behavior. On Shopify, logic lives in apps and Functions, and custom Function apps need Plus.
- One admin runs many sites. In Adobe's words: "A single installation can have multiple websites, and each website can have multiple stores and store views." Plus includes 9 expansion stores for one brand.
If the real problem is an old version, fix that instead. As of October 16, 2026, Adobe's lifecycle policy lists 2.4.7, 2.4.8 and 2.4.9 in standard support. Adobe Commerce 2.4.4 to 2.4.6 still get security fixes under extended or security-only support into 2027 or 2028. On a version Adobe no longer patches, we backport the fixes it's missing. Stuck on an old version? We'll patch you now and upgrade you when you're ready. Our Magento upgrade page covers when staying on Magento makes sense.
Shopify to Magento: the reverse move
We move stores the other way too. A Shopify to Magento migration runs the same method in reverse, to Magento Open Source or, as a Shopify to Adobe Commerce migration, to Adobe Commerce. Stores make that move for reasons like the ones above: B2B that outgrew Shopify's feature list, pricing a price list can't hold, several brands on one admin, or code they want to own.
Shopify's fixed /products/ and /collections/ paths become Magento URL keys and rewrites, and apps become extensions or custom modules. Shopify's customer CSV has no password column, so every customer sets a new password on Magento too. And upgrades, security patches and, on Open Source, hosting become your job, or ours on a retainer. We build on both platforms, so we can tell you which way to go. That's our Magento development work.
What drives the cost of a Magento to Shopify migration
We don't publish prices for our Magento to Shopify migration services. Two Magento stores with the same product count can need very different moves: one has clean data and stable URLs, the other has stacked URL history and B2B features to rebuild. What sets the scope:
- Catalog and URL count: products, variants and every old URL that needs a rule.
- Data quality: duplicate SKUs, orphaned attributes and options past Shopify's limit of 3.
- B2B features to replace: each parity-table row that lands on an app or custom work.
- Apps to choose: reviews, bundles, search and whatever your extensions did.
- Integrations: every ERP, PIM, tax, shipping and marketplace connection to rewire and retest.
- Theme scope: a Shopify theme adapted, or a storefront designed from scratch.
Shopify and app vendors set their own fees. For what the market typically charges for the build, with sources, read what a rebuild costs.
Magento to Shopify questions
How do you migrate from Magento to Shopify?
Inventory every Magento URL and data source, then map fields to Shopify's model: categories to collections, attributes to metafields or options. Import products, then customers, then orders, as Shopify advises. Reconcile counts and totals, load the redirects and test every mapped URL. Freeze catalog changes, sync the last orders, switch DNS and crawl the old URLs.
How much does it cost to migrate Magento to Shopify?
We don't publish prices, because the drivers change from store to store: catalog and URL count, data quality, B2B features to replace, apps, integrations and theme work. Shopify and app vendors set their own fees. Our ecommerce website cost guide covers what the market typically charges, with sources.
Is there a Magento to Shopify migration checklist?
Yes, the short version is on this page. What decides launch day: a redirect count against Shopify's cap, a destination for every custom attribute, a decision on each B2B feature, every integration with an owner, the customer sign-in email, new-order notifications off before the order import, and a rollback plan.
Do customer passwords move from Magento to Shopify?
Not into Shopify's own sign-in. Shopify says "you can't migrate customer passwords from another online store using a CSV." Customers sign in with a one-time code on customer accounts, which B2B requires, or set new passwords on deprecated legacy accounts. The exception is Shopify Plus with your own identity provider holding the old hashes, which we scope per project.
Will we lose our Google rankings?
Google's site-move guide says "Expect temporary fluctuation in site ranking during the move." We don't promise unchanged rankings. We control the map: a permanent redirect for every old URL with a new home, each tested before cutover, no chains, a launch-day crawl and Search Console watched for new 404s.
What happens to our Magento B2B features?
They map one by one. As of October 16, 2026, every Shopify B2B plan has companies, catalogs, volume pricing, net terms, PO numbers and quick order lists. Negotiable quotes, requisition lists, approval rules and credit limits aren't in Shopify's B2B feature list: each needs an app, a workaround or custom work. Below Plus, B2B stops at 3 active catalogs.
Should we use a Magento to Shopify migration app or an agency?
An app, when the catalog is simple, URLs barely change and no B2B or ERP is involved: Cart2Cart, LitExtension and Matrixify move records well. An agency, once there's a long URL history, B2B features to rebuild or integrations to rewire, because apps move only what the old database knows.
Sources
- 1 Shopify Help Center: Migrating to Shopify · checked · ↑ back
- 2 Shopify Help Center: Importing customers · checked · ↑ back
- 3 Shopify Help Center: Creating and managing URL redirects · checked · ↑ back
- 4 Shopify Help Center: Shopify B2B features by plan · checked · ↑ back
- 5 Shopify Help Center: Overview of B2B features on Shopify · checked · ↑ back
- 6 Shopify Help Center: Requirements and considerations for using B2B · checked · ↑ back
- 7 Shopify Help Center: Creating B2B orders using draft orders · checked · ↑ back
- 8 Shopify Help Center: Creating and managing B2B customers using companies · checked · ↑ back
All 40 sources
- 9 Shopify Help Center: Adding variants · checked · ↑ back
- 10 Shopify Help Center: Product bundles · checked · ↑ back
- 11 Shopify Help Center: Adding filters with Shopify Search & Discovery · checked · ↑ back
- 12 Shopify developer docs: GiftCardCreateInput (GraphQL Admin API 2026-10) · checked · ↑ back
- 13 Shopify Help Center: Upgrading from legacy customer accounts · checked
- 14 Shopify Help Center: Sign-in options for customer accounts · checked · ↑ back
- 15 Shopify Help Center: Connecting your own identity provider · checked
- 16 Shopify: Shopify Plus pricing · checked
- 17 Shopify developer docs: Function APIs · checked
- 18 Shopify Help Center: Customizing and editing your checkout and accounts pages · checked
- 19 Shopify developer docs: REST Admin API reference · checked
- 20 Google Search Central: Site moves with URL changes (page updated August 20, 2026) · checked
- 21 Adobe Experience League: Introduction to Adobe Commerce B2B (page updated October 1, 2026) · checked · ↑ back
- 22 Adobe Experience League: Product URL rewrites (page updated October 8, 2026) · checked
- 23 Adobe Experience League: Tier price (page updated October 8, 2026) · checked · ↑ back
- 24 Adobe Experience League: Create a product, product types (page updated October 8, 2026) · checked
- 25 Adobe Experience League: Websites, stores and views (page updated October 8, 2026) · checked
- 26 Adobe Experience League: Adobe Commerce as a Cloud Service overview (page updated October 8, 2026) · checked
- 27 Adobe Commerce developer docs: Plugins (interceptors) · checked
- 28 Adobe Commerce lifecycle policy (page updated September 18, 2026) · checked
- 29 Magento 2.4.8 source: catalog URL and rewrite-history defaults (Catalog config.xml) · checked · ↑ back
- 30 Magento 1.9.4.5 source: catalog URL and rewrite-history defaults (Catalog config.xml) · checked · ↑ back
- 31 Magento 1.9.4.5 source: the core_url_rewrite table (Core config.xml) · checked
- 32 Magento 1.9.4.5 source: product rewrites per category and permanent history rows (Catalog Model Url.php) · checked
- 33 Magento 2.4.5 source: generate_category_product_rewrites set to 1 (CatalogUrlRewrite config.xml) · checked
- 34 Magento 2.4.6 source: generate_category_product_rewrites set to 0 (CatalogUrlRewrite config.xml) · checked
- 35 Magento 2.4.8 source: history redirects only when save_rewrites_history is set (CurrentUrlRewritesRegenerator.php) · checked
- 36 Magento 2.4.8 source: imports add history redirects only when the row sets save_rewrites_history (AfterImportDataObserver.php) · checked
- 37 Data Migration Tool source: Magento 1 Enterprise rewrite tables to url_rewrite (UrlRewrite Version11410to2000.php) · checked
- 38 Shopify App Store: Cart2Cart Store Migration · checked · ↑ back
- 39 LitExtension: Magento to Shopify migration · checked · ↑ back
- 40 Matrixify: bulk import and export for Shopify · checked · ↑ back
Last reviewed