January 21, 2026
by Julia Nesterets

SITE MIGRATION CHECKLIST. How to migrate a website without losing traffic

Why do you need a site migration checklist

Site migration is one of the highest-risk SEO operations.

A single mistake during migration can:

  • wipe out years of organic traffic,
  • break indexation across thousands of pages,
  • silently waste crawl budget,
  • and only become visible weeks after launch, when rankings are already gone.

If you’ve never done a site migration before, this checklist exists to answer one simple question:
What exactly do I need to do to migrate a site without losing traffic?

This is not an article and not theory.
This is a step-by-step checklist you can follow before, during and after a site migration.

What this checklist helps you avoid

Before migrations, most teams operate under two dangerous assumptions:

  1. “We’ll catch issues after launch”
    → By then, traffic is already lost.
  2. “Search engines will figure it out”
    → Bots don’t fix broken canonicals, redirects, or rendering issues.

This checklist helps you:

  • see what search bots actually crawl,
  • validate critical elements before launch,
  • detect issues early instead of reacting to damage,
  • and keep traffic stable throughout the migration.

How to use this checklist

  • Follow the steps in order
  • Do not skip steps, even if they feel “minor”
  • Use it as a validation framework, not just a to-do list

You don’t need prior migration experience – this checklist is designed to guide you through the process.

Now follow the checklist below step by step. Do not skip steps.

SITE MIGRATION CHECKLIST

Phase 1 – Pre-Migration Preparation

  1. Define Migration Goals
  • Improve UX, speed, scalability
  • Increase conversions, reduce server load
  • Align product roadmap with modern architecture

2. Select JavaScript Framework & Rendering Strategy

  • Choose framework supported by search engines
  • Decide between SSR, CSR, Dynamic Rendering
  • Confirm long-term support of framework version
  • Plan SSR architecture early (not after launch)

3. Prepare Staging Environment for SEO Testing

  • Staging must be crawlable (password optional)
  • SSR must be enabled
  • DevTools tests for HTML, SSR, and JS versions
  • Chrome DevTools / Postman testing with Googlebot user agent

Phase 2 – Prepare for Real Users (A/B Testing)

4. Launch A/B Test – Start With a Small Percentage

  • Start with 1% of users (large sites) or 10% (small sites)
  • Compare conversion rate
  • Compare bounce rate
  • Compare cart additions & checkout funnel
  • Identify UI/UX bugs

5. Fix All User-Facing Issues Before SEO Testing

  • Cart issues
  • Payment failures
  • Slow SSRRendering glitches
  • Lazy loading edge caseserstanding your real visibility across the entire search ecosystem.

6. Keep JavaScript Version Hidden From Search Engines (During A/B Tests)

This step applies ONLY during user A/B testing phase – before opening JS version to search engines

  • Search engines (Googlebot, Bingbot, etc.) see only the old HTML version
  • The JS version is shown only to real users participating in A/B tests
  • Proxy / server rules detect bots by User-Agent and/or IP and always return the HTML version
  • Checked in GSC Live Test and logs that Googlebot does not receive the JS version during A/B tests

Phase 3 – Prepare for Search Engines

7. Prepare a Test Pool of URLs

  • Product pages
  • Category pages
  • Filter pages
  • Blog/articles
  • Static content pages

Rules:

  • Choose URLs frequently crawled by Google
  • Do NOT choose top-traffic URLs
  • Create segments based on page templates

8. Collect Baseline Data (Before Migration)

Collect at least 4–12 weeks of data:

  • Positions
  • Clicks
  • Impressions
  • CTR of ranking keywords per URL
  • Organic conversions
  • Crawl frequency
  • Status codes
  • Server load
  • Core Web Vitals
  • Logs (bot activity patterns)

9. Create Monitoring Dashboards

  • Use tools (e.g., JetOctopus, GSC, GA4):
  • HTML vs JS comparison dashboard
  • Rendering performance dashboard
  • SSR availability alerts
  • Log anomalies
  • Indexation changes
  • Content changes (titles/meta/H1)

Phase 4 – Enable JavaScript for Search Engines (Limited Test)

10. Allow Googlebot to Access Only Test URLs

  • Open a small test set
  • Block all other URLs
  • Maintain strict proxy settings

11. Monitor Rendering & Indexing

Check:

  • SSR HTML vs rendered DOM
  • Canonicals
  • Meta robots tags
  • Hreflang
  • Structured data
  • Internal links
  • Missing content
  • JS errors
  • Added/removed text
  • Page size changes
  • Load time after JS execution

12. Monitor Bot Behavior

Use logs to verify:

  • Crawl frequency spike is normal
  • No server overload
  • Status codes stable
  • No redirect loops
  • No blocked JS resources

13. Compare Before/After Performance

Check for each test page:

  • Positions
  • Clicks & impressions
  • CTR
  • Keywords count
  • Rendering time
  • Indexation status

Phase 5 – Full Migration Ready Checklist

Your site is ready ONLY if all points below are TRUE:

14. User Metrics

  • No sharp drop in conversions compared to the HTML baseline
  • No checkout or cart bugs
  • Performance is stable

15. SEO Technical State 

  • SSR works for every template
  • Metadata is correct on both SSR & JS
  • The following key elements are present and consistent in SSR HTML and rendered JS:
    – <title>
    – meta description
    – meta robots 
    – canonical, hreflang (if used)
    _ <h1>
    – main content / key product information
    – internal links (navigation, breadcrumbs, related items)
    – structured data
  • Page returns the correct status code
  • CWV are stable (especially LCP, INP and CLS)

    16. Search Engine Test Results
  • Test pages did not lose rankings
  • Indexation is correct
  • Googlebot crawls efficiently
  • Rendering is successful
  • No major JS errors
  • Logs show typical behavior

If all checks are green → you’re ready!

Phase 6 – Controlled Full Migration

17. Migrate in Stages

Recommended order:

  • 1st: low-traffic subdomain
  • 2nd: medium-traffic sections
  • 3rd: final migration of main domain

18. Continue Daily Monitoring

  • SSR tests after each release
  • Rendering tests
  • GSC positions
  • Logs anomalies
  • Content changes
  • Crawl frequency
  • Indexation status

19. Have a Rollback Plan

  • Instant rollback to previous version
  • Revert SSR or proxy rules
  • Freeze deployments
  • Alert devops + SEO team

Phase 7 – Post-Migration Stabilization

20. Weekly Audit

  • Crawl entire site with JS enabled
  • Compare HTML vs JS changes
  • Identify missing elements
  • Detect template issues
  • Monitor indexing & rankings

21. Monthly Audit

  • Full performance analysis
  • Log analysis
  • GSC trends report
  • Identify long-term JS errors
  • Review Core Web Vitals

22. Continue Improving JS SEO

  • Reduce JS execution time
  • Optimize SSR
  • Minify JS bundles
  • Reduce unused JS
  • Improve lazy loading
  • Optimize content loading paths

🎉 Congratulations – You Are Ready to Migrate to JavaScript Safely

From checklist to confidence

This checklist helps you structure a safe site migration.
But confidence comes from validation – not assumptions.

If you’d like expert validation of your site migration plan or help reviewing critical steps from this checklist, book a migration consultation with our team.

About Julia Nesterets
Julia Nesterets is the co-founder and CEO of JetOctopus. With 10+ years in marketing and sales, she helps to identify our clients' needs to the fullest. She can explain complex ideas by simplifying them which makes her a very valuable asset to JO.

She is also a very social person. You can catch up with Julia on Digital Olympus, BrightonSEO, and Slush conferences for some small talk. You can also find Julia on Twitter and LinkedIn .

Search

Categories

Get exclusive tech SEO insights
We are tech SEO geeks who believe that SEO is predictable and numeric. Don’t miss our insigths!