Changing your website host, platform, or domain is risky. Done right, it’s a neutral move. Done wrong, you can lose months of rankings, traffic, and authority.
This guide walks you through a proven migration process that preserves — and can even improve — your search visibility.
When migration is necessary (and when it isn’t)
Migrate when:
- Switching hosts — shared → managed WordPress, VPS, or cloud for speed/uptime
- Changing CMS — WordPress → Webflow, or switching between frameworks
- Rebranding or renaming — new domain, new business name, new URL structure
- Consolidating sites — merging multiple sites into one authoritative resource
- Fixing technical debt — migrating from old tech (Flash, static HTML) to modern stack
Don’t migrate if:
- Your current site is ranking well and meeting business goals
- The change is purely cosmetic (colors, layout, minor URL tweaks)
- You’re migrating just “because” — every migration carries risk
Rule of thumb: Only migrate when the new platform’s benefits outweigh the 2–4 week ranking transition period.
Pre-migration: the 3-week preparation phase
Week 1: Audit & inventory
| Task | Tool/Purpose |
|---|---|
| [ ] Current rankings snapshot | Track 20–50 key keywords (SerpWatcher, AccuRanker, Semrush) |
| [ ] Index status | Google Search Console → Index → Pages (note indexed, excluded, blocked) |
| [ ] Backlink profile | Ahrefs/Semrush — identify high-authority linking pages |
| [ ] Top pages report | Organic traffic by page (Google Analytics 4) |
| [ ] Sitemap | Generate fresh sitemap (Yoast, RankMath, or xml-sitemaps.com) |
| [ ] Robots.txt | Review for any accidental noindex, disallow rules |
| [ ] Analytics setup | GA4 property ready; ensure tracking code on staging |
Week 2: Staging & testing
| Task | Tool/Purpose |
|---|---|
| [ ] Build staging site | On new host/Platform (most managed hosts: 1-click staging) |
| [ ] Migrate content | Posts, pages, media, custom post types, categories, tags |
| [ ] Set up permalinks | Match old structure if possible (e.g., /%year%/%monthnum%/%postname%/) |
| [ ] Configure SEO plugin | Yoast/RankMath on staging with same settings (or export/import) |
| [ ] Test forms, buttons, CTAs | Ensure everything works on new platform |
| [ ] Set up 301 redirect map | Old URL → New URL (spreadsheet: old |
| [ ] Internal linking audit | Ensure new site structure supports topic clusters |
Week 3: Final checks & go-live prep
| Task | Tool/Purpose |
|---|---|
| [ ] Crawl staging with Screaming Frog | Compare vs. old site structure, meta tags, headings |
| [ ] Test on mobile | Chrome DevTools, BrowserStack |
| [ ] Set up analytics on new site | GA4, Google Search Console (new property or move existing) |
| [ ] Verify SSL | New host SSL active, no mixed content, HTTPS enforced |
| [ ] Submit new sitemap to Google Search Console | |
| [ ] Notify stakeholders | Team, clients, stakeholders on timeline and rollback plan |
The migration: step-by-step
Step 1: Take a full backup
- Files + database — UpdraftPlus, host backup, or manual download
- Store off-site — Cloud storage, not same server
- Document WP version, plugins, PHP version — For rollback reference
Step 2: Migrate to staging first
Never go live directly from old to new. Always test on staging.
WordPress migration methods:
| Method | Best for | Steps |
|---|---|---|
| Plugin (UpdraftPlus, All-in-One WP Migration) | Most common | Install plugin on old → export → install on staging → import |
| Host migration (Kinsta, SiteGround, Cloudways) | Managed hosts | Use host’s 1-click migration tool |
| Manual | Custom tech, multiple sites | Export DB via phpMyAdmin; move files via FTP/SFTP; update wp-config.php |
| Git-based | Developer workflow | git push to new repo; deploy via CI/CD |
Step 3: Set up 301 redirects (critical for SEO)
301 (permanent) vs. 302 (temporary):
- 301 — “This page has moved permanently.” Passes ~90–99% link equity. Use for migration.
- 302 — “Moved temporarily.” Does NOT pass link equity. Use only for A/B testing, maintenance.
Redirect map creation:
| Old URL | New URL | Reason |
|---|---|---|
/blog/post-name |
/blog/post-name |
Same slug, different host |
/old-category/post |
/resources/post |
URL structure change |
http://example.com |
https://new-example.com |
Protocol + domain change |
Implementation:
| Platform | Method |
|---|---|
| WordPress (Apache) | .htaccess — Redirect 301 /old-page https://new-site.com/new-page |
| WordPress (Nginx) | Server config — return 301 https://new-site.com$request_uri; |
| Cloudflare | Page Rules → Redirect → 301 |
| Managed host | Kinsta/SiteGround: built-in redirect manager |
| Non-WP | .htaccess, Nginx config, CDN, or load balancer |
Step 4: Update internal links
- Search and replace old domain/new structure across all content
- Update navigation, footer, sidebar links
- Fix canonical tags — point to new URL version
- Update sitemap — submit new one to GSC
Step 5: Go live
- Change nameservers (if changing domain/host) — propagate 24–48 hours
- OR update A records / Apex domain (if keeping domain, changing host only)
- WordPress: Update
WordPress Address (URL)andSite Address (URL)in Settings → General - Clear caches — host cache, CDN cache, browser cache
- Announce to search engines — Google Search Console → “Change of Address” (if changing domain)
Step 6: Post-migration verification (4-week monitoring)
| Week | Metric | Action |
|---|---|---|
| 1 | Rankings volatility | Expect minor fluctuation; do NOT panic-make changes |
| 1 | Index status | Check GSC — are new pages indexed? |
| 2 | Traffic trend | Compare vs. same period last year (seasonality) |
| 2 | Crawl errors | Fix any 404s, 500s in GSC Coverage report |
| 3–4 | Ranking recovery | Most keywords return to previous positions |
| 4 | Final audit | Compare traffic, rankings, indexed pages vs. pre-migration baseline |
Common migration mistakes (and how to avoid them)
| Mistake | Consequence | Fix |
|---|---|---|
| No redirect map | 404s, lost link equity, rankings drop | Create 301 redirects for every changed URL |
| Changing permalink structure | All old URLs break | Keep structure identical, or set up redirects for every variation |
| Forgetting internal links | Orphaned pages, poor UX, diluted authority | Search-replace old URLs; audit with Screaming Frog |
| Moving to new domain without Change of Address | Google treats as new site, loses old authority | Use GSC “Change of Address” tool + 301 redirects + submit new sitemap |
| Blocking new site with noindex | Pages don’t index | Check robots.meta, robots.txt, .htaccess before going live |
| Skipping staging | Live site bugs, broken forms, bad UX | Always test on staging first |
| Not updating GA4/Search Console | Lost data, can’t monitor recovery | Set up new properties; keep old ones running alongside for 3 months |
| Changing too many things at once | Can’t isolate what caused ranking changes | Migrate one element at a time (host only, then domain, then CMS) |
WordPress-specific migration checklist
Before migrating:
- Deactivate caching plugins on old site (to avoid cache conflicts)
- Export WooCommerce orders, settings (if ecommerce)
- Document custom post types, taxonomies — ensure new platform supports them
- Backup database —
wp_dbexport via phpMyAdmin
During migration:
- Match URL structure — if changing, create redirect map for every changed URL
- Reinstall SEO plugin on new staging; import/export settings if possible
- Regenerate thumbnails if image dimensions change
- Update WordPress URL in
wp-config.php(if not using Settings UI):define('WP_HOME', 'https://new-site.com'); define('WP_SITEURL', 'https://new-site.com');
After going live:
- Run Broken Link Checker (plugin or Screaming Frog)
- Submit new sitemap to Google Search Console
- Verify Google Business Profile if local business (address/phone changes)
- Check 301 redirects — use browser, Screaming Frog, or HTTP status checker
Migration type guides
A. Hosting-only migration (same domain, same CMS)
Risk level: Low — SEO impact: Minimal
- Backup + migrate files + database
- Update host nameservers/APT records
- Test site on new host
- Update nameservers at domain registrar (propagates 24–48h)
- Monitor 1 week
B. Domain name change (same host/platform)
Risk level: Medium — SEO impact: 2–4 week transition
- Build new domain on same platform (staging first)
- Set up 301 redirects from old domain → new domain (at host or Cloudflare)
- Update Google Search Console → “Change of Address”
- Submit new sitemap (new domain)
- Update all internal links, citations, social profiles
- Monitor 4 weeks for ranking recovery
C. CMS/platform migration (WordPress → Webflow, Wix, Headless)
Risk level: High — SEO impact: 4–8 week recovery
- Audit content — map every old page to new structure
- Export data — use native importers, CSV, or API
- Build in parallel — keep old site live until new is 100% ready
- Set up 301 redirects for every changed URL
- Re-optimize on-page SEO — new platform may structure things differently
- Submit new sitemap to GSC
- Monitor 8 weeks — expect ranking fluctuations, then recovery
D. HTTPS → HTTP (rare, usually mistake)
Risk level: Very high if not handled immediately
- Fix immediately — revert to HTTPS within 24–48 hours
- Check for mixed content — update all URLs to HTTPS
- Submit reconsideration request if rankings dropped significantly
- Move back to HTTPS as soon as possible
Post-migration: the 30-day recovery plan
Days 1–7
- Verify new site is indexed (site:newdomain.com in Google)
- Fix any 404s or crawl errors in GSC
- Monitor rankings for main keywords (expect minor fluctuation)
- Submit new sitemap
- Check Google Analytics 4 — ensure data is collecting
Days 8–14
- Compare traffic week-over-week (same period last year)
- Identify any pages with sustained ranking loss
- Review 301 redirects — ensure they’re all working (200/301, not 404/500)
- Update any broken external links (if you control the linking sites)
- Continue normal content publishing
Days 15–30
- Most keywords should be at or near pre-migration positions
- If rankings are down > 30% after 30 days, run a technical audit
- Document lessons learned for future migrations
- Update this process in your internal knowledge base
FAQ: website migration and SEO
Will my rankings drop after migration?
Yes, temporarily. Most sites see 1–4 weeks of ranking fluctuation. With proper 301 redirects, content parity, and technical setup, most recover to previous positions by week 4. Some sites even rank better on the new platform.
How long does SEO recovery take?
| Migration Type | Typical Recovery |
|---|---|
| Hosting-only (same domain/CMS) | 1–2 weeks |
| Domain change, same CMS | 2–4 weeks |
| CMS/platform change | 4–8 weeks |
| Full rebrand (domain + CMS + structure) | 8–12 weeks |
Do I need to change my permalink structure?
Only if necessary. If your old structure is /post-name/ and new is /%year%/%postname%/, keep the old structure or set up 301 redirects for every changed URL. Changing structure without redirects = 404s and lost authority.
What is the “Change of Address” tool in Google Search Console?
It’s a tool for domain migrations that:
- Tells Google you’re moving from old URL prefix to new URL prefix
- Updates Google’s index faster (but doesn’t guarantee instant ranking preservation)
- Requires 301 redirects from old to new
- Should only be used when keeping the same hosting/platform and just changing the domain
Can I migrate during a Google core update?
Avoid it. Wait until the core update completes and ranking stabilizes (typically 2–3 weeks). Migrating during volatility makes it impossible to isolate migration impact from update impact.
Should I noindex the old site during migration?
No, unless you’re shutting it down completely. Keep the old site live with 301 redirects pointing to the new site. Noindex on the old site prevents Google from discovering the redirects and can cause indexing issues for the new site.
How many 301 redirects are too many?
| Situation | Guideline |
|---|---|
| .htaccess file size | Keep under 500 lines; if larger, consider server config or redirect manager plugin |
| Performance impact | Negligible under 100 redirects; noticeable over 500 on shared hosting |
| Maintenance | Use a redirect manager plugin (Redirection, Page Redirect) for 50+ redirects |
| SEO impact | 301s pass ~90–99% link equity. Too many chain redirects (301→301→301) dilute this. |
What if I lose traffic after migration?
- Check GSC — Are new pages indexed? Any crawl errors?
- Verify 301 redirects — Use HTTP status checker on key pages
- Compare content — Is new content same as old? Any accidentally noindexed?
- Review analytics — Any tracking issues (GA4 tag, filter misconfiguration)?
- Wait 30 days — Some fluctuation is normal; don’t panic-knee-jerk change things
Final recommendation: migration is a process, not an event
Week -1: Backup + audit
Week 1: Staging + testing + redirect map
Week 2: Final checks + stakeholder sign-off
Week 3: Go live + submit sitemap
Weeks 1–4: Monitor rankings, traffic, index status
Week 4+: Declare success; document for future migrations
The businesses that migrate smoothly are the ones who plan, test on staging, set up redirects before going live, and monitor patiently for 30 days.
Need help migrating your website without losing SEO? Contact TheWebPal for a professional migration service. We’ll handle the backup, staging, 301 redirect setup, DNS changes, and 30-day post-monitoring so you can focus on your business.
Related resources
- Best Hosting for WordPress Websites
- The Ultimate Guide to Web Hosting, Website Design & Online Growth for Small Businesses
- Shared Hosting vs VPS vs Cloud Hosting
- How Website Speed Affects SEO and Sales
- Top WordPress Plugins & Tools for Faster, More Secure Websites
- Website Security Checklist for Small Businesses
- Best Web Hosting Services for Small Business Websites in 2026
- How to Fix a Slow WordPress Website
