The Developer's SEO Migration Checklist
You deployed the new site last week. By Friday, organic traffic dropped 40%.
The client is panicked. The marketing team is pointing fingers. And somehow, everyone's looking at you — the developer who "broke SEO."
Here's the thing: site migrations go wrong all the time. Studies show that 50-80% of site migrations result in some level of traffic loss. But most of these disasters are preventable if you know what to check and when.
This checklist covers every phase of a site migration from an SEO perspective. It's written for developers who want to ship confidently without becoming the scapegoat for a traffic drop.
The 5 Phases of an SEO-Safe Migration
- Pre-migration — Benchmark current state, plan redirects, audit robots.txt
- Staging verification — Check canonicals, noindex, title/H1 parity
- Go-live verification — Validate redirects, sitemaps, Google Search Console
- Post-launch monitoring — Watch for issues in the first 4 weeks
- Recovery plan — What to do if traffic drops anyway
Let's walk through each phase.
Phase 1: Pre-Migration (Before You Touch Anything)
1.1 Benchmark Current Rankings and Traffic
You can't measure what you can't see. Before making any changes:
- Export Google Search Console data — Download queries, pages, and click-through rates for the last 90 days
- Export Google Analytics organic landing pages — Know which pages drive the most traffic
- Run a full crawl — Use Screaming Frog, Sitebulb, or similar to capture current state: URLs, titles, H1s, canonicals, meta robots, internal links. (See Screaming Frog vs PreflightSEO for how these tools fit together in a migration workflow.)
- Document top keywords per page — Note which pages rank for which terms
Save all of this. You'll need it for comparison after launch.
1.2 Create a Redirect Map
This is where most migrations fail. Every URL that changes needs a redirect.
The mapping process:
- Crawl the old site to get all URLs
- Match each old URL to its new equivalent
- Flag URLs that have no equivalent (these will 404)
- Document the redirect type (301 permanent vs 302 temporary — use 301 for migrations)
Common redirect mistakes:
- Redirecting everything to the homepage (soft 404s)
- Forgetting redirect chains (old → staging → new)
- Missing query parameters (e.g.,
/product?id=123→/products/123) - Not redirecting images and PDFs
1.3 Audit robots.txt and Sitemap
Your new site's robots.txt should allow search engines to crawl important pages.
Check for:
# Bad: Blocking everything
User-agent: *
Disallow: /
# Good: Blocking only admin and internal paths
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /checkout/
Allow: /
Also verify your XML sitemap:
- Contains only canonical URLs (no duplicates, no redirects)
- Excludes noindex pages
- Is accessible at
/sitemap.xmlor referenced in robots.txt
Phase 2: Staging Verification (Before Go-Live)
This is where you catch issues before they hit production. The staging environment should mirror production as closely as possible.
2.1 Check for noindex and robots blocks
The #1 cause of "site disappeared from Google" is a forgotten noindex tag.
Search for:
<meta name="robots" content="noindex, nofollow">
Also check the HTTP headers:
X-Robots-Tag: noindex, nofollow
And verify robots.txt isn't blocking staging paths that will exist in production.
2.2 Verify Canonical Tags
Every page should have a self-referencing canonical tag pointing to its production URL (not staging).
Correct:
<link rel="canonical" href="https://example.com/page" />
Wrong:
<link rel="canonical" href="https://staging.example.com/page" />
Canonicalizing to staging URLs will prevent Google from indexing your production pages.
2.3 Check Title and H1 Parity
Compare the old site's titles and H1s against the new site. Major changes can affect rankings.
What to look for:
| Element | Old Site | New Site | Issue? |
|---|---|---|---|
| Title | "Buy Blue Widgets | Store" | "Products - Store" |
| H1 | "Blue Widgets" | "" | Yes — missing H1 |
| Meta Description | "Shop our selection..." | "" | Maybe — CTR impact |
Title changes are especially risky. If a page ranks for a keyword that's removed from the title, rankings often drop.
2.4 Verify Internal Linking
Crawl the staging site and check:
- Broken links — Any internal links returning 404?
- Orphan pages — Pages with no internal links pointing to them?
- Changed anchor text — Did keyword-rich anchors become generic ("click here")?
2.5 Test Redirects Before Launch
Set up redirects in staging and test them:
curl -I https://staging.example.com/old-page
# Should return: HTTP/1.1 301 Moved Permanently
# Location: https://example.com/new-page
Verify:
- Status code is 301 (not 302)
- Destination is the correct production URL
- No redirect chains (old → intermediate → new)
- No redirect loops
Phase 3: Go-Live Verification (The First 24 Hours)
You've launched. Now verify everything works in production.
3.1 Validate Redirects in Production
Test a sample of redirects (especially high-traffic pages):
# Test a specific redirect
curl -I https://example.com/old-page
# Test multiple redirects from a file
while read url; do
echo "Testing: $url"
curl -sI "$url" | grep -E "HTTP|Location"
done < redirect-test-list.txt
3.2 Submit Updated Sitemap to Google Search Console
- Log into Google Search Console
- Go to Sitemaps
- Submit your new sitemap URL
- Check for errors (Google will report URLs it can't crawl)
3.3 Request Indexing for Critical Pages
For your most important pages (homepage, top products, key landing pages):
- Use URL Inspection in Google Search Console
- Enter the URL
- Click "Request indexing"
This speeds up recrawling for priority pages.
3.4 Verify robots.txt in Production
curl https://example.com/robots.txt
Confirm it matches what you expect. A misconfigured robots.txt can block Google entirely.
3.5 Check for Mixed Content and HTTPS Issues
If you migrated from HTTP to HTTPS:
- All internal links should use HTTPS
- All resources (images, scripts, CSS) should load over HTTPS
- No mixed content warnings in browser console
Phase 4: Post-Launch Monitoring (Weeks 1-4)
The first month after launch is critical. Monitor these metrics:
Week 1: Immediate Checks
- Crawl errors in GSC — Look for spikes in 404s, 5xx errors, or blocked URLs
- Index status — Are pages being indexed? Check site:example.com
- Core Web Vitals — Did performance regress?
- Redirect errors — Any redirects failing or looping?
Weeks 2-4: Trend Analysis
- Organic traffic — Compare to pre-migration baseline
- Rankings — Track positions for target keywords
- Click-through rate — Did title/meta changes affect CTR?
- Crawl budget — Is Google wasting time on redirect chains?
Red Flags to Watch For
| Symptom | Likely Cause |
|---|---|
| Pages dropped from index | noindex tag or robots.txt block |
| 404 spike in GSC | Missing redirects |
| Traffic to specific pages dropped | Title/content changed significantly |
| Overall traffic down 50%+ | Major technical issue (canonicals, redirects, or blocking) |
Phase 5: If Traffic Drops — Recovery Plan
Despite your best efforts, traffic might still drop. Here's how to recover.
Step 1: Diagnose the Issue
Run these checks:
- Site: query —
site:example.com— Are pages still indexed? - GSC Coverage report — Any new errors?
- Compare crawl data — Old vs new site, what's different?
- Check specific pages — Did high-traffic pages lose rankings?
Step 2: Fix the Technical Issue
Common fixes:
| Issue | Fix |
|---|---|
| noindex tags | Remove from affected pages |
| robots.txt block | Update to allow crawling |
| Missing redirects | Add 301 redirects |
| Wrong canonicals | Update to self-referencing |
| Slow page speed | Optimize images, caching, etc. |
Step 3: Request Re-Indexing
After fixing issues:
- Submit sitemap again in GSC
- Request indexing for affected pages
- Monitor for recovery (can take 2-8 weeks)
Step 4: Document What Went Wrong
Create a post-mortem:
- What was the issue?
- Why wasn't it caught in staging?
- How can we prevent this next time?
Automating the Verification Process
Going through all these checks manually takes hours. And if you're doing multiple migrations (or you're an agency handling client sites), that time adds up.
PreflightSEO automates the comparison between old and new environments:
- Crawl both environments — Your production site and staging/preview
- Match pages automatically — Same URLs or redirect mapping
- Detect issues — Missing pages, changed titles, noindex tags, canonical problems, redirect chains
- Export a report — Severity-ranked issues with details
Instead of manually comparing spreadsheets, you get a report in minutes showing exactly what changed and what needs attention.
Automate this step with PreflightSEO
Start your free migration checkQuick Reference Checklist
Print this out and tick off each item:
Pre-Migration
- Export GSC data (queries, pages, CTR)
- Export Analytics organic landing pages
- Crawl current site (titles, H1s, canonicals, robots)
- Create redirect map (old URL → new URL)
- Audit robots.txt and sitemap
Staging Verification
- Check for noindex tags (meta and HTTP header)
- Verify canonical tags point to production URLs
- Compare titles and H1s to old site
- Test internal links (no 404s, no orphans)
- Validate redirects (301 status, correct destinations)
Go-Live
- Test redirects in production
- Submit sitemap to Google Search Console
- Request indexing for critical pages
- Verify robots.txt is correct
- Check for HTTPS/mixed content issues
Post-Launch (Weeks 1-4)
- Monitor GSC for crawl errors
- Track organic traffic vs baseline
- Watch rankings for target keywords
- Check Core Web Vitals
- Investigate any traffic drops immediately
Final Thoughts
Site migrations don't have to be SEO disasters. The key is:
- Benchmark before you start — You need a baseline
- Verify on staging — Catch issues before production
- Check everything at launch — Redirects, sitemaps, robots
- Monitor for 4 weeks — Catches late-emerging issues
- Have a recovery plan — Know what to do if traffic drops
Follow this checklist and you'll ship migrations confidently — without the Monday morning panic.
Automate this step with PreflightSEO
Automate your migration verification