Of all the things that go wrong in a Shopify migration, redirect problems are the hardest to catch in time. They don’t announce themselves on launch day. The site goes live, everything looks fine, and then three weeks later, someone notices organic traffic is down. A check in Search Console shows clusters of 404 errors. Old product links from email campaigns are going nowhere. Rankings that took years to build are quietly degrading.
Every one of those problems was preventable. It just required treating redirects as a core part of the migration — not an afterthought to sort out in the final days before launch.
There’s also a set of Shopify-specific redirect rules that most guides skip over entirely. They explain why redirects that look correctly set up simply don’t fire. Understanding them before you start will save you a lot of frustration.
Understanding Shopify URL Redirects: Quick Answer
A Shopify URL redirect is a 301 permanent redirect — it tells browsers and search engines that a page has permanently moved to a new address. When you migrate to Shopify, URLs almost always change because Shopify uses fixed prefixes: /products/, /collections/, /pages/. Any old URL that changes without a matching redirect becomes a 404 error, losing whatever traffic, rankings, and backlink equity that page had.
One thing most people don’t know until they hit it: Shopify redirects only work on broken URLs. If the source page is still active, the redirect won’t fire — at all. More on this below.
Why Your URLs Change When You Move to Shopify
Shopify locks its URL structure. You can change the handle — the slug at the end of the URL — but the prefixes are hardcoded. Products always live under /products/. Collections under /collections/. Pages under /pages/. Blog posts under /blogs/[blog-name]/.
Every other major platform structures URLs differently, which means the old URLs and the new Shopify URLs will not match by default — regardless of whether the product name stays the same.
| Platform | Example Old URL | Shopify Equivalent | The Mismatch |
|---|---|---|---|
| WooCommerce | /shop/shoes/red-running-shoes | /products/red-running-shoes | Category path in the URL disappears under Shopify’s flat structure |
| Magento | /men/footwear/running/red-shoes.html | /products/red-shoes | Nested category levels and .html extension both gone |
| BigCommerce | /red-running-shoes/ | /products/red-running-shoes | Close — but the /products/ prefix is new and breaks the match |
| Custom platform | /store/category/running-shoes/red/index.php | /products/red-running-shoes | Nothing maps automatically — every URL needs manual handling |
How complex the redirect work gets depends heavily on which platform you’re leaving. WooCommerce to Shopify migrations tend to be the most straightforward — the URL patterns are predictable and most products map cleanly. Magento to Shopify migrations are a different matter. Magento’s nested category structure creates URL hierarchies that Shopify simply can’t replicate — every level of nesting becomes a manual mapping decision, and on a large catalog, that adds up fast.

Why URLs Change During Shopify Migration
The Shopify Redirect Rules, Nobody Warns You About
Before you set up a single redirect, these four rules will save you hours of confusion.
Rule 1: Redirects Only Fire on 404 URLs
This catches almost everyone the first time. Shopify will not apply a redirect if the source URL still returns a live page. The old URL has to actually be broken — returning a 404 — before the redirect will work.
What this means practically: if you want to redirect a product URL, you need to delete, archive, or draft that product first. Same with collections — hide it from the Online Store channel before the redirect takes effect. Set up the redirect while the page is still live, and nothing will happen. No error, no warning, just silence.
If your redirect isn’t working:
Visit the old URL. If you land on a page rather than a 404, the source is still active. Take the page down first, then test the redirect again.
Rule 2: Some URL Paths Can’t Be Redirected
Shopify reserves certain path prefixes for platform use. You can’t create redirects from or to any URL starting with:
- /cart or /carts
- /orders
- /apps or /application
- /services
- /admin
- /collections/all
If your old store used any of these patterns, those specific URLs need a different solution — either custom theme code, a third-party app, or accepting that native Shopify redirects won’t cover them.
Rule 3: The 100,000-Redirect Limit Is Rarely the Real Problem
Standard Shopify plans allow up to 100,000 redirects. Shopify’s documentation covers the limits by plan. In practice, even large stores rarely come close to this number. A catalog with 10,000 products, all collections, pages, and blog posts, usually generates well under 20,000 redirect entries. The limit is worth knowing, but shouldn’t drive your approach.
Rule 4: Shopify Deletes Redirects When the Target Goes Offline
This one bites people in post-launch maintenance. If you redirect /old-url to /collections/shoes and later hide the shoes collection, Shopify automatically deletes the redirect because the source URL is no longer broken. Bring the collection back, and the redirect is gone — you’ll need to recreate it.
If you hide collections seasonally, factor this into your redirect management. Any redirect pointing to a temporarily hidden collection will need to be rebuilt when that collection comes back.
How to Set Up Shopify URL Redirects: The Full Process
Five steps. The first two happen before you touch Shopify at all — and they’re where most problems originate when people skip them.

Simple Shopify Migration Process Overview
Step 1: Get Every URL Out of Your Current Store
You need a complete list of every URL that has ever had traffic, rankings, or a backlink pointing to it. Your platform’s product export is not enough — it only shows what’s currently live, not what Google has indexed over the years.
- Screaming Frog SEO Spider — crawl your live site and export every URL with status codes and link data. Free up to 500 URLs, paid for larger sites.
- Google Search Console — Performance — Pages — shows every URL Google is currently ranking. These are your highest-priority URLs. If a URL appears here, a missing redirect will cost you traffic.
- Ahrefs or Semrush — Site Explorer — shows which URLs have backlinks from other websites. These are non-negotiable. A missing redirect on a backlinked URL means the referring site is sending link equity into a 404.
- Your platform’s export tool — use it, but treat it as incomplete. Cross-reference against your GSC and crawl data.
EDP Insight:
GSC is the most important source here. Your platform export shows what’s live today. GSC shows what Google has indexed — including old product pages that were deleted months ago and still have rankings or backlinks attached to them.
Step 2: Map Every Old URL to a Shopify Destination
For each URL on your list, find the closest matching page on the new Shopify store. The question to ask for each one: if someone lands here expecting what the old page offered, where on the new store would best serve them?
| Old Page Type | Where to Send It | Example |
|---|---|---|
| Product — same product exists | Direct to the Shopify product page | /product/red-shoes > /products/red-shoes |
| Product — discontinued | Closest parent collection | /product/old-model > /collections/footwear |
| Category — direct equivalent | Matching Shopify collection | /category/shoes > /collections/shoes |
| Category — restructured | Closest new collection | /men/shoes/trail > /collections/trail-running |
| Blog post | Shopify blog post with updated path | /blog/guide > /blogs/news/guide |
| Static page | Equivalent Shopify page | /about-us > /pages/about |

Shopify admin — Online Store → Navigation → URL Redirects. The Import button handles bulk CSV uploads; Create URL Redirect is for individual entries.
Handle unmapped URLs carefully:
Avoid sending unmapped URLs to the homepage. It’s the most common shortcut and one of the most damaging — high bounce rates and a weak relevance signal to Google. If there’s no obvious match, the closest relevant collection is a better landing spot than / every time.
Step 3: Build the Mapping Spreadsheet
The mapping spreadsheet is the document that drives everything else. It’s where you make and record every redirect decision — and it becomes the CSV file you upload to Shopify. Build it before you open the Shopify admin. Making redirect decisions directly in the admin is slower, harder to review, and far easier to get wrong at scale.
Download the URL Redirect Mapping Template (XLSX) — includes all columns below, dropdown menus for page type, match quality, priority, and status, and a separate tab pre-formatted for Shopify’s CSV upload.
| Column | What Goes Here | Why |
|---|---|---|
| Old URL | Full path from the current store | Source for every redirect entry |
| New Shopify URL | Full path on the new Shopify store | Must be a live page when you upload |
| Page Type | Product / Collection / Page / Blog / Discontinued | Let’s you batch and filter the work |
| Match Quality | Exact / Close / Approximate / No Match | Flags anything that needs a second look |
| Monthly Traffic | From Google Analytics or GSC | High-traffic URLs have to be right |
| Has Backlinks | Yes / No | Non-negotiable — these cannot be missed |
| Priority | High / Medium / Low | Focus review time where it matters |
| Status | To Do / Mapped / Uploaded / Verified | Keeps the process trackable |
Step 4: Upload to Shopify
Option A: Manual entry — for small batches only
Shopify admin: Online Store — Navigation — URL Redirects — Create URL Redirect. Fine for under 50 redirects. Anything larger and it becomes too slow and too prone to typos. Full instructions at Shopify’s URL redirect guide.
Option B: CSV bulk upload — the right approach for migrations
Shopify takes a two-column CSV: column 1 is Redirect from, column 2 is Redirect to. No header row needed. The mapping template has a pre-formatted CSV tab ready to export and upload directly. For large lists, upload in batches of 500 to 1,000.
| Redirect from | Redirect to |
|---|---|
| /category/shoes | /collections/shoes |
| /product/old-red-shoes | /products/red-running-shoes |
| /about-us | /pages/about |
Download pre-formatted CSV tab ready for direct upload (XLSX)
Option C: Third-party apps — when native Shopify isn’t enough
Shopify’s native redirects have two significant limitations: they can’t redirect active pages, and they don’t support wildcards. If you need to redirect active URLs, or if your old store has patterns where one rule should cover hundreds of URL variants, apps like SC Easy Redirects or Redirect Pro fill those gaps.
Step 5: Test Before Launch, Monitor After
Run Screaming Frog against your full old URL list before the domain switch. Filter for 404 responses — those are missing redirects. Also check the Redirect Chains report. Any chain longer than one hop (A to B to C instead of A directly to C) should be fixed before launch.
Manually check your 20 to 30 highest-traffic URLs by visiting them. Test in incognito so browser cache doesn’t mask anything.
After launch, check Google Search Console — Coverage — Not Found (404) every week for the first month. A small number of stray 404s is normal. A cluster affecting a whole page type — all products, all collections, all blog posts — means a mapping error. Re-crawl with Screaming Frog at two to three weeks post-launch.

Not sure where to start with your redirect mapping?
We handle the full process — audit, mapping, and upload — as part of every migration we run.
Which URLs Matter Most
Redirect work scales to store size quickly. Here’s how to prioritise where your review time goes.
| Priority | What It Covers | What Happens If You Miss It |
|---|---|---|
| Critical | URLs with organic traffic in GSC — Performance — Pages | Direct traffic loss. Visible within two to four weeks of launch. |
| Critical | URLs with backlinks — Ahrefs or Semrush | Link equity is gone. Gradual, but permanent if not fixed promptly. |
| High | URLs linked internally from other pages on your site | Broken links across your own store, and slower crawling by Google. |
| High | Your homepage variants and main collection pages | High-volume pages — any miss has immediate user impact. |
| Medium | Blog posts and informational content | Rankings for informational queries worth holding onto. |
| Lower | Pages with no traffic, no backlinks, no internal links | Low risk, but include them for completeness. |
The Six Mistakes That Break Redirect Setups
These come up constantly — in post-migration audits, in Shopify community threads, in client calls after launches that didn’t go as planned.
1. Creating Redirects Before Taking Down the Source Pages
Already covered in the rules section, but worth repeating because it’s the number one cause of ‘my redirect isn’t working’ questions. Shopify needs the source URL to be dead before it will route traffic to the destination. Set up the redirect first, leave the page live, and the redirect does nothing. Deactivate or delete the source, then upload.
2. Sending Everything Unmapped to the Homepage
When you’re working through a large URL list and running low on time, it’s tempting to redirect anything without a clear match to the homepage and move on. Don’t. A visitor who clicks a link to a specific product and lands on a homepage has no idea where to go next. Bounce rates on these redirects are high. And Google reads a mass homepage redirect as a weak relevance signal for every URL involved — not as a helpful fallback.
If there’s genuinely no obvious destination, redirect to the most relevant collection. Even /collections/all beats the homepage for relevance.
3. Redirect Chains
A redirect chain is what happens when URL A points to URL B, but URL B has since been redirected somewhere else — so the visitor ends up taking two hops to reach the final page instead of one. It usually happens gradually: someone sets up a redirect, then later moves the destination page without going back to update the original. Screaming Frog’s Redirect Chains report catches these before launch. When you find one, go back to the original redirect and point it straight to the final destination — cut out the middle stop entirely.

Redirect Chains and Redirect Loops in Shopify Migration
4. Redirect Loops
Less common than chains but more severe. A loop is A redirecting to B, B redirecting back to A. The page never loads. Usually introduced by conflicting redirects from different apps, or a theme-level redirect that contradicts one in the admin. Screaming Frog flags them as ‘redirect loop’. Always crawl for these before the domain switch — they’re invisible until someone actually tries to load the URL.
5. Forgetting Non-Product Pages
Product and collection URLs are the obvious ones. What gets missed: blog posts, About pages, FAQs, Shipping Policy pages, Contact pages, and homepage variants like /index.php or /home. These pages sometimes have years of backlinks attached to them from PR activity, press coverage, or old directory listings. Missing a blog post redirect that has 40 referring domains is a meaningful SEO loss. The Step 1 crawl — not the product export — is what catches these.
6. Leaving Internal Links Routing Through Redirects After Launch
Redirects are for external traffic — Google, other websites, old emails, bookmarks. Your new Shopify store’s own internal links should point directly to the final Shopify URLs, not go through a redirect to get there. After launch, run a crawl of the new site. Any internal link that routes through a redirect should be updated to point directly. It’s not urgent, but it affects page load speed and crawl efficiency over time.

Already seeing 404s after your migration?
We can audit your redirects, find what’s broken, and fix it before it affects your rankings.
What Redirects Do — and What They Don’t
A common misconception after a migration goes wrong: “We set up all the redirects, so the SEO should be fine.” Redirects protect URL equity. They don’t automatically carry over metadata, fix canonicalisation, or submit your new sitemap to Google. Each of those is a separate task.
| Task | What It Does | Covered by Redirects? |
|---|---|---|
| 301 redirects | Forwards traffic and link equity from old URLs to new ones | Yes |
| Metadata transfer | Moves title tags and meta descriptions to the new Shopify pages | No — separate step during data migration |
| Canonical tags | Prevents duplicate content issues between old and new URL variants | No — set in theme or via SEO app |
| XML sitemap submission | Tells Google the new URL structure exists and should be crawled | No — submit via Google Search Console after launch |
| Internal link updates | Removes unnecessary redirect hops from your own site’s links | No — manual update post-launch |
The full SEO picture for a Shopify migration — metadata, canonicals, sitemap, and post-launch monitoring — is covered in the Shopify migration SEO guide.
Free Download: Shopify URL Redirect Mapping Template (XLSX)
All required columns, dropdown menus for page type, match quality, priority, and status, and a separate tab pre-formatted for Shopify’s CSV import. Download it, fill in your URLs, and use the CSV tab to upload directly to Shopify.
Tab 1: Full Mapping Sheet | Tab 2: Shopify CSV Upload — import-ready | Tab 3: Priority Tracker with formula scoring
Shopify URL Redirects FAQs
Why isn’t my Shopify redirect working?
Nine times out of ten: the source page is still active. Check the old URL — if it loads a page rather than a 404, the redirect won’t fire. Take the page down, then test again.
If the page is definitely a 404 and the redirect still isn’t working, check these in order:
- Typo in the redirect from or redirect to field — trailing slash, extra space, or a character that looks right but isn’t
- Target URL is not live — the destination has to return a 200
- Browser cache — you are testing in a browser that has cached the old page — try incognito
- The URL path is reserved — /cart, /orders, /apps, /services, /admin cannot be redirected natively. See Shopify’s documentation for the full list.
Does Shopify support 301 redirects?
Yes. Every redirect you create through Shopify admin is a 301 by default — there’s no option to make it a 302. If you genuinely need a temporary redirect for something, you’ll need a third-party app or a snippet of theme code to handle it.
Can I upload thousands of redirects at once?
Yes. Go to Online Store — Navigation — URL Redirects — Import and upload a two-column CSV. Standard plans handle up to 100,000 redirects. Upload in batches of 500 to 1,000 if the list is large.
Can I change my URL structure in Shopify?
You can change handles — the last part of the URL. The prefixes (/products/, /collections/, /pages/, /blogs/) are locked. This is why moving from another platform always requires redirect work, even when the product names stay exactly the same.
How long do I need to keep migration redirects?
Indefinitely. Once a redirect is in place, the cost of leaving it is essentially zero. The cost of removing it and having something break again is real. Migration redirects should be treated as permanent unless you have a specific data-backed reason to remove one.
What’s the difference between a redirect chain and a redirect loop?
A chain is A goes to B goes to C — the page loads eventually, but with extra hops that slow things down and reduce the link equity passed through. A loop is A goes to B goes back to A — the page never loads. Both are detectable in Screaming Frog before launch.
Do I need redirects if my handles aren’t changing?
If only the handle stays the same but the prefix changes — /product/red-shoes becoming /products/red-shoes — yes, you still need a redirect. They’re technically different URLs. The only time you don’t need a redirect is if the complete URL path is identical on both platforms.
Is handling redirects enough to protect my SEO?
It protects your URL equity — the rankings and link value attached to old URLs. But it doesn’t cover everything. Metadata needs to be transferred separately, your sitemap needs to be resubmitted, and you need to watch Search Console closely for the first month. The full checklist is in the Shopify migration SEO guide.

Need Help with Shopify URL Redirects?
We handle URL auditing, mapping, implementation, and post-launch monitoring as part of every migration we run. If you want to make sure nothing breaks after your launch, get in touch.

Tweet
Email
