Skip to content

CRO resources to optimize your e-commerce store Subscribe for free

Shopify Migration: How to Build a Redirect Plan That Protects Your SEO

Shopify Migration: How to Build a Redirect Plan That Protects Your SEO
Christo and Jeanne-Claude - Floating Piers

When you migrate a Shopify store (new theme, full redesign, move from another platform), the first things on your mind are usually the look, performance, and new features.

The redirect plan often lands at the bottom of the list.
That's a mistake that can get expensive.

URLs change. Collections get renamed, product slugs get standardized, and sometimes the domain itself changes. Without redirects, a visitor who clicks a bookmarked link (or one shared in a newsletter six months ago) lands on an error page.

Google, meanwhile, keeps indexing pages that no longer exist.
Organic traffic drops.
SEO value built up over years vanishes.

A well-built redirect plan makes a migration invisible to your visitors and to search engines. It's not the most glamorous part of a redesign. But it's often what separates a seamless migration from months of chasing broken URLs.


First, you need to understand what a URL is.

Visual: "Chain Reaction"
Chain Reaction

Before you build a redirect plan, you need to understand what you're working with.
A URL is a structured address. Each part has a specific role.

Let's take a concrete example from the Shopify ecosystem:

https://www.ma-boutique.com/collections/robes?sort_by=price-ascending

  • https:// — the protocol. On Shopify, all URLs use HTTPS by default.
  • www.ma-boutique.com — the domain. This is your store's address.
  • /collections/robes — the path. This is the part that changes most often in a migration.
  • ?sort_by=price-ascending — the parameters. They change how a page displays without creating a new page as such.

What matters for a redirect plan is mainly the path.

This portion, which starts after the domain, identifies a specific page, and it's what you'll need to map between the old site and the new one.

On Shopify, paths follow a standardized structure:

Page type Shopify format
Product page /products/nom-du-produit
Collection /collections/nom-de-la-collection
Blog post /blogs/nom-du-blog/nom-de-l-article
Static page /pages/nom-de-la-page

When you migrate from another platform (WooCommerce, Prestashop, Magento), these formats always change.

That's where most broken URLs come from.


What a Redirect Plan Actually Is

Visual: "Choosing the Right Direction"
Choosing the Right Direction

A redirect plan is a document that matches your site's old URLs to the new ones.

In practice, it's a mapping table, usually a CSV file, that shows where visitors should be sent for each old address.

Source URL (old) Destination URL (new)
/robe-ete-bleue /products/robe-ete-bleue
/categorie/robes /collections/robes
/a-propos.html /pages/a-propos

This document does two things.

First, it's a spec for the technical team, or for you if you're handling the Shopify migration yourself. It's also a validation tool: it lets you check that no important URL was missed before the new site goes live.

Redirects rely on two HTTP codes you'll see often:

  • 301 (Moved Permanently): a permanent redirect. The content has moved to a new address for good. Search engines pass the SEO value to the new URL. This is the code to use in the vast majority of migrations.
  • 302 (Found): a temporary redirect. The old URL remains the reference, and the content is only available elsewhere for now. Reserve it for truly temporary cases, such as a seasonal promotion or a page under maintenance.

In practice, if you're migrating your store, you'll use almost only 301s. In fact, Shopify's native redirect interface offers only that code.


Why Does It Matter?

Visual: "Avoiding Turbulence"
Avoiding Turbulence

1. SEO value is either preserved or lost

A site that's been around for a few years has built up what's called authority. Other sites link to your pages: news articles, blogs, comparison sites. These backlinks are a strong trust signal for Google. They took time to build.

When a URL disappears without a redirect, those backlinks lead nowhere. Google lands on an error page, can't tell where the content went, and that accumulated authority dissolves. A 301 redirect passes that value on to the new address. This is not a neutral operation.

A redirect is estimated to pass between 90 and 99% of SEO value

The most exposed pages are the ones that hold your backlinks and organic traffic. Those come first, without exception.

2. User experience

URLs get passed around. They're shared in newsletters, saved in bookmarks, cited in resellers' product listings, and built into email campaigns scheduled months in advance. A visitor who follows one of those links expects to find what they were promised. Landing on an error page creates friction and distrust, and at best a lost conversion.

This point is often underestimated because it's hard to measure directly.

But a Shopify store that drives traffic through recurring campaigns (email, affiliate, partnerships) is especially exposed. Those links live a long time.

3. Analytics continuity

Without redirects, your store's traffic history is split between old and new URLs. Your reports get hard to read, before-and-after comparisons lose their meaning, and some conversion attribution disappears. It's not a dealbreaker, but it's a real operational cost in the weeks after launch.

Building Your Redirect Plan

Visual: "Weaving Connections"
Weaving Connections

The new site structure is set. Now you need to match each old URL to its destination.

It's methodical work that takes more rigor than technical skill.

1. Audit what exists

Before you define redirects, you need to know all your current URLs. Not just the ones you think matter. All of them.

Several sources to cross-check:

Google Search Console

This is your main source.

It lists the URLs Google has indexed and the ones that drive organic traffic. If you don't have access to the store's Search Console yet, now is the time to set it up. Export the performance report and filter by pages.

Google Analytics or your analytics tool

Export the most visited pages from the past 12 months. Cross-check with Search Console to spot high-traffic pages that aren't necessarily well indexed.

A crawl tool

Screaming Frog (the free version is enough for most stores, up to 500 URLs) or online alternatives like Sitechecker give you a complete list of all active URLs on your site. This is often where you find forgotten pages that still generate backlinks.

Backlinks

Tools like Ahrefs or Semrush (trial versions are enough for this one-off use) show you which pages receive inbound links. These are your most valuable URLs from an SEO standpoint.

At the end of this step, you have a consolidated list of all your URLs, ideally with the following for each: monthly traffic volume, number of inbound backlinks, and current status (200, 404, etc.).

2. Map old to new

For each old URL, you determine its match in the new architecture.

The logic is simple in theory and a bit more nuanced in practice.

If the content still exists

The redirect is direct.

The old URL points to the new one. This is the most common case in a Shopify migration: the products and collections still exist, but their URLs have a new format.

If several pages were merged

They all point to the consolidated page.

For example, if you had separate "summer dresses" and "evening dresses" collections and you merge them into one "dresses" collection, both old URLs redirect to the new one.

If the content was removed

Redirect to the closest page.

The parent collection, a similar product, a search results page. What matters is not leaving the visitor at a dead end.

A common mistake is to redirect everything to the homepage when you don't know where else to point.

It's understandable, but counterproductive.

A redirect to the homepage passes almost no SEO value, because Google understands you couldn't find a relevant match. And for visitors, landing on the homepage when they were looking for a specific product is frustrating. If no relevant page exists, a deliberate 404 status is often better.

3. Prioritize

Not all URLs are equally important. Before you implement, sort your redirects into three tiers:

High priority

Pages with significant organic traffic and/or quality backlinks.

A missing redirect on these pages will have an immediate, measurable impact.

Medium priority

Pages with no traffic or backlinks, but whose content exists in the new architecture.

The redirect is easy to set up, so you might as well do it.

Low priority or 410

Pages with no traffic and no backlinks, whose content was deliberately removed.

The 410 (Gone) status tells Google explicitly that the page has been permanently removed.

It's cleaner than a 404, and it speeds up deindexing.

The mapping method is in place.

What's left is the most time-consuming step: matching hundreds of URLs one by one. If you're a Club subscriber, we offer a Claude Code skill built for this task. It takes your CSV export as input, applies the prioritization rules described in this article, and produces a file ready to import into Shopify.

Check out the resource 👇

Generate Your Shopify Redirect Plan with Claude
A Claude skill that generates your Shopify redirect plan from a URL export. Detects chains and loops

The final format

On Shopify, the import format is a two-column CSV file:

redirect_from redirect_to
/robe-ete-bleue /products/robe-ete-bleue
/categorie/robes /collections/robes
/a-propos.html /pages/a-propos

Note that Shopify works with relative paths, not full URLs. Don't include https://www.ma-boutique.com in the file, only the path that starts with /.

Shopify's native limit is 100,000 redirects. For the vast majority of stores, that ceiling will never be reached.

Best Practices and Common Mistakes

💚 Redirect to the most relevant content

A redirect should take the visitor to content as close as possible to what they were looking for. If a product page was removed, redirect to the parent collection or a similar product.

The goal is to preserve the user's intent, not just avoid showing an error.

This rule seems obvious, but it takes work.

On a store with several hundred products, you have to resist the temptation to bulk-redirect to generic destinations.

An hour spent mapping high-traffic pages correctly is worth more than ten hours analyzing a conversion drop after launch.

💚 Check trailing slashes

/collections/robes and /collections/robes/ are technically two different URLs. If your old site consistently used trailing slashes (the final /) and the new one doesn't, or the reverse, your redirects need to account for that.

On Shopify, URLs don't use a trailing slash by default.

If your source site had them, make sure your redirects cover both versions, or that your source platform handles normalization automatically. Otherwise, you'll accidentally create redirect chains, a problem we cover right after this.

💚 Document your choices

The CSV file is the source of truth for your redirect plan. But some decisions deserve an explanation: why this page got a 410 instead of a 301, why this product points to this collection and not another.

Six months after the migration, when a question comes up about a specific URL, this documentation saves you from reconstructing the reasoning from scratch.

A comment in a Google Sheet is enough.

It's not glamorous, but it's this kind of detail that separates a well-executed migration from one that leaves unanswered questions.

❌ Redirect chains

A redirect chain happens when URL A redirects to B, which redirects to C. Each hop adds latency for the visitor and dilutes the SEO value passed on.

Google generally follows up to 5 redirects before giving up, but even two hops is one hop too many.

❌ /ancienne-page → /page-intermediaire → /nouvelle-page ✅ /ancienne-page → /nouvelle-page

This problem often comes up after successive migrations.

The store has already been migrated once, some redirects already exist, and the new migration gets layered on top. Before you implement, check that the destination of each redirect isn't itself redirected.

On Shopify, the native interface flags redirect chains it detects, which makes it one of the few platforms to do so automatically.

But this safety net doesn't replace checking upfront.

❌ Redirect loops

Even worse: page A redirects to B, which redirects back to A. The browser detects the loop after a few iterations and shows an error, making the page completely inaccessible.

This happens more often than you'd think, especially when several people work on the redirect file without coordinating.

Prevention is simple: before importing, check that no destination URL also appears as a source URL in your file.

❌ Redirecting everything to the homepage

We covered this in the previous section, but it's worth repeating because it's the most common mistake.

Redirecting hundreds of removed pages to the homepage sends Google an ambiguous signal, and guarantees a poor experience for your visitors. If the content has no relevant successor, a 404 or 410 is a more honest and more effective answer.

❌ Ignoring URLs with parameters

On some stores, especially those migrated from other platforms, Google may index URLs with parameters: /products?id=123, /category.php?cat=robes. These URLs need to be handled in the redirect plan just like clean URLs, especially if they generate traffic or backlinks.

Shopify doesn't natively support redirects based on URL parameters. If this applies to you, you'll need an additional solution: a Shopify app dedicated to advanced redirects, or handling it upstream through DNS if you're changing domains.


Implementing on Shopify

Shopify redirect file with relative paths

Shopify has a native interface for managing redirects, available from the admin: Online Store > Navigation > URL Redirects.

It lets you do two things: create redirects manually, one by one, or import a CSV file to handle a large volume in a single operation. For a migration, the CSV import is what you want.


What comes next?

Testing and monitoring redirects after launch is at least as important as building them.

Test manually, but with a method

For a small volume (fewer than about fifty redirects), manual testing is still doable.

The simplest setup: a private browser window to avoid cache interference, and the Redirect Path browser extension, which shows the full redirect chain for every URL you visit.

For larger volumes, online tools like httpstatus.io let you test a list of URLs in one go and export the report.

You paste in your list of old URLs, and the tool checks the response codes and final destinations.

It's free, requires no installation, and is enough for most Shopify migrations.

What to check

For each redirect, there are three main points to validate:

  1. The response code: the old URL returns a 301, not a 200, a 404, or some other unexpected code
  2. The destination: the redirect points to the right new URL, not to an intermediate page
  3. No chain: the final destination responds with a 200 and doesn't redirect again

Even a thorough redirect plan lets some URLs slip through.

Visual: "Observe": validate every redirect
Observe

You still need to watch for 404s after the migration

Links in newsletters sent two years ago, URLs generated dynamically by third-party apps, paths the crawl didn't detect. These 404s will show up gradually after launch.

Shopify records 404 errors in its logs, but the interface doesn't expose them natively. Search Console is the go-to tool for tracking a migration's SEO impact. After the new site goes live, these are the signals to watch:

  • "Pages" > "Not indexed" report: filter by "Page with redirect" and "Not found (404)". A sudden increase points to missing or misconfigured redirects.
  • "Performance" report: compare organic traffic before and after the migration. A sharp drop on certain queries can point to missing redirects on high-traffic pages. Keep in mind that a dip in the first few days is normal, since Google takes time to recrawl and reindex.
  • URL Inspection tool: use it to check a specific URL when in doubt. Is it indexed? Redirected? To where? It's the most precise tool for diagnosing an individual case.

One important point on timing: the first reliable Search Console data arrives two to four weeks after the migration.

Checking the console the next day and panicking because the numbers are down is a classic mistake.

The initial drop is almost always temporary. It's the time Google needs to recrawl and reindex the site.

Post-migration monitoring schedule

Timing Action
Day 1 Check manual tests, confirm there are no 500 errors
Day 7 First Search Console check, 404 report
Day 14 Compare organic traffic, check indexing progress
Day 30 Full review, identify and fix missing redirects
Monthly after that Search Console check + review of new 404 errors


The Bottom Line

A well-executed redirect plan rests on three things: a thorough, prioritized mapping, a rigorous implementation with no chains or redirects to the homepage, and monitoring that doesn't stop on launch day.

On Shopify, the tools are accessible and the native interface covers most needs. What makes the difference is the method: audit what exists properly, prioritize by SEO impact, and validate before and after launch.

The perfect migration is the one your visitors don't notice.
A good redirect plan is exactly what makes it invisible.

To put it into practice without starting from scratch, subscribers get access to a dedicated resource: a Claude skill built specifically for creating Shopify redirect plans.

It accounts for the platform's technical constraints, detects chains and loops, and flags cases that call for a manual decision. The CSV file it produces can be imported directly from the Shopify admin.

Check out the resource here 👇

Generate Your Shopify Redirect Plan with Claude
A Claude skill that generates your Shopify redirect plan from a URL export. Detects chains and loops