How to Run a Shopify Migration Without Losing Rankings
Step-by-step guide to migrate to Shopify without losing SEO rankings. Includes redirect mapping, crawl audits, and post-launch monitoring checklist.
Prerequisites: What You Need Before You Start
Before you touch a single redirect, you need three things in place:
1. A complete URL inventory of your old site. Every page that gets organic traffic needs to be accounted for. This isn't optional. You can't map redirects to pages you don't know exist. Use your Google Search Console data, Google Analytics, and a full site crawl to build this list. If you're running on an old platform with thousands of URLs, a crawl tool like Screaming Frog or SEMrush will save you hours.
2. Access to both the old and new hosting environments. You need to be able to set redirects on the old domain while building the new Shopify store. If you're using a domain registrar that doesn't support redirect management, you'll need access to your old hosting control panel (cPanel, Plesk, etc.) or your old platform's redirect settings.
3. A testing environment for Shopify. Never migrate to your live Shopify store without testing first. Set up a development store or staging environment. Shopify makes this easy—you can create a development store in your Shopify admin. This is where you'll map URLs, test redirects, and validate that your old content structure translates correctly to Shopify's URL scheme.
4. Time to monitor post-launch. Plan for at least two weeks of active monitoring after you go live. Google doesn't reindex your entire site overnight, and you need to catch crawl errors and broken redirects while they're still fixable.
If you don't have these four things locked down before you start, stop. Get them first. Migrations fail because founders rush this part.
Step 1: Audit and Document Your Current SEO Performance
You can't measure what you've saved if you don't know where you started. This step takes two hours and it's non-negotiable.
Pull your baseline metrics:
Go to Google Search Console and export your Performance report for the last 90 days. You need:
- Total organic impressions
- Total organic clicks
- Average click-through rate (CTR)
- Average ranking position
- Top 100 keywords by impressions
Save this as a CSV. You'll compare against this after launch.
Next, go to Google Analytics 4 and pull organic traffic by landing page for the same 90-day window. Export this too. This shows you which pages are actually driving conversions, not just traffic.
Run a full site crawl. Use Screaming Frog (free version works) or your SEO platform's crawler to get a complete picture of your current site structure. You're looking for:
- Total number of pages indexed
- Pages with meta descriptions
- Pages with H1 tags
- Internal link structure
- HTTP status codes (identify any existing 4xx or 5xx errors)
- Page load speed
Export this crawl data. You'll use it to validate that your Shopify migration preserves this structure.
Document your technical SEO setup. Check your current:
- Robots.txt rules
- XML sitemap location and structure
- Canonical tag implementation
- HTTPS setup (SSL certificate status)
- www vs. non-www preference
- Structured data (Schema.org markup for products, reviews, FAQs, etc.)
Take screenshots of your Google Search Console settings—coverage, mobile usability, Core Web Vitals, security issues. This becomes your pre-migration baseline.
Step 2: Create Your URL Mapping Strategy
This is where most migrations go sideways. Shopify has a different URL structure than most platforms. Understanding how to map old URLs to new ones—and when to accept URL changes—determines whether you keep your rankings.
Understand Shopify's default URL structure.
Shopify generates URLs like:
/products/product-namefor product pages/collections/collection-namefor category pages/blogs/blog-name/post-namefor blog posts/pages/page-namefor static pages
If your old site used different URL patterns (like /shop/category/product or /blog/article-title), you'll need to decide: do you keep your old URL structure through Shopify's URL rewrite settings, or do you accept the new structure and redirect?
The founder's choice: Keep your old URLs if they're already ranking and driving traffic. The redirects are worth it. Accept new URLs only if your old structure was messy or you're rebranding.
Build your redirect map. Create a spreadsheet with three columns:
- Old URL (from your inventory)
- New Shopify URL (from your test environment)
- Redirect type (301 for permanent moves)
For products, this might look like:
- Old:
example.com/shop/blue-widget→ New:example.com/products/blue-widget→ 301 - Old:
example.com/category/widgets→ New:example.com/collections/widgets→ 301
For blog posts migrating to Shopify's blog feature:
- Old:
example.com/blog/how-to-use-widgets→ New:example.com/blogs/news/how-to-use-widgets→ 301
Use Google Sheets or a CSV file. If you have more than 500 URLs, write a script to generate this map programmatically—don't do it manually.
Handle orphaned pages. Some old URLs won't have a direct equivalent in Shopify. A product that's discontinued, a blog post from 2015 that no longer applies, a category page that's been reorganized. For these:
- If they have organic traffic, redirect them to the closest relevant page (a product to a category, a blog post to your blog homepage)
- If they have no traffic, a 404 is fine—but check Google Search Console first to make sure
- Document these decisions in your redirect map
Step 3: Set Up Your Shopify Store Structure and Content
Now you're building in Shopify. This step is about getting your structure right before you launch.
Import your product data. Shopify has a built-in CSV import tool. Export your products from your old platform with:
- Title
- Description (preserve your original meta descriptions here)
- Price
- Images
- Product type
- Collections (categories)
- Tags
- URL handle (this is where you control the URL slug—use your old URL structure if possible)
- Meta title and meta description (Shopify calls this "SEO title" and "SEO description")
Don't skip the meta data. This is where your SEO lives in Shopify.
Preserve your meta titles and descriptions. In Shopify, edit each product (or batch-update via CSV) and fill in the "SEO title" and "SEO description" fields with your original metadata. These are the titles and descriptions Google indexed—preserve them. If you're changing them, change them intentionally, not by accident.
Set up collections (categories) with care. In Shopify, collections are your category pages. Each collection gets its own URL. Map your old category structure to Shopify collections, and again, preserve your old URLs through the URL handle setting if possible. If your old site had /category/mens-clothing and your new Shopify collection URL is /collections/mens-clothing, that's a redirect. Document it.
Migrate your blog content. If you have a blog, Shopify's blog feature uses the URL structure /blogs/blog-name/post-title. Export your old blog posts as markdown or HTML. Preserve:
- Title
- Meta description
- Publication date
- Author
- Content (with internal links updated to new URLs)
- Featured image
Import these into Shopify's blog editor. Again, set the URL handle to match your old URL structure if possible.
Set up static pages. About, Contact, Terms, Privacy, etc. These get URLs like /pages/about. Use the same URL slugs as your old site. If your old about page was /about-us, make your Shopify page URL /pages/about-us.
Configure your sitemap. Shopify auto-generates an XML sitemap at /sitemap.xml. Verify it's working by visiting this URL in your test environment. It should list all your products, collections, blog posts, and pages. If you have more than 50,000 URLs, Shopify will split this into multiple sitemaps. You don't need to do anything—Shopify handles this automatically. Just verify the sitemap exists and is complete before launch.
For detailed guidance on sitemap setup across different platforms, reference how to generate a sitemap for your site.
Step 4: Implement 301 Redirects
This is the technical heart of a successful migration. A single wrong redirect can tank your rankings for that URL.
Option A: Redirects at the domain registrar level (simplest for small sites).
If you have fewer than 50 URLs, your domain registrar (GoDaddy, Namecheap, etc.) often has a redirect tool. You can set up redirects directly in your registrar's control panel:
- Log in to your registrar
- Find "URL Redirect" or "Domain Forwarding"
- Enter the old URL and the new Shopify URL
- Select "301 Permanent Redirect"
- Save
This works, but it's slow and doesn't scale. Use this only if you have a tiny site.
Option B: Redirects in your old hosting control panel (better for medium sites).
If your old site is still on traditional hosting (cPanel, Plesk, etc.), you can set up redirects there:
- Log in to cPanel or Plesk
- Find "Redirects" or ".htaccess" manager
- For cPanel: Use the Redirects tool to map old URLs to new Shopify URLs. Select "Permanent (301)".
- For .htaccess: Add redirect rules manually. Example:
RedirectMatch 301 ^/old-product-name$ https://newshopify.com/products/new-product-name
RedirectMatch 301 ^/blog/old-post$ https://newshopify.com/blogs/news/new-post
- Test each redirect with a tool like Redirect Checker to verify it's working
Option C: Redirects via Shopify's URL rewrite (best for most founders).
If you can keep your old URL structure in Shopify, you don't need external redirects. Shopify allows you to set custom URL handles for products, collections, and pages. This is the cleanest approach:
- In Shopify admin, go to Products
- Edit a product
- Scroll to "Search engine listing" and click "Edit website SEO"
- Under "URL and handle," set the handle to your old URL slug
- Repeat for all products
For bulk updates, use Shopify's CSV import with the "Handle" column set to your old URLs. This way, your URLs don't change at all, and you don't need external redirects.
For comprehensive guidance on setting up redirects, see setting up 301 redirects for a domain migration.
Option D: Redirects via a redirect service (for complex migrations).
If you have thousands of URLs or complex rewrite rules, use a service like Netlify Redirects, Cloudflare, or AWS CloudFront. These sit between your domain and Shopify and handle redirects at the edge. This is overkill for most bootstrappers, but it's the most robust approach for enterprise migrations.
Test every redirect. Use a tool like Redirect Checker or HTTP Status Code Checker to verify that:
- Old URL returns a 301 status code
- Final destination is the correct new Shopify URL
- The redirect chain is no longer than 1 hop (old → new, not old → intermediate → new)
Test at least 20 redirects randomly. If any fail, fix them before launch.
Step 5: Set Up Google Search Console for Your New Shopify Store
Google needs to know you've migrated. This step tells Google where to find your new site.
Add your new Shopify domain to Google Search Console.
- Go to Google Search Console
- Click "Add property"
- Enter your new Shopify domain
- Verify ownership (Shopify makes this easy—use the DNS verification method or HTML file method)
- Save
For step-by-step guidance, see how to set up Google Search Console in 10 minutes.
Submit your new sitemap. In the new GSC property:
- Go to Sitemaps
- Click "Add/test sitemap"
- Enter
sitemap.xml(Shopify's default) - Submit
Google will crawl this and discover all your new URLs.
Use the URL Inspection tool to verify indexing. Pick 10 random URLs from your new site and use the URL Inspection tool to check if Google has crawled them. If you see "URL is not on Google," that's normal pre-launch. Post-launch, this should change within 48 hours.
Set up a change of address (if you're changing domains). If you're moving from old-domain.com to new-domain.com, use GSC's "Change of Address" tool:
- In your OLD domain's GSC property, go to Settings > Change of Address
- Select your new domain
- Verify you own both domains
- Confirm
This tells Google to transfer your rankings from the old domain to the new one. It's a 90-day process, but it accelerates recovery.
If you're keeping the same domain (just moving from old platform to Shopify), skip this step.
Step 6: Preserve Technical SEO Signals
Google rewards sites that follow SEO best practices. A migration is the worst time to break these signals.
Set up HTTPS (SSL certificate). Shopify includes free SSL by default on all stores. Your new site will automatically be HTTPS. Verify this by visiting your store and checking for the green lock icon. For deeper guidance on SSL setup, see SSL certificates and SEO: setting up HTTPS the right way.
Configure www vs. non-www. Decide: do you want www.example.com or example.com? Pick one and enforce it. In Shopify:
- Go to Settings > Domains
- Your primary domain is listed
- Add the alternate version (www or non-www) if needed
- Set one as primary
- Shopify automatically redirects the other to the primary
For more detail, see WWW vs. non-www: choosing and enforcing your canonical domain.
Set up canonical tags. Shopify automatically adds canonical tags to prevent duplicate content. Verify this by viewing the page source (right-click → View Page Source) and searching for <link rel="canonical". It should point to the current URL. You don't need to do anything—Shopify handles this by default.
Optimize your robots.txt. Shopify's default robots.txt is at /robots.txt. It allows all bots to crawl your site. You can customize it if needed:
- Go to Settings > Files > robots.txt
- Edit to add rules (e.g., disallow certain paths like
/admin) - Save
For guidance on robots.txt configuration, see robots, sitemaps, and canonicals: the three files founders always get wrong.
Add structured data (Schema markup). Shopify automatically adds basic product schema to product pages. Verify this by checking the page source for <script type="application/ld+json">. If you have reviews, ratings, or FAQ content, add additional schema:
- Go to Online Store > Themes
- Edit your theme's code
- Add Schema.org JSON-LD markup for your specific content types
This helps Google understand your content and can improve rich snippet display in search results.
Step 7: Update Internal Links and Content References
Every internal link that points to an old URL needs to be updated. Broken internal links hurt SEO and user experience.
Update internal links in product descriptions. If your product descriptions link to other products or blog posts, update those links to the new Shopify URLs. In Shopify:
- Go to Products
- Edit a product
- Find the description field
- Search for old URLs and replace with new Shopify URLs
- Save
For bulk updates, use Find & Replace in a text editor if you're working with exported content.
Update blog post links. Same process for blog posts:
- Go to Online Store > Blog Posts
- Edit each post
- Update any internal links
- Save
Update static page links. About, Contact, Terms, Privacy pages often link to other pages. Update these too.
Update your footer and navigation. If your footer or main navigation links to old URLs, update them. In Shopify:
- Go to Online Store > Navigation
- Edit your menus
- Update any links to old URLs
- Save
Step 8: Test Everything Before Launch
You get one shot at launch. Test now or debug later.
Test the full customer journey. Go through your store as a customer:
- Browse products
- Add to cart
- Proceed to checkout
- Complete a test order
- Check your confirmation email
Make sure nothing breaks. Test on mobile too.
Test all redirects. Use Redirect Checker to verify at least 50 random old URLs redirect correctly to new Shopify URLs. Check:
- Status code is 301 (not 302 or other)
- Final destination is correct
- No redirect chains
Test page load speed. Use Google PageSpeed Insights on your test Shopify store. Aim for:
- Largest Contentful Paint (LCP) < 2.5 seconds
- Cumulative Layout Shift (CLS) < 0.1
- First Input Delay (FID) < 100ms
Shopify is fast by default, but heavy custom code or images can slow things down. Optimize before launch.
Test Core Web Vitals. Still in PageSpeed Insights, check your Core Web Vitals scores. These are ranking signals. If you're in the red, fix it before launch. Common issues:
- Large images (optimize with Shopify's built-in image optimization)
- Render-blocking JavaScript (defer non-critical scripts)
- Layout shift (set image dimensions, avoid dynamic content shifts)
Test mobile responsiveness. Use Google Mobile-Friendly Test to verify your Shopify store works on mobile. Shopify themes are mobile-responsive by default, but custom code can break this.
Verify your sitemap is valid. Visit yourdomain.com/sitemap.xml and verify it returns valid XML. It should list all your products, collections, pages, and blog posts. If it's empty or broken, fix it before launch.
Step 9: Execute the Launch
The moment of truth. Here's the exact sequence:
Day 1: Activate redirects and go live with Shopify.
- Set your Shopify store as live (if you haven't already)
- Update your domain's DNS records to point to Shopify (Shopify provides the exact DNS records in Settings > Domains)
- Activate all 301 redirects on your old hosting
- Verify the domain resolves to Shopify (takes up to 24 hours for full DNS propagation)
Do this during low-traffic hours. Early morning or late evening is safest.
Day 1-2: Monitor for errors.
- Check your new Shopify store is loading correctly
- Verify a sample of 20 redirects are working
- Check Google Search Console for crawl errors (go to Coverage report)
- Monitor your server error logs for 4xx or 5xx errors
If you see widespread redirect failures, roll back immediately. Fix the issue on your old hosting and try again.
Day 2-3: Request indexing for key pages.
Google will eventually crawl your new site on its own, but you can speed this up. Use Google Search Console's URL Inspection tool to request indexing for your top 50 pages (by traffic from your pre-migration baseline):
- Go to GSC > URL Inspection
- Enter a URL
- Click "Request Indexing"
- Repeat for top pages
Google has a daily quota (around 200 requests per day), so prioritize high-traffic pages.
Step 10: Monitor Post-Launch Performance
The migration doesn't end at launch. You need to monitor for two weeks minimum.
Track your rankings. Set up rank tracking for your top 50 keywords. Use setting up rank tracking on a bootstrapper's budget for free and low-cost options. You're looking for:
- Ranking positions staying stable (±3 positions is normal)
- Positions recovering within 2 weeks
- New URLs appearing in search results
Monitor organic traffic in Google Analytics. Set up Google Analytics 4 for SEO tracking if you haven't already. Watch your organic traffic by landing page:
- Pre-migration baseline: ~X visits per day
- Days 1-7 post-launch: Expect a 20-40% dip (temporary)
- Days 8-14: Should recover to 80%+ of baseline
- Week 3+: Should return to baseline or exceed it
If traffic doesn't recover after two weeks, you have a problem. Common causes:
- Broken redirects (check GSC Coverage report)
- Indexing issues (check URL Inspection tool)
- Robots.txt blocking crawlers (verify it's not too restrictive)
- Canonical tags pointing to wrong URLs (check page source)
Check Google Search Console daily. Go to Coverage report and watch for:
- "Excluded" pages (pages Google found but didn't index). These should be minimal.
- "Error" pages (crawl errors). These need immediate attention.
- "Valid" pages (successfully indexed). This should be growing daily.
Use the reading the Google Search Console Performance report like a founder guide to understand what you're seeing.
Check your Core Web Vitals. Go to GSC > Core Web Vitals and verify your metrics are staying green. If they're dropping post-launch, investigate:
- Slow images (optimize with Shopify's image optimization)
- Third-party scripts (remove or defer non-critical scripts)
- Too many redirects (verify each redirect is a single hop)
Monitor for broken links. Use a tool like Broken Link Checker to crawl your new site and identify any 404 errors. Fix these immediately—they hurt SEO and user experience.
Set up weekly monitoring. Create a simple dashboard:
- Organic traffic (Google Analytics)
- Ranking positions (rank tracking tool)
- Indexed pages (GSC Coverage)
- Crawl errors (GSC Coverage)
- Core Web Vitals (GSC Core Web Vitals)
Check this every Monday. For a comprehensive framework, see the quarterly SEO review: a founder's repeatable process.
Step 11: Post-Migration SEO Optimization
Once your migration is stable (two weeks in), it's time to optimize your new Shopify store for long-term SEO growth.
Optimize your product pages for AI Engine Optimization (AEO). Shopify stores sell products. Make sure your products show up when AI tools like ChatGPT recommend similar items. See AEO basics for e-commerce: show up when AI recommends products for detailed guidance on structuring your product content for AI visibility.
Audit your new site. Run a full crawl of your new Shopify store and compare it to your pre-migration crawl:
- Do you have the same number of indexed pages?
- Are your meta descriptions preserved?
- Are your H1 tags still in place?
- Is your internal link structure intact?
If something's missing, fix it now.
Expand your blog. Shopify's blog feature is powerful for SEO. Start publishing content around your target keywords. Use SEO reporting basics: the 5 metrics that tell you if it's working to track which blog posts drive traffic and conversions.
Build backlinks to your new site. Reach out to sites that linked to your old domain and ask them to update links to your new Shopify store. This preserves link equity and signals to Google that your new site is a continuation of your old one.
Common Migration Mistakes to Avoid
Mistake 1: Not testing redirects. A single broken redirect can tank your rankings for that URL. Test every redirect before launch.
Mistake 2: Changing your URL structure without redirects. If your old URLs were /shop/product and your new Shopify URLs are /products/product, you must set up 301 redirects. Don't assume Google will figure it out.
Mistake 3: Losing your meta descriptions. Your old meta descriptions are already indexed and ranking. Preserve them in Shopify's "SEO description" field. If you change them, do it intentionally, not by accident.
Mistake 4: Forgetting to update internal links. Broken internal links hurt SEO and user experience. Update every internal link before launch.
Mistake 5: Not monitoring post-launch. The first two weeks are critical. Monitor daily. If something's wrong, fix it immediately.
Mistake 6: Launching during peak traffic. Don't migrate on a Friday before a long weekend or during your busy season. Launch during low-traffic hours when you can monitor closely.
Mistake 7: Not setting up Google Search Console before launch. Google needs to know your new site exists. Set up GSC and submit your sitemap before launch.
Mistake 8: Changing your domain without using the "Change of Address" tool. If you're moving from old-domain.com to new-domain.com, use GSC's Change of Address tool. This accelerates ranking recovery.
Pre-Migration Checklist
Use this checklist to ensure you haven't missed anything:
Before Launch:
- URL inventory complete (all pages from old site documented)
- Baseline metrics captured (organic traffic, rankings, impressions)
- Full site crawl completed and saved
- Redirect map created and tested (20+ sample redirects verified)
- Shopify store built and tested (products, collections, pages, blog)
- Meta titles and descriptions preserved in Shopify
- Sitemap generated and validated
- 301 redirects activated on old hosting
- New domain added to Google Search Console
- New sitemap submitted to GSC
- Internal links updated to new Shopify URLs
- HTTPS verified (green lock icon)
- www vs. non-www configured and enforced
- Robots.txt configured
- Core Web Vitals optimized (LCP < 2.5s, CLS < 0.1)
- Mobile responsiveness tested
- Full customer journey tested (browse, add to cart, checkout)
After Launch:
- DNS propagation verified (domain resolves to Shopify)
- Sample redirects tested (20+ URLs)
- GSC Coverage report checked for errors
- Top 50 pages requested for indexing in GSC
- Rank tracking set up for top 50 keywords
- Google Analytics connected to GSC
- Daily monitoring for first 7 days
- Weekly monitoring for first 2 weeks
- Broken link check run
- Core Web Vitals monitored
- Post-migration optimization plan created
The Bottom Line
Shopify migrations are common. Failed Shopify migrations are also common. The difference is preparation.
You lose rankings in migrations because you skip steps: no redirect testing, no URL mapping, no pre-launch monitoring. You don't lose them because Shopify is bad at SEO. Shopify's SEO is solid. You lose them because you rushed.
Give yourself two weeks of planning before launch. Test every redirect. Monitor obsessively post-launch. Your rankings will survive. They'll probably improve.
One final note: if you're running a technical founder's SEO audit and content strategy from scratch, Seoable delivers a domain audit, brand positioning, keyword roadmap, and 100 AI-generated blog posts in under 60 seconds for a one-time $99 fee. It's built for founders who ship. You can use this to validate your Shopify migration strategy and identify quick SEO wins post-launch.
Get the next one on Sunday.
One short email a week. What is working in SEO right now. Unsubscribe in one click.
Subscribe on Substack →