Migrating from Magento to Shopify is one of the most significant decisions an ecommerce business can make. Magento — now branded as Adobe Commerce — has been the platform of choice for enterprise ecommerce for over fifteen years. But the landscape has shifted. Rising hosting costs, security patch fatigue, the end of Magento 1 support, and the increasing capability of Shopify and Shopify Plus have made migration a commercially sound decision for thousands of UK businesses.
This is not a decision to take lightly. A poorly executed migration can cost you months of organic traffic, break critical integrations, and frustrate loyal customers. A well-executed one reduces your total cost of ownership, improves site performance, and positions you for growth on a platform that is actively invested in by its developer ecosystem. Before you start, make sure you have reviewed our comprehensive ecommerce migration checklist.
This guide covers every phase of the migration process in detail, based on our experience migrating stores from Magento 1 and Magento 2 to Shopify and Shopify Plus.
Why migrate from Magento to Shopify
Before diving into the how, let us address the why. Every migration carries risk, and you need clear commercial justification for undertaking one.
The true cost of running Magento
Magento’s total cost of ownership is substantially higher than most merchants realise. Beyond the licence fee (which is zero for open source, but substantial for Adobe Commerce), you are paying for:
- Hosting — Magento requires dedicated or cloud server infrastructure. A well-configured hosting environment for a mid-sized Magento store typically costs £300–£2,000 per month.
- Security patches — Adobe releases regular security patches that require testing and deployment. Each patch cycle can consume 4–16 hours of developer time.
- Server management — Someone needs to manage the server: PHP updates, MySQL optimisation, Varnish cache configuration, SSL certificates, and performance monitoring.
- Extension updates — Third-party Magento extensions frequently break during upgrades. Each extension adds maintenance overhead.
- Development costs — Magento developers command premium rates due to the platform’s complexity. The pool of experienced Magento 2 developers in the UK has been shrinking as talent moves to other platforms.
When you add these together, many mid-market Magento stores are spending £30,000–£100,000 per year simply to maintain the status quo — before any new feature development. If your current platform is holding you back, the migration cost pays for itself within the first year.
When Shopify is the right move
Shopify makes sense as a Magento replacement when:
- Your annual revenue is between £200K and £50M (above this, evaluate Shopify Plus specifically)
- You want to reduce infrastructure complexity and operational overhead
- Your development team spends more time on maintenance than innovation
- You need faster time-to-market for new features and campaigns
- Your store’s performance has degraded and optimisation has become a full-time job
- You are still running Magento 1, which has been unsupported since June 2020
When to stay on Magento
Be honest about the scenarios where Magento remains the better choice:
- You have highly complex product configuration requirements that exceed Shopify’s variant limits
- Your business requires deep multi-store functionality with shared catalogue and customer data
- You have invested heavily in custom Magento modules that have no Shopify equivalent
- Your development team has deep Magento expertise and you have a functional, performant store
Planning and pre-migration audit
The success of any migration is determined during the planning phase, not during execution. Rushing into the migration without a thorough audit of your current Magento store is the single most common cause of budget overruns and missed deadlines.
Catalogue audit
Start by documenting everything in your Magento catalogue:
- Total product count and breakdown by product type (simple, configurable, grouped, bundle, virtual, downloadable)
- Product attributes — list every attribute, its type (text, dropdown, multi-select, etc.), and whether it is used for filtering or search
- Category structure — map your full category tree, including nested categories and their depths
- Custom options — any per-product customisation fields (engraving text, custom sizing, etc.)
- Media assets — total image count, video content, downloadable files
Customer data audit
- Total customer accounts and their status (active, inactive)
- Customer groups and any group-specific pricing
- Stored addresses and payment methods
- Customer attribute data (custom fields added to the customer entity)
- Newsletter subscribers and their opt-in status
Order history
Decide how much order history to migrate. Options include:
- All orders — comprehensive but time-consuming to map and validate
- Last 12–24 months — covers active warranty periods and return windows
- Active/open orders only — minimal migration, archive the rest
Most businesses opt for the last 12–24 months of order data, with the full Magento database archived for reference.
Data migration: products, customers, and orders
Data migration is the core of any platform move. The process involves extracting data from Magento, transforming it into Shopify’s expected format, and importing it into your new store.
Product data migration
Magento’s product data structure is significantly more complex than Shopify’s. Magento uses an Entity-Attribute-Value (EAV) model, which means product data is spread across dozens of database tables. Extracting clean, usable data requires SQL expertise or a purpose-built migration tool.
Key mapping considerations:
| Magento field | Shopify equivalent | Notes |
|---|---|---|
| SKU | Variant SKU | Direct mapping |
| Product name | Title | Direct mapping |
| Description | Body HTML | HTML formatting preserved |
| Short description | Metafield | No native equivalent; use metafields |
| Special price | Compare at price | Shopify uses compare at for sale pricing |
| Weight | Weight | Verify unit conversion (kg vs g) |
| Custom attributes | Metafields | Map each to appropriate metafield type |
| Tier pricing | Shopify Plus price lists | Requires Shopify Plus; use app on standard |
| Categories | Collections + tags | Restructure hierarchy for flat collections |
Image migration
Magento stores product images in a directory structure under /media/catalog/product/. These need to be downloaded, optimised, and re-uploaded to Shopify’s CDN. For large catalogues with thousands of images, use the Shopify Admin API for batch uploading rather than the CSV import.
// Batch image upload via Shopify Admin API
// For each product, upload images with position ordering
const uploadImage = async (productId, imageUrl, position) => {
const response = await shopify.product.createImage(productId, {
src: imageUrl,
position: position,
alt: generateAltText(productId)
});
return response;
};
Customer data migration
Customer accounts present a unique challenge. Shopify cannot import hashed passwords from Magento because the two platforms use different hashing algorithms. This means customers will need to reset their passwords on the new store.
Options for handling this:
- Bulk invite — use Shopify’s customer invite API to send password reset emails to all migrated customers
- Just-in-time activation — use Shopify’s Multipass (Plus only) or a custom app to automatically create accounts when customers attempt to log in
- Phased migration — migrate customer data but only activate accounts as customers return to the site
Product structure mapping
This is where many Magento-to-Shopify migrations encounter their biggest challenges. The platforms handle product complexity in fundamentally different ways.
Configurable products to variants
Magento’s configurable products consist of a parent product with associated simple products. Each simple product is a full product entity with its own SKU, price, stock, and images. Shopify uses a single product with variants — a much simpler model, but with constraints.
Shopify variant limits:
- Maximum 100 variants per product
- Maximum 3 options per product (e.g., Size, Colour, Material)
- Each variant can have unique SKU, price, weight, and inventory
For products that exceed these limits, you have several strategies:
- Split into multiple products — if a Magento configurable product has colour and size options across multiple materials, create separate Shopify products per material
- Use a product options app — apps can extend the native variant system to support unlimited options
- Restructure the catalogue — use the migration as an opportunity to simplify overly complex product structures
Grouped and bundle products
Magento’s grouped products (multiple simple products displayed together) and bundle products (customer-configured combinations) do not have direct Shopify equivalents. Solutions include:
- Grouped products — use Shopify’s Related Products section or a custom product template that displays associated items
- Bundle products — use a bundling app or Shopify’s native bundle functionality (introduced in 2024)
SEO preservation strategy
SEO preservation is not optional. For most established Magento stores, organic search drives 30–60% of revenue. Losing that traffic, even temporarily, has a direct and quantifiable impact on your bottom line.
URL mapping and 301 redirects
Magento and Shopify use different URL structures. Every indexed URL on your Magento store needs a corresponding redirect to its Shopify equivalent.
| Content type | Magento URL pattern | Shopify URL pattern |
|---|---|---|
| Products | /product-name.html |
/products/product-name |
| Categories | /category/subcategory.html |
/collections/collection-name |
| CMS pages | /page-name |
/pages/page-name |
| Blog posts | /blog/post-title |
/blogs/blog-name/post-title |
Steps to execute:
- Crawl your Magento store using Screaming Frog or Sitebulb to capture every indexed URL
- Cross-reference with Google Search Console to identify the highest-traffic pages
- Create a complete URL mapping spreadsheet: old URL → new URL
- Import redirects into Shopify (admin or bulk CSV upload)
- Test every redirect before and immediately after go-live
Preserving meta data
Export all title tags, meta descriptions, and heading structures from Magento. Re-apply these to the corresponding Shopify pages. Do not allow a migration to reset all your carefully optimised metadata to auto-generated defaults.
Structured data
If your Magento store had Product schema, BreadcrumbList schema, or other structured data, ensure your Shopify theme implements equivalent markup. Many Magento themes had rich structured data that gets lost during migration because the Shopify theme does not replicate it.
Design and theme development
A migration is rarely a like-for-like design transfer. In most cases, it is an opportunity to improve the user experience, modernise the design, and optimise for conversion.
Theme options
- Pre-built theme — faster and less expensive (£200–£400 for the theme, plus £3,000–£8,000 for customisation). Best for stores where time-to-market is the priority.
- Custom theme — built from scratch to your exact specifications. Higher cost (£15,000–£40,000+) but gives you complete control over every aspect of the design and user experience. See our Shopify development services for more detail.
Critical design considerations
When designing the new Shopify store, focus on:
- Navigation structure — Shopify’s mega menu capabilities differ from Magento’s. Plan your navigation hierarchy carefully.
- Product page layout — this is your most important conversion page. Test with real product data, not placeholder content.
- Collection page filtering — Magento’s layered navigation is more powerful out of the box than Shopify’s native filtering. Plan for this gap.
- Mobile experience — many older Magento stores have poor mobile experiences. The migration is your chance to build mobile-first.
Integration mapping and replacement
Magento stores typically have numerous integrations that need equivalent solutions on Shopify. This is often the most underestimated part of a migration.
Common integration mappings
| Function | Magento approach | Shopify approach |
|---|---|---|
| ERP/accounting | Custom module or extension | API integration or middleware (e.g., Patchworks, Celigo) |
| Email marketing | Dotdigital, Mailchimp extension | Klaviyo, native integration |
| Reviews | Yotpo, Trustpilot module | Judge.me, Yotpo, Stamped Shopify apps |
| Search | Elasticsearch, Algolia | Shopify Search & Discovery, Algolia app |
| Shipping | Custom rates module | Shopify Shipping, ShipStation, Sorted |
| Payment | Stripe, PayPal, SagePay modules | Shopify Payments, third-party gateways |
| PIM | Akeneo, Pimcore integration | Akeneo Shopify connector, API integration |
Custom functionality audit
List every custom Magento module your store uses. For each one, determine:
- Can it be replaced by native Shopify functionality?
- Is there a Shopify app that provides equivalent functionality?
- Does it require a custom Shopify app or theme modification?
- Is it still needed, or has the business requirement changed?
Many stores find that 30–50% of their custom Magento modules are no longer needed. The migration is a natural clean-up point. If you are working with an agency on this, our web design and development team can help map integrations to their Shopify equivalents.
Testing and quality assurance
Testing is where most migrations either prove their worth or reveal their shortcomings. A structured QA process catches issues before they reach customers.
Data validation
- Verify product counts match between Magento and Shopify
- Check a sample of products across every product type for correct pricing, images, descriptions, variants, and inventory levels
- Validate customer data: names, email addresses, order history, addresses
- Confirm that order totals and line items are correct for migrated orders
Functional testing
- Add to cart, update quantities, remove items
- Complete checkout with every payment method
- Test shipping rate calculations for domestic and international orders
- Verify discount codes and gift cards work correctly
- Test account creation, login, password reset, and order history
- Verify email notifications (order confirmation, shipping confirmation, etc.)
- Test all third-party integrations end to end
SEO validation
- Crawl the staging site and verify all redirects resolve correctly
- Check that canonical tags are present and correct
- Validate structured data using Google’s Rich Results Test
- Verify meta titles and descriptions on key pages
- Confirm the XML sitemap includes all intended pages
Go-live process and DNS cutover
The go-live is the most critical 24 hours of the entire migration. A well-planned cutover minimises downtime and ensures customers experience a seamless transition.
Pre-launch checklist
- Final data sync: run a delta migration to capture any products, customers, or orders added since the initial migration
- Freeze changes on the Magento store (no product updates, price changes, or new orders during cutover)
- Verify all redirects are in place on the Shopify store
- Remove password protection from the Shopify store
- Update DNS records to point your domain to Shopify
- Verify SSL certificate is active and working
- Submit the new sitemap to Google Search Console
- Notify your email marketing platform of the new store URL
- Update any third-party integrations with new API endpoints
DNS propagation
DNS changes can take up to 48 hours to propagate fully, though most resolve within 2–4 hours. During this period, some visitors will see the old Magento store while others see the new Shopify store. Keep the Magento store running in read-only mode until DNS has fully propagated.
Post-migration monitoring
The first 30 days after migration are critical. Monitor these metrics daily:
- Organic traffic — compare to the same period pre-migration. Expect some fluctuation but watch for sharp drops that indicate redirect issues.
- Conversion rate — any decline may indicate UX issues on the new store that need immediate attention.
- 404 errors — check Google Search Console and your analytics for pages that are not redirecting correctly.
- Index coverage — monitor how quickly Google indexes the new URLs and de-indexes the old ones.
- Revenue — the ultimate measure of migration success.
If you are seeing significant drops in any metric, investigate immediately. The first week is when you have the best chance of catching and fixing issues before they compound.
For stores already weighing the decision, read our analysis on how we approach other platform migrations and our guide to migrating from PrestaShop to Shopify.
Migrating from Magento to Shopify is a significant undertaking, but it is one that pays dividends for years. Lower operational costs, faster development cycles, better performance, and a platform that is actively evolving to meet the needs of modern ecommerce businesses.
The key is preparation. Audit thoroughly, plan meticulously, test exhaustively, and monitor vigilantly after launch. Cut corners on any of these and you will pay for it in lost traffic, broken functionality, and customer frustration.
If you are considering a Magento to Shopify migration, talk to us. We have migrated stores from Magento 1 and Magento 2, and we know exactly where the pitfalls are. We will give you an honest assessment of whether migration makes sense for your business and what it will take to execute it properly.