eCommerce

Magento to Shopify Migration: 9 Steps That Keep the Rankings You Paid For

📅 September 20, 2026 · ✍️ Ali Khan · 🕐 18 min read ·
Magento to Shopify Migration: 9 Steps That Keep the Rankings You Paid For
Key Takeaways What Makes a Magento to Shopify Migration Different? Step #1: Crawl the Old Site Before You Touch Anything Step #2: Build the URL Map Before the Theme Step #3: Export and Reconcile the Data Step #4: Rebuild the Templates, Not the Design Step #5: Write the Redirect File and Leave It Loaded Step #6: Test Everything That Is Not a Redirect Step #7: Cut Over on a Quiet Day Step #8: Upload the Redirects Immediately Step #9: Monitor for Eight Weeks, Not Eight Days Where Does the Time Actually Go? What Does Skipping Each Step Actually Cost? Frequently Asked Questions Next Steps

“We’ll export the products, rebuild the design, and point the domain at it.”

That sentence has cost more organic traffic than any algorithm update I have watched.

Not because anything in it is wrong. Because of what it leaves out, which is most of a Magento to Shopify migration.

A Magento to Shopify migration is the one project where the SEO work has a hard deadline set by somebody else, and missing it is not recoverable in the way most SEO mistakes are.

There is also a platform-specific trap in this particular move that does not exist going the other way, and almost nobody plans for it.

Nine steps of a Magento to Shopify migration. In order.

Key Takeaways

  • Every product URL will change. Shopify forces /products/ and /collections/, so a Magento to Shopify migration cannot preserve the old structure.
  • Shopify lets you redirect only from broken URLs. If the old URL still loads, the redirect will not fire, so nothing can be pre-built and tested.
  • You cannot redirect from fixed Shopify paths: /products, /collections and /collections/all are off limits, along with /cart, /orders, /apps and four others.
  • The redirect ceiling is 100,000 URLs, or 20 million on Shopify Plus. Large Magento catalogues can genuinely hit it.
  • Google states that 301 and other permanent redirects do not cause a loss in PageRank, so the risk is missing redirects, not redirects themselves.
  • Keep redirects for at least a year, per Google, because that is how long signal transfer and third-party link reassignment take.
  • Expect temporary ranking fluctuation. Google says a medium site takes a few weeks for most pages to move in the index.
  • The .html suffix on Magento URLs is the single most commonly missed pattern in the redirect map.
  • The URL map is not on the critical path, which is exactly why it slips and exactly why migrations fail.
  • Crawl the old site before anything is switched off. Once Magento is gone, the list of URLs you needed is gone with it.
  • Layered navigation URLs from Magento are usually not worth redirecting, but the handful with real traffic are.
  • Budget a full quarter from kickoff to stable, with the last four weeks being monitoring rather than building.

What Makes a Magento to Shopify Migration Different?

A Magento to Shopify migration will not let you keep your URLs, and will not let you practise the redirects.

Those two constraints together are unique to moving onto Shopify, and they invert the usual order of work.

Start with the URLs, because that is where the damage happens.

Address change

Five URL shapes, five rewrites, zero survivors

Shopify decides the path structure, so the old shape cannot be carried across.

What each URL shape becomes on Shopifygrey = Magento today, coloured = Shopify afterProduct/outdoor/tents/vango-banshee-200.html/products/vango-banshee-200category nesting and .html both lostCategory/outdoor/tents.html/collections/tentsforced prefix, cannot be redirected fromLegacy ID/catalog/product/view/id/4821/products/vango-banshee-200still indexed, still needs a ruleCMS page/delivery-information/pages/delivery-informationprefix added, otherwise cleanBlog post/blog/how-to-pitch-a-tent/blogs/news/how-to-pitch-a-tentextra path segment appearsNot one of these can be preserved. Every row is a redirect rule you have to write.
The two red rows use fixed Shopify paths, which cannot be redirected from at all.

Path rules per Shopify documentation. Handles shown are illustrative.

A typical Magento product sits at something like /outdoor/tents/vango-banshee-200.html.

On Shopify that product will live at /products/vango-banshee-200. The category nesting is gone, and so is the .html.

You cannot configure your way around it. Shopify’s documentation lists /products, /collections and /collections/all as fixed paths that cannot be redirected from at all.

So every product, every category and every CMS page changes address on the same day of the Magento to Shopify migration.

The constraint that breaks plans: Shopify states you can redirect only from broken URLs, and that if the URL still loads a valid webpage the redirect will not work. You therefore cannot build and test your redirect map in advance on the live site. It can only be uploaded after cutover, when the old URLs have started 404ing and the clock is already running.

This is why the redirect file has to be finished, checked and sitting in a folder before cutover weekend, rather than being written during it.

One more limit worth knowing before you scope anything. Shopify allows a maximum of 100,000 URL redirects, rising to 20 million on Plus.

A Magento catalogue with layered navigation can generate more URLs than that on its own, which is a scoping conversation rather than a technical one. The mechanics are identical to Shopify collection filters generating pages you never built.

Crawling the existing store to capture every URL before switching platforms
Once the old store is off, the list of URLs you needed is off with it.

Step #1: Crawl the Old Site Before You Touch Anything

Everything downstream in a Magento to Shopify migration depends on a complete list of what currently exists.

Crawl the Magento site fully, then add three sources the crawler will miss.

  • Search Console. Every URL with impressions in the last 12 months, including ones no longer linked internally.
  • Your backlink data. Pages other sites link to, which are the ones a missed redirect costs most.
  • Server logs. URLs real users and crawlers actually request, including the odd legacy paths nobody remembers creating.

Save all of it somewhere outside Magento, before the Magento to Shopify migration touches anything.

Once the old store is switched off, the list of URLs you were supposed to redirect is switched off with it, and reconstructing it from memory is not a plan.

Step #2: Build the URL Map Before the Theme

One spreadsheet drives the whole Magento to Shopify migration. Old URL, new URL, traffic, links, decision.

Most of a Magento to Shopify migration map can be generated with patterns rather than typed by hand.

Pattern rules

What maps automatically and what needs a human

Magento patternShopify destinationAutomatable?
/category/product.html/products/handleYes, match on SKU
/category/subcategory.html/collections/handleMostly, check nesting
/catalog/product/view/id/123/products/handleYes, via ID lookup
?color=blue&size=10 filtersCollection, or nothingNo, decide by traffic
/blog/post-name/blogs/news/handleYes, but the prefix changes
CMS pages/pages/handleYes
Discontinued productsParent collectionNo, judgement call

Row four is where teams lose days. Decide by traffic, not by completeness.

The most missed pattern: the .html suffix. Magento appends it to product and category URLs by default, and redirect maps built from a product export will not include it. Every rule in your file needs to account for the suffixed version, because that is the version Google has indexed.

For discontinued products, redirect to the closest parent collection rather than the homepage.

Homepage redirects are treated as soft 404s and help nobody, least of all the customer who wanted a tent. The same logic governs removed products generally, as covered in crawl budget optimization.

Step #3: Export and Reconcile the Data

Products, customers, orders, reviews. In that order of difficulty.

Products are mechanical. Reviews are the ones that quietly disappear, because they usually live in a third-party extension with its own export format, and rebuilding them later is product content work nobody budgeted for.

Reconcile by count before moving on. Number of products, number of variants, number of images, number of published reviews. It is the cheapest checkpoint in the whole Magento to Shopify migration.

If the counts do not match, find out why now rather than three weeks after cutover when somebody notices a category looks thin.

Step #4: Rebuild the Templates, Not the Design

This is the longest task in a Magento to Shopify migration and the one everybody wants to start with.

Resist redesigning at the same time as replatforming. If traffic drops afterwards you will not know which change caused it.

Match the old templates closely enough that the content, headings and internal linking survive, then redesign a quarter later once the migration has proved itself. Budget it separately using what Shopify development costs.

Three things must carry across exactly.

  • Title tags and H1s. Not “similar”. The same, unless you have a specific reason and a note explaining it.
  • Category and product copy. Including the long description nobody reads, which is doing more ranking work than anyone believes.
  • Structured data. Product, price, availability and reviews. Shopify themes vary in what they output, so check rather than assume.

Whether you use a stock theme or build from scratch changes the timeline more than the outcome, which is the trade we set out in theme versus custom build.

Validating a redirect map of old URLs against new destinations
Every old URL once, no chains, no destination that 404s.

Step #5: Write the Redirect File and Leave It Loaded

Finished, validated and sitting in a folder before cutover weekend begins. No Magento to Shopify migration survives writing it live.

Because of Shopify’s broken-URL rule you cannot test it on the live store beforehand, so validation happens in the spreadsheet instead.

  1. Every old URL appears exactly once. Duplicates are silently dropped and you will not be told which.
  2. No destination is itself a redirect. Chains cost crawl budget and dilute the transfer. Point everything at its final address.
  3. No destination 404s. Check every target against the new site’s actual URL list, not against what you intended to build.
  4. Both suffixed and unsuffixed versions covered. The .html trap, again, because it is worth two mentions.
  5. Nothing starts with a forbidden prefix. Shopify rejects redirects from /apps, /application, /cart, /carts, /orders, /services and /shop.

Sort the file by traffic descending. If the upload fails halfway, at least the valuable half landed.

Step #6: Test Everything That Is Not a Redirect

Staging can prove the store works. In a Magento to Shopify migration it cannot prove the redirects work, so spend the time on what it can actually test.

Checkout on a real phone. Tax and shipping rules. Discount codes. Product variants with odd option combinations. Structured data validation. Page speed on a product template with the real number of images.

And the one nobody schedules: search the new store for your ten best-selling products by name and check they come back. While you are there, check the app scripts you inherited are not adding seconds to every page.

Internal search behaves differently on Shopify, and a product that cannot be found internally will not sell no matter how well the migration went. It is one of the eight checks in fixes to try before a redesign.

Step #7: Cut Over on a Quiet Day

Tuesday morning. Not Friday evening, and not during a promotion.

The reasoning is unglamorous. If something breaks you want a full working week of people available to fix it, and you want traffic low enough that the damage is contained.

Google’s guidance on site moves is explicit that you should expect temporary fluctuation in ranking during the move, so choosing a low-stakes window is the only lever you have over the cost of that.

Pro tip: if you are also changing domain, submit a Change of Address in Search Console for the old site. If the domain stays the same and only the URLs change, that tool does not apply and the 301s are doing all the work on their own.

Step #8: Upload the Redirects Immediately

This is the first moment in a Magento to Shopify migration that the redirects can exist, and the gap before they do is pure loss.

The old URLs are now broken, which is precisely the condition Shopify requires, so the file you prepared in Step #5 can finally go in.

Then spot-check by hand. Twenty URLs, chosen from the top of your traffic list, tested in a browser rather than a tool.

The good news for any Magento to Shopify migration is that the mechanism itself is safe. Google states plainly that 301 and other permanent redirects do not cause a loss in PageRank.

Keep the redirects for as long as possible, generally at least 1 year. This timeframe allows Google to transfer all signals to the new URLs, including recrawling and reassigning links on other sites that point to your old URLs.Google Search Central, Site moves with URL changes

A year is the floor, not the target. There is no benefit to removing them and a real cost to doing it early, so leave them permanently unless something forces the issue.

Monitoring 404 reports weekly after a platform migration
You are hunting patterns, not individual URLs.

Step #9: Monitor for Eight Weeks, Not Eight Days

The dip is expected in any Magento to Shopify migration. The shape of the recovery tells you whether it worked.

The shape to expect

Down for two weeks, level by ten

What a migration that went right actually looks like week by week.

6080100115trough, week 2back to baseline, week 10wk 1wk 3wk 6wk 9wk 12Organic sessions indexed to 100 before cutoverShaded band is the range a clean migration usually falls within. Outside it, go back to the 404 report.
Worst week is 71 against a baseline of 100. Judging the project before week 6 tells you nothing.

Illustrative recovery curve. Google notes a medium site takes a few weeks for most pages to move in the index.

Google notes that a medium-sized website can take a few weeks for most pages to move in the index, and that larger sites take longer.

So the first fortnight tells you almost nothing, which is inconvenient because that is exactly when everybody is looking.

Watch four things weekly.

  • 404s in Search Console. Every one is a redirect you missed. This is the highest-value report for the first month.
  • Indexed page count. Should fall as old URLs drop out, then recover as new ones are processed.
  • Impressions, not positions. Impressions move first and give you an earlier read on whether pages are being seen at all.
  • Revenue per session. Separates a traffic problem from a store problem, which look identical in a revenue chart.

If week six still looks like week two, the problem is not patience. Go back to the 404 report and find the pattern you missed, then check the survivors are not indexed but not ranking for a different reason.

Where Does the Time Actually Go?

Not where the risk is, which is the structural problem with every Magento to Shopify migration plan.

Schedule versus risk

The riskiest work has the most slack

Dependencies between the nine steps, with the longest chain highlighted.

1 Crawl3d2 URL map5d3 Export data4d4 Templates10d5 Redirect file3d6 QA4d7 Cutover1d8 Upload1d9 Monitor28dNine steps with dependencies. Red is the critical path.The URL map and redirect file have slack, so they get postponed. That is the whole failure mode.
Critical path, 51 daysHas slack, 8 days of work
The two teal boxes decide whether you keep your rankings, and nothing is waiting on them.

Typical durations for a mid-sized catalogue. Yours will differ, the shape rarely does.

The theme build dominates the schedule. The URL map, which is the thing that decides whether you keep your rankings, sits off the critical path with slack around it.

Tasks with slack get postponed. That is not a moral failing, it is how project scheduling works, and it is why so many a Magento to Shopify migration ships with a half-finished redirect file.

Which is why the URL map should be given a hard internal deadline weeks before it is technically needed, and treated as a blocker even though the Gantt chart says it is not.

What we actually see: the migration runs late, the theme absorbs the extra time, and the redirect file gets finished the night before cutover by whoever is still awake. It is the single most reliable predictor of a bad outcome, and it is entirely a scheduling problem rather than a technical one.

What Does Skipping Each Step Actually Cost?

Not all of these fail equally, and knowing which parts of a Magento to Shopify migration are recoverable changes how you spend a tight week.

Consequences

What breaks, and whether you can fix it later

Skipped stepWhat happensRecoverable?
Crawling the old siteYou never learn which URLs existedNo, once Magento is off
URL mapRedirects written under pressure, patterns missedPartly, from the 404 report
Data reconciliationMissing products and reviews nobody notices for weeksYes, tediously
Title and copy parityRankings drop for reasons unrelated to URLsYes, if you kept a copy
Redirect validationChains, loops and destinations that 404Yes, within days
Staging QABroken checkout on live trafficYes, expensively
Uploading redirects promptlyEvery old URL 404s while you finish the fileYes, but you lose the window
Eight weeks of monitoringA missed pattern stays missedYes, whenever you look

Only the first row is genuinely unrecoverable, which is why it is step one.

Read that first row again before scheduling anything.

Every other failure in a Magento to Shopify migration can be repaired afterwards with enough patience. Losing the record of what used to exist cannot.

It also takes about an hour, which makes it the best value hour in the entire project.

The second row is the one that produces the horror stories, and it is worth being precise about why.

A rushed redirect file usually misses a whole pattern rather than individual URLs. One missing rule for the .html suffix takes out every product page at once, which looks like a catastrophe and is actually a five-minute fix once somebody spots it.

That is the argument for the 404 report over any dashboard. It shows you patterns, and patterns are what you are hunting.

Frequently Asked Questions

Will a Magento to Shopify migration lose rankings?

Temporarily, almost always. Google says to expect fluctuation during a move and that a medium-sized site takes a few weeks for most pages to reindex, so a dip is normal and a failure to recover after two months is not.

Can I keep my Magento URLs on Shopify?

No. Shopify uses fixed paths for products and collections, and its documentation lists /products, /collections and /collections/all as paths you cannot even redirect from. Every product and category URL changes.

Why can I not set up redirects before the migration?

Shopify only redirects from broken URLs, and states that if a URL still loads a valid webpage the redirect will not work. The old URLs are not broken until cutover, so the file has to be prepared in advance and uploaded immediately afterwards.

How many redirects does Shopify allow?

A maximum of 100,000, rising to 20 million on the Plus plan. Large Magento catalogues with layered navigation can exceed the standard limit, which needs deciding during scoping rather than during cutover.

Do 301 redirects lose link equity?

Google states that 301 and other permanent redirects do not cause a loss in PageRank. The risk in a migration is URLs with no redirect at all, not the redirects you do implement.

How long should I keep the redirects?

Google recommends keeping them for as long as possible and generally at least one year, because that is how long it takes to transfer signals and for other sites to update their links. In practice there is no good reason to ever remove them.

What is the most commonly missed redirect?

Anything with the .html suffix that Magento appends by default. Redirect maps generated from a product export omit it, so the indexed version of every URL goes unmapped.

Should I redirect filtered category URLs?

Only the ones with real traffic or links. Magento layered navigation can generate enormous numbers of filter URLs, and redirecting all of them wastes your redirect allowance on pages nobody visits.

Where should discontinued products redirect to?

The closest relevant collection, not the homepage. Homepage redirects for removed products tend to be treated as soft 404s and they leave the customer further from what they wanted.

Should I redesign at the same time?

No. Changing platform and design together makes any traffic change impossible to attribute. Match the old templates closely, prove the migration worked, then redesign a quarter later.

How long does the whole project take?

Around a quarter for a mid-sized catalogue, of which the final four weeks are monitoring rather than building. The theme build usually dominates the schedule even though the URL work carries the risk.

What should I check first if traffic does not recover?

The 404 report in Search Console, looking for a pattern rather than individual URLs. A missed rule affecting one URL shape, such as the .html suffix or a category prefix, explains most failed recoveries.

Next Steps

Before the Magento to Shopify migration starts, do these three.

First, crawl the Magento site today and store the export outside Magento. It costs an hour and it is unrecoverable later.

Second, count your URLs against the 100,000 redirect ceiling. If you are close, decide now which classes you are not redirecting.

Third, put a hard deadline on the URL map that lands two weeks before cutover, and treat it as a blocker even though the schedule says it has slack.

Then read the two source documents in full: Google on site moves with URL changes and Shopify on creating and managing URL redirects. Between them they define every constraint in this article.

If you would rather have the URL map built and validated before anyone touches a theme, that is the part we do first, or send us your crawl and we will tell you where the risk is.

Ali Khan, founder of Mezvic

Founder of Mezvic

I'm Ali Khan, the founder of Mezvic. I work with eCommerce brands on the parts of growth nobody posts about: marketplace accounts that have to stay compliant, catalogues that drift the moment you add a channel, and the automation that keeps both running without another hire. I write about what these platforms actually do rather than what their help pages say, usually because I have just spent a week fixing it for somebody.

Ready to Apply This?

Let Mezvic Build the System Behind Your Growth

Whether it's ranking higher on Google, automating your lead follow-up, or scaling your eCommerce revenue, we combine all three disciplines into one integrated system. Book a free 30-minute call and we'll show you exactly where your biggest opportunities are.

Free 30-minute audit No lock-in contracts 150+ businesses grown globally