RunHost
Guides

Website Migration Nightmares: How to Move Hosts Without Losing Traffic

RunHost Team
RunHost Team
||14 min read
Website Migration Nightmares: How to Move Hosts Without Losing Traffic

You've decided to switch hosting. Your new provider is ready. But there's a gnawing anxiety: What if my site goes down? What if I lose customers? What if I break something?

These fears are legitimate. Bad migrations destroy businesses. A hospital's medical site going down for 12 hours. An e-commerce store losing a day of sales. A SaaS company watching customers churn when their app is unreachable.

But here's the truth: done correctly, website migration has zero downtime. Your site never goes offline. Your visitors never know it happened.

In this guide, we'll walk through exactly how to migrate your website from one host to another—with zero downtime, zero lost traffic, and zero stress.

Before You Start: 5 Critical Prerequisites

Don't start migrating without these in place:

1. Choose Your New Host (and Test It)

Your new hosting should:

  • Support your platform (WordPress, Node.js, PHP, etc.)
  • Have sufficient resources (memory, storage, bandwidth)
  • Provide free migration support (saves hours)
  • Have better uptime/support than your current host

Don't migrate to a questionable host. You're not escaping problems; you're likely creating new ones.

2. Full Backup of Your Current Site

Before touching anything, back up everything:

  • Database: Export SQL dump (phpMyAdmin, command line, or automated backup)
  • Files: Full FTP/SFTP download of public_html or root directory
  • Email: If migrating email, export all mailboxes
  • DNS records: Screenshot or download your DNS records (for re-creating if needed)
  • SSL certificate: If custom SSL, export the certificate and key

Store this backup in at least two places (your computer and cloud storage).

3. Document Everything

Create a migration checklist. Write down:

  • Current host's control panel login
  • New host's control panel login
  • Domain registrar login
  • Current nameservers
  • New host's nameservers
  • Important emails addresses and contacts
  • Migration timeline

4. Pick the Right Time

Migrate during low-traffic hours:

  • For US sites: 2-6 AM ET (Tuesday-Thursday)
  • For EU sites: 2-6 AM CET (Tuesday-Thursday)
  • For global sites: Accept some timezone will be business hours. Choose the smallest traffic window.

Avoid Fridays, weekends, and holidays. If something goes wrong, you want support staff available.

5. Notify Stakeholders

Warn team members, developers, and critical customers:

"We're migrating hosting on Thursday 2-4 AM EST. Your site will remain fully operational, but there may be brief DNS resolution delays for international users during the transition. Estimated completion: 4 AM EST."

The Zero-Downtime Migration Process (9 Steps)

Step 1: Provision New Hosting & Create Staging Domain

Do this 2-3 days before migration

Set up hosting on your new provider. Create a temporary domain (or subdomain) for testing:

  • Option A (Subdomain): staging.yoursite.com → Points to new host
  • Option B (Temporary domain): yoursite-new.com (purchase for $10, temporary use)
  • Option C (Provider test URL): Many hosts provide a temporary URL like sitename.runhost.com

This staging domain lets you test everything while your live site continues running on the old host.

Step 2: Migrate Your Site to New Host

Do this 1 day before migration

Most modern hosts offer free migration assistance. Use it. They handle most of the work.

If doing it yourself (WordPress):

  • Install WordPress on new host
  • Upload your database backup via phpMyAdmin
  • Upload files via FTP to new host
  • Update wp-config.php with new database details if needed

If doing it yourself (Custom site):

  • Create database on new host with same name
  • Upload SQL backup to phpMyAdmin or via command line: mysql -u user -p dbname < backup.sql
  • Upload all files via FTP to new host's public_html
  • Update config files if they contain hardcoded old host paths

Step 3: Test EVERYTHING on Staging Domain

Do this 1 day before migration, thoroughly

Visit your staging domain (staging.yoursite.com) and verify:

Functionality:

  • All pages load without 404 errors
  • Navigation works (menus, links)
  • Forms submit (contact forms, checkout, registration)
  • Search works
  • User logins work (if applicable)
  • Admin/dashboard functions work

Content:

  • All images display (no broken images)
  • Videos play
  • CSS/styling loads correctly (not unstyled)
  • JavaScript functions work (dropdowns, sliders, etc.)

Performance:

  • Site loads quickly (no massive slowdowns)
  • Run a speed test (Google PageSpeed, GTmetrix)
  • Check Core Web Vitals

Security:

  • HTTPS/SSL works (green padlock in browser)
  • No mixed content warnings (https + http)
  • Security headers present

Email (if applicable):

  • Test email@yoursite.com sends and receives
  • Contact forms send emails correctly
  • Automated emails (receipts, confirmations) work

Database:

  • All database data present (all posts, products, users)
  • No missing or corrupted data
  • Database queries execute quickly

Pro tip: Test from multiple devices and browsers. Mobile, desktop, iPhone, Android. Chrome, Firefox, Safari, Edge.

Step 4: Final Backup of Current Site

Do this 6 hours before DNS change

Create one final backup of your current site (while still live). If something goes wrong after DNS change, you can roll back.

Step 5: Update DNS Records (The Critical Moment)

Do this at your scheduled migration time

This is it. The moment your site switches to the new host.

Option A: Change Nameservers (Easiest, 24-48 hour propagation)

  • Log into your domain registrar (GoDaddy, Namecheap, etc.)
  • Find "Nameservers" or "DNS"
  • Change to your new host's nameservers (get these from new host's control panel)
  • Save changes
  • Wait 24-48 hours (sometimes instant with modern DNS)

Option B: Update A Records Directly (Faster, instant)

  • If you manage DNS at the registrar or a DNS service, find the A record
  • Change the IP address to your new host's IP
  • Update the MX record if migrating email
  • Save changes
  • Propagates within minutes (usually instant)

Which is better? Option B (A record update) is faster, but requires more technical knowledge. Option A (nameserver change) is simpler and works everywhere.

Start with Option A unless you're comfortable with DNS.

Step 6: Verify DNS Propagation

Do this immediately after DNS change, then repeatedly over 24 hours

Check if DNS has propagated to various locations:

Tools to check:

  • whatsmydns.net: See DNS resolution across 200+ locations worldwide
  • Google Search Console: Check indexation status
  • Your browser: Clear cache, load your site, confirm it loads from new host

What to expect:

  • Immediately after DNS change: Some locations see old host, some see new host (normal)
  • After 2-4 hours: Most locations see new host
  • After 24-48 hours: All locations see new host

During this transition period, your site is split. Some users see old host, some see new. Both are working (since you migrated before changing DNS), so there's zero downtime.

Step 7: Monitor Closely for 24-48 Hours

Do this continuously after DNS change

Check your site regularly:

  • Load main pages in different browsers
  • Check that forms still work
  • Monitor email delivery (send test emails)
  • Check error logs on new host for any warnings
  • Monitor traffic analytics (should be normal)
  • Check for SSL certificate issues (HTTPS warnings)

If anything looks wrong, you can revert by pointing DNS back to the old host (takes a few hours to propagate).

Step 8: Test from Multiple Locations

Do this during the 24-48 hour window

DNS propagates differently based on geographic location. Test from:

  • Your current location (likely saw new host immediately)
  • A VPN in a different country (sees different DNS server)
  • Using OpenDNS or Google Public DNS (8.8.8.8) to test

This ensures your site is working globally, not just locally.

Step 9: Cancel Old Hosting (Only After Confirmation)

Do this 48 hours after DNS change, only after everything is confirmed working

Email old hosting support: "Please cancel my account as of [date]. Please refund any prepaid balance."

Critical: Don't cancel old hosting until you're absolutely sure new host is working. If something goes wrong, old host is your safety net.

Wait 48-72 hours minimum. This ensures:

  • DNS has propagated globally
  • No cached DNS is pointing back to old host
  • You've verified everything is working

Migration Checklist (Use This)

Copy this checklist and track your progress:

TaskTimelineDone?
Choose new hosting provider1 week before☐
Full backup of current site (files + DB)3 days before☐
Document all logins and DNS records3 days before☐
Migrate site to new host staging2 days before☐
Test everything on staging domain2 days before☐
Verify email works on staging2 days before☐
Run speed test on staging2 days before☐
Final backup of old site (6 hours before)6 hours before☐
Change DNS/NameserversAt scheduled time☐
Verify DNS started propagating0-2 hours after☐
Check site loads in multiple locations2-4 hours after☐
Monitor for 24 hours24 hours☐
Verify from multiple locations (VPN, etc.)24 hours☐
Run speed test from new host24 hours☐
Cancel old hosting48+ hours after☐
Monitor new host for 1 week1 week after☐

Common Migration Mistakes (Don't Make These)

❌ Cancel old hosting immediately after DNS change

DNS takes time to propagate. Some users might still hit old host. Cancel only after 48+ hours of confirmed working.

❌ Don't test on staging domain first

You discover bugs AFTER changing DNS when it's harder to fix. Always test on staging.

❌ Forget to migrate email

Site works but email is broken. Customers can't contact you. Migrate email too.

❌ Use outdated backup

You back up your site 2 months ago. Migrate that old backup. New posts/changes are lost. Back up immediately before migrating.

❌ Don't update database connection strings

New host has different database credentials. If wp-config.php or config.php still has old credentials, site breaks. Update these first.

❌ Ignore SSL/HTTPS during migration

Site works but shows HTTPS warnings. Make sure SSL certificate is set up on new host before DNS change.

❌ Assume one platform works like another

Migrating from shared hosting to cPanel? Paths might differ. Custom builds might have special configurations. Get help from new host if needed.

When to Use Professional Migration Services

Consider hiring professionals if:

  • Site is mission-critical: Downtime = major revenue loss
  • You're not technical: Don't understand backups/DNS
  • Site is complex: Custom code, multiple databases, third-party integrations
  • Very large site: Thousands of pages, GBs of data
  • Multiple sites: Migrating 5+ sites simultaneously

Cost: $100-1000 depending on complexity.

Worth it if: One hour of downtime = more than $1,000 in lost revenue (or reputation damage).

Post-Migration: The Week After

Migration isn't done until a week has passed without issues.

Day 1 after: Monitor closely. Check all critical pages and functions.

Day 2-3: Spot-check various pages. Monitor analytics for anomalies.

Day 4-7: Check Google Search Console (should show normal indexation). Monitor traffic trends.

One week after: If no issues, consider migration complete.

Ready to Migrate to Reliable Hosting?

Migrating to RunHost is free. We handle the entire migration for you—no downtime, no risk.

Free Migration to Better Hosting

We handle the entire process. Zero downtime. Your site just works better.

Start Your Free Migration

Key Takeaways

  • Zero downtime is achievable: Migrate on new host before changing DNS
  • Test thoroughly on staging: Catch issues before they affect live site
  • DNS changes are reversible: If something goes wrong, point back to old host
  • Don't rush cancellation: Wait 48+ hours after DNS change
  • Plan for 2-3 days: Including testing, DNS propagation, and verification
  • Backup everything: Have a complete backup before starting
  • Use professional help if unsure: Cost is cheap insurance against disasters

Related Articles

RunHost Hosting

Ready for a Migration? from $1.99/mo

We handle the entire migration for free. Your site moves seamlessly. Zero downtime. Zero stress.

Start Free Migration NowOfficial Google Workspace Partner
←Back to all articles

🍪 We value your privacy

We use cookies to enhance your experience, analyze site usage, and personalize content. Your data is protected and never sold.

Better experience
Faster loading
Privacy first