301 redirects are the single most important technical element of any platform migration. They are the bridge between your old URLs and your new Shopify URLs. Without them, every external link, bookmark, and indexed page pointing to your old site becomes a dead end — a 404 error that wastes the SEO authority you have spent years building.
We have managed dozens of migrations to Shopify from platforms including Magento, WooCommerce, Squarespace, and bespoke systems. The stores that maintain their organic traffic through migration are the ones that implement redirects comprehensively and correctly. The stores that lose traffic are almost always the ones that cut corners on this step.
This guide covers the complete redirect process for Shopify migrations. For the broader migration context, see our SEO during platform migration guide and our migration checklist.
Why redirects are critical for migrations
When you change platforms, your URL structure almost always changes. A product that lived at /shop/blue-jacket-p123.html on your old platform will live at /products/blue-jacket on Shopify. Without a redirect, the old URL returns a 404 error.
Link equity preservation
Every backlink to your old site carries SEO value. 301 redirects pass approximately 95–100% of that link equity to the new URL. Without redirects, you lose all of it. If you have spent years building links to your old product pages, category pages, and blog posts, losing them is equivalent to starting your SEO from scratch.
User experience
Customers who have bookmarked your pages, saved links in emails, or clicked old social media posts will hit 404 errors without redirects. This is a terrible experience that costs you immediate sales and long-term trust.
Google’s indexing transition
Google needs redirects to understand the relationship between your old and new URLs. Without them, Google treats the new URLs as entirely new pages with no history, and the old URLs as dead pages that should be removed from the index. With redirects, Google transfers the ranking history from old to new.
Step 1: Crawl your old site completely
Before you can redirect URLs, you need a complete inventory of every URL on your old site that receives traffic, has backlinks, or is indexed by Google.
Run a full crawl
Use Screaming Frog or Sitebulb to crawl your entire old site. Export the complete list of URLs, including:
- All product pages
- All category/collection pages
- All blog posts and articles
- All informational pages (about, contact, FAQs, etc.)
- All image URLs (if they are indexed separately)
- Any paginated URLs
Export Google Search Console data
Download the full list of indexed pages from Google Search Console. This shows every URL Google has in its index for your site. Some of these may not appear in a crawl if they are orphaned pages with no internal links.
Export backlink data
Use Ahrefs or SEMrush to export every URL on your old site that has at least one external backlink. These are the highest-priority URLs for redirects because they carry link equity that must be preserved.
Prioritise by traffic and links
Not every URL carries equal importance. Prioritise redirects for pages that receive organic traffic (check Google Analytics), have backlinks (check Ahrefs), or rank for valuable keywords (check Search Console). These are the URLs where missing a redirect costs the most.
Step 2: Create your URL mapping document
The URL mapping document is a spreadsheet that maps every old URL to its corresponding new Shopify URL. This is the most time-consuming but most important part of the redirect process.
Map products
For each product on your old site, identify the corresponding product on Shopify. The Shopify URL will follow the pattern /products/product-handle. If you have maintained the same product catalogue, this is a straightforward mapping exercise.
Map categories to collections
Old category pages need to map to Shopify collection pages. Category structures often change during migration, so some old categories may need to redirect to different collections or to collection pages that combine what were previously separate categories.
Map blog posts
If you are migrating blog content, map each old blog URL to the new Shopify blog URL. Shopify blog URLs follow the pattern /blogs/blog-name/post-handle.
Handle pages with no equivalent
Some old pages may not have a direct equivalent on the new site. In these cases, redirect to the closest relevant page rather than the homepage. A discontinued product should redirect to its category/collection page. A removed blog post about a specific topic should redirect to the most relevant remaining content on that topic. Only redirect to the homepage as a last resort, as this dilutes the relevance signal. For guidance on handling these decisions, see our metafields guide.
Step 3: Understand Shopify’s URL structure
Shopify enforces a fixed URL structure that you cannot change. Understanding this is essential for correct mapping.
Shopify URL patterns
| Page type | URL pattern |
|---|---|
| Products | /products/product-handle |
| Collections | /collections/collection-handle |
| Blog posts | /blogs/blog-name/post-handle |
| Pages | /pages/page-handle |
Redirect limitations
Shopify redirects only work with the path portion of the URL, not the full domain. You enter /old-path and /new-path, not the full URL. Shopify does not support regex or wildcard redirects through the admin interface, though the CSV import allows for bulk redirect creation.
Importantly, Shopify cannot redirect from a URL path that currently exists. If you have a product at /products/blue-jacket, you cannot create a redirect from /products/blue-jacket — the product must be deleted or the URL handle changed first.
Step 4: Implement redirects in Shopify
Once your URL mapping is complete, implement the redirects in Shopify.
Manual redirect creation
For small numbers of redirects, create them manually: go to Online Store > Navigation > URL Redirects > Add URL redirect. Enter the old path in “Redirect from” and the new path in “Redirect to”.
Bulk CSV import
For migrations with hundreds or thousands of URLs, use the CSV import feature. Create a CSV with two columns: Redirect from and Redirect to. Each row contains the old path and new path. Upload the CSV from the URL Redirects page.
Redirect from,Redirect to
/shop/blue-jacket-p123.html,/products/blue-jacket
/category/mens-jackets,/collections/mens-jackets
/blog/2024/01/winter-style-guide,/blogs/journal/winter-style-guide
Handle query parameters
Shopify redirects do not support query parameters in the “Redirect from” field. If your old URLs used query parameters for pagination, sorting, or filtering (/products?page=2), these cannot be individually redirected. They will follow whatever redirect exists for the base URL path.
Implement before DNS cutover
Set up all redirects before switching your domain to the new Shopify store. This ensures that when the DNS change propagates and traffic starts arriving at the new site, every redirect is already in place. There should be zero time where old URLs return 404 errors on the new site.
Step 5: Test and verify every redirect
After implementing redirects, test them before and after the DNS cutover.
Test before launch
If your Shopify store is on a .myshopify.com development URL, you can test redirects by appending old paths to the development URL. Verify that each redirect resolves to the correct new page.
Use bulk testing tools
For large redirect sets, use a bulk redirect checker or write a simple script that fetches each old URL and verifies the response code (should be 301) and final destination URL. Common tools include httpstatus.io, Screaming Frog (custom list mode), or a simple cURL script.
Check for redirect chains
A redirect chain occurs when URL A redirects to URL B, which redirects to URL C. Each additional hop loses a small amount of link equity and adds latency. Ensure every redirect goes directly from old URL to final URL with no intermediate steps.
Check for redirect loops
A redirect loop occurs when URL A redirects to URL B and URL B redirects back to URL A. This creates an infinite loop that results in an error. Test for loops as part of your verification process.
Step 6: Monitor post-migration performance
After launch, monitor your redirects and SEO performance closely for at least 12 weeks.
Check Google Search Console daily
Monitor the Pages report for spikes in 404 errors. Any old URL returning a 404 is a missed redirect. Fix these immediately by adding the missing redirect.
Monitor organic traffic
Compare organic traffic week-over-week and month-over-month. Some initial fluctuation is normal, but significant drops (more than 15–20%) within the first two weeks indicate redirect issues.
Check server logs
If available, check server logs for 404 responses. These reveal URLs that users and bots are requesting but not finding. Each one is a potential missed redirect.
Verify Google is processing redirects
Use the URL Inspection tool in Search Console to check individual old URLs. Google should show the old URL as redirected to the new URL. If Google is still showing the old URL as indexed or as a 404, there may be an issue with the redirect implementation.
Common redirect mistakes to avoid
After managing many migrations, we have seen the same mistakes repeated. Here are the most common ones and how to avoid them.
- Redirecting everything to the homepage. Lazy redirect implementations that point all old URLs to the homepage waste link equity and provide a poor user experience. Each URL should redirect to its closest equivalent.
- Using 302 redirects instead of 301. Some platforms and tools default to 302 (temporary) redirects. For migrations, always use 301 (permanent) redirects. Shopify uses 301 by default, but verify this.
- Forgetting image URLs. If your old site had images indexed by Google, those URLs also need redirects. Image search traffic can be significant for ecommerce stores.
- Missing trailing slashes.
/products/blue-jacketand/products/blue-jacket/are different URLs. Test both versions and ensure both are covered. - Not redirecting HTTP to HTTPS. Shopify enforces HTTPS, but if your old site used HTTP, ensure redirects work from both HTTP and HTTPS versions of old URLs.
- Removing redirects too soon. Keep redirects in place permanently. There is no performance benefit to removing them, and doing so breaks old external links.
The quality of a platform migration is measured by what happens to organic traffic in the 90 days after launch. In our experience, the single biggest factor determining that outcome is redirect implementation. Everything else — content, design, speed — is secondary to getting redirects right.
Andrew Simpson, Founder
Bringing it together
Setting up 301 redirects for a Shopify migration is a methodical process: crawl your old site completely, create a comprehensive URL mapping, understand Shopify’s URL structure, implement redirects via the admin or CSV import, test and verify everything, and monitor performance post-launch. Skip any step and you risk losing organic traffic that took years to build.
The effort invested in redirects pays for itself many times over. A properly redirected migration preserves rankings, maintains traffic, and protects revenue. A poorly redirected migration can take 6–12 months to recover from — if it recovers at all.
If you are planning a migration to Shopify and want to protect your SEO investment, get in touch. We manage the entire migration process, including comprehensive redirect implementation and post-launch monitoring.