A Semrush analysis of 150 documented ecommerce migrations found that 80 percent of poorly executed ones lost between 20 and 60 percent of organic traffic within the first 90 days.
Only 5 percent completed their migration with no detectable traffic loss at all.
The gap between those two outcomes was not the platform being moved to, it was almost completely redirect mapping coverage and how much time was spent preparing before launch.
This guide walks through the actual hands-on process, in order, platform-agnostic, so it applies regardless of which specific migration you are running.
Key Takeaways
- Redirect mapping coverage and preparation time are the two biggest differentiators between successful and failed migrations, complete coverage with 4 or more weeks of prep consistently outperformed partial mapping done in under 2 weeks.
- A separate study of 892 domain migrations found an average recovery time of roughly 523 days, about 17 months, with 17 percent never fully recovering even after 1,000 days. The fastest recoveries took as little as 19 to 23 days, the redirect map is what separates those outcomes.
- Use 301 redirects, never 302, for every permanent URL change. A 302 tells Google the move is temporary, which means accumulated link equity does not transfer.
- Structured data preservation is now migration-critical. AI Overviews, Perplexity, and similar tools rely on structured data to decide what to cite, losing your schema markup can stop these engines from citing your content going forward.
- The first week after launch is the highest-risk monitoring period, requiring daily checks, not a weekly review.
Phase 1: Establish Your Baseline, 4 to 6 Weeks Before Migration
This phase applies the same way regardless of source platform. If you already know your specific move, WooCommerce to Shopify or Magento to Shopify among others cover the platform-specific data export mechanics that run alongside these SEO steps.
Step 1: Export Your Search Console Data
- Log into Google Search Console for your current site
- Go to Performance, then Search Results
- Set the date range to the trailing 90 days
- Export the full table: pages, queries, clicks, impressions, and average position
- Save this file somewhere permanent, this is your comparison point after launch
Step 2: Record Your Current Indexed Page Count
- In Google, search site:yourdomain.com
- Note the approximate result count shown
- Cross-check this against the Coverage report in Search Console for a more precise indexed count
- Record both numbers with today’s date
Step 3: Snapshot Your Current Keyword Rankings
- Open your rank tracking tool, Semrush, Ahrefs, or Sistrix
- Pull your current ranking positions for your priority keyword list
- Export this as a dated snapshot, not just a live dashboard you will overwrite later
Step 4: Run a Full Pre-Migration Crawl
- Open Screaming Frog or a comparable crawler
- Enter your live site’s URL and run a complete crawl
- Export the results: every URL, its HTTP status code, and its canonical tag
- Save this file, it becomes your direct comparison point after migration
Step 5: Pull Your Analytics Baseline
- In Google Analytics, go to Reports, then Acquisition
- Filter for organic traffic specifically
- Break this down by landing page, capturing sessions, conversion rate, and revenue per page
- Export this segmented by landing page, this is what you will compare after launch, page by page
Phase 2: Build Your Redirect Map, 3 to 4 Weeks Before Migration
Step 6: Inventory Every Indexed URL
- Combine your Screaming Frog crawl from Step 4 with your Search Console export from Step 1
- List every product page, category and collection page, blog post, and informational or policy page
- Do not forget programmatically generated pages, filtered collection views, paginated archives, and similar
- A store with 10,000 products can easily produce 30,000 or more indexed URLs once variants, categories, and filters are counted, expect a large list
Step 7: Flag Your Highest-Priority URLs
- Cross-reference your full URL list against your Search Console click data from Step 1
- Mark every URL currently receiving clicks or impressions as high priority
- Separately, check for external backlinks to specific URLs using your rank tracking tool or a backlink checker, mark these as high priority too, even if their current traffic is low
Step 8: Map Every Old URL to Its New Destination
- Create a spreadsheet with two columns, old URL and new URL
- Work through your full inventory from Step 6, not just the priority list, every URL needs a mapped destination
- Where your new platform allows it, keep the same URL structure, this avoids needing a redirect at all for that page
- For URLs that must change, note the new destination directly, do not leave any row blank
Step 9: Set Up 301 Redirects From Your Map
- Using your new platform’s redirect tool, or a dedicated redirect app for larger catalogs, create a rule for every row in your map from Step 8
- Confirm every redirect is a 301, not a 302, check your platform’s default setting specifically, some default to 302 without stating it clearly
- Check for redirect chains, one URL redirecting to another that redirects again, and fix these to point directly at the final destination instead
Redirect mapping specifics vary by platform pair, BigCommerce to Shopify and Wix to Shopify each cover the exact URL structure differences that shape this step for those specific moves.
Phase 3: Preserve Metadata and Structured Data, Before Launch
Step 10: Migrate Titles and Meta Descriptions
- Export your current page titles and meta descriptions for every high-priority URL identified in Step 7
- Enter these directly into your new platform’s SEO fields, do not assume the new platform’s auto-generated defaults match what you had
- Work through your priority list first, then your full inventory as time allows
Metadata migration between two self-hosted platforms works differently than moving to a hosted one, PrestaShop to WooCommerce and OpenCart to WooCommerce cover the specific SEO field mapping for those pairs.
Step 11: Replicate Your Structured Data
- Identify every schema.org type currently in use on your site, Product, BreadcrumbList, FAQ, and any others
- Confirm your new platform generates equivalent structured data natively, or install the app or code needed to add it
- Test a sample of pages using Google’s Rich Results Test tool to confirm the markup is actually valid on the new platform
Step 12: Verify Canonical Tags
- Check canonical tag behavior on your new platform, particularly for filtered or paginated views
- Confirm each canonical points to the correct, intended version of the page, not accidentally to a filtered or parameter-heavy URL
Phase 4: Verify Before You Launch
Step 13: Run a Staging Crawl
- If your new platform supports a staging or preview environment, run a full Screaming Frog crawl against it before going live
- Compare this against your pre-migration crawl from Step 4
- Confirm every high-priority URL from Step 7 resolves correctly, either as a live 200 page or a clean single-hop 301
Step 14: Fix Everything the Staging Crawl Flags
- Address every 404, redirect chain, or unexpected canonical change found in Step 13 before launch, not after
- Re-crawl after fixing to confirm the issues are actually resolved, not just addressed in theory
Phase 5: Launch and Update Search Console
Step 15: Go Live
- Execute your DNS or platform cutover
- Confirm the new site is live and accessible before moving to the next step
Step 16: Update Google Search Console
- If your domain changed, add the new domain as a property in Search Console and verify ownership
- If you changed domains completely, use the Change of Address tool in Search Console to tell Google directly, rather than waiting for it to discover the move through crawling alone
- Submit an updated XML sitemap reflecting your new URL structure immediately
Step 17: Run Your Post-Launch Crawl
- Run a full Screaming Frog crawl against your new, live site
- Compare directly against your Step 4 baseline and your Step 13 staging crawl
- Confirm nothing changed between staging and live that would not have been caught already
Phase 6: Monitor Daily for the First Week
Step 18: Check Crawl Errors Every Day
- Open Search Console’s Coverage report daily
- Look specifically for 404s, 500s, and redirect errors
- Fix anything critical within 24 hours of discovering it, this is not a task to batch for later
Step 19: Check Indexation Status Every Day
- Run your site: search daily
- Compare the count against your Step 2 baseline
- A drop of 10 percent or more signals a real problem worth investigating immediately, not waiting out
Step 20: Check Organic Traffic by Landing Page Every Day
- In Google Analytics, compare current organic traffic by landing page against your Step 5 baseline
- Compare against the same day of the week pre-migration, not a raw day-over-day number
- Flag any page with a 20 percent or greater drop for direct investigation
Step 21: Check Core Web Vitals
- Monitor LCP, FID or INP, and CLS directly in Search Console
- A performance regression on the new platform can cause an immediate ranking impact separate from any redirect issue
Step 22: Check Press Mentions and External Citations
- If any press coverage links to specific product or category pages, confirm those exact URLs redirect correctly
- A broken citation link from an external source is a real, avoidable loss of authority
Step 23: Update Wikipedia or Wikidata If Applicable
- If your brand has a Wikipedia or Wikidata entry and your domain changed, update the listed URL directly
- Do not leave this pointing at a dead domain indefinitely
What a Normal Recovery Actually Looks Like
With every step above completed properly, a temporary dip of 10 to 20 percent in organic traffic during the first few weeks is a normal, expected pattern, not a sign something went wrong. Recovery to pre-migration levels commonly happens within 4 to 6 weeks under these conditions.
A loss in the 20 to 60 percent range lasting months is not normal, that pattern points directly back to incomplete redirect mapping or insufficient preparation time. A real, documented case from a Volusion-to-Shopify migration saw organic clicks fall from roughly 1,200 to about 500 per day specifically because of long redirect chains and missing 301 mappings.
Real Preparation and Monitoring Timeline
| Phase | Timing | What Happens |
|---|---|---|
| Baseline and redirect mapping | 4 to 6 weeks before launch | Steps 1 through 12 |
| Staging verification | 1 to 2 weeks before launch | Steps 13 and 14 |
| Launch and immediate setup | Launch day | Steps 15 through 17 |
| Active daily monitoring | 4 to 8 weeks after launch | Steps 18 through 23, daily for at least the first week |
Migration Guides for Your Specific Platform Move
The process above applies to any migration.
For the specific data export, tool comparison, and step-by-step process for your exact platform pair, see the dedicated guide for your move: WooCommerce to Shopify, Shopify to WooCommerce, BigCommerce to Shopify, Wix to Shopify, Magento to Shopify, Magento to WooCommerce, PrestaShop to WooCommerce, or OpenCart to WooCommerce.
If you are still deciding whether a migration is the right move at all, when to switch covers the measurable triggers worth checking first.
FAQ for Migrating Without Losing Traffic
How much traffic loss is normal during an ecommerce migration?
A temporary 10 to 20 percent dip in the first few weeks is normal with proper preparation, recovering within 4 to 6 weeks. A loss in the 20 to 60 percent range lasting months is not normal, and points directly to incomplete redirect mapping or insufficient preparation time.
What is the single biggest cause of permanent traffic loss during migration?
Incomplete redirect mapping. Redirect coverage and preparation time are the two factors that most separate successful migrations from failed ones, more than the specific platforms involved.
Should I use 301 or 302 redirects during migration?
Always 301 for permanent URL changes. A 302 signals to Google that the move is temporary, which means accumulated link equity does not transfer to the new URL, a real and completely avoidable mistake.
How long should I monitor my site after migrating?
At least 4 to 8 weeks of active monitoring, with the first week checked daily specifically. Check crawl errors, indexation status, and traffic by landing page every single day during that first week, not on a weekly schedule.
Does losing structured data during migration actually matter?
Yes, and increasingly so. AI-driven search tools like AI Overviews and Perplexity rely on structured data to decide what to cite, losing your schema markup during migration can stop these engines from citing your content going forward.
How much preparation time should I budget before migrating?
At least 4 to 6 weeks. Migrations with less than 2 weeks of preparation correlate strongly with worse traffic outcomes, redirect mapping and metadata migration both take real time to do completely, not steps to rush the week before launch.
