The short answer

To move hosts without downtime, copy your website to the new server while the old one keeps serving visitors, test the copy privately, then update your DNS. Since both servers hold a working copy, visitors always reach a live site. Lowering your DNS TTL beforehand speeds up the switch.

Step 1: Lower your DNS TTL in advance

TTL (time to live) tells resolvers how long to cache your DNS records. Cloudflare's documentation explains the trade-off: longer TTLs speed up lookups, but updates take longer to reach visitors.

About 24 to 48 hours before the move, drop the TTL on your A record (and MX if email is moving) to something short like 300 seconds. Wait at least as long as the old TTL so caches expire. Now, when you switch, most visitors move over within minutes.

Step 2: Take a full backup

Download a complete backup from your current host: files, every database and email if you're moving it. In cPanel, a full account backup covers all three. Keep a copy on your own computer as a safety net.

Step 3: Copy the site to the new host

Restore the backup on the new server or use a WordPress migration plugin. Between two cPanel hosts, a full cPanel backup can often be imported directly. Check that:

  • All files are present
  • The database imported without errors
  • Your wp-config.php or app settings point to the new database name, user and password

Step 4: Test before anyone else sees it

Preview the site on the new server before changing DNS. The common way is to edit your computer's hosts file so your domain points to the new server's IP only on your machine. Then click around properly:

  • Home page, product pages and forms
  • Login and admin area
  • Checkout and contact forms (send a test)

Fix anything broken now, while real visitors are still on the old server.

Step 5: Freeze changes and do a final sync

If your site changes often, like a store taking orders, pause updates briefly and do a final database export and import so the new server has the latest content. Quiet brochure sites can usually skip this.

Step 6: Switch DNS

Update your domain's A record to the new server IP, or change nameservers if you're moving DNS to the new host too. Thanks to the low TTL, traffic shifts quickly. Leave the old server running so anyone with cached DNS still sees a working site.

Step 7: Check SSL, email and then cancel

Once DNS points to the new server, confirm your free SSL certificate has been issued (on cPanel hosts, AutoSSL handles this). Send and receive test emails. After a week or two with no issues, cancel the old hosting. Then raise your TTL back up.

Migration checklist

TaskWhen
Lower DNS TTL24 to 48 hours before
Full backupBefore copying
Restore on new hostDay of move
Test via hosts fileBefore switching DNS
Final syncJust before switching
Update DNSSwitch day
Verify SSL and emailAfter DNS update
Cancel old host1 to 2 weeks later

Or let the new host do it

Doing it yourself is very doable, but fiddly. WhyShared includes free migration on its shared hosting plans: the team moves your files, databases and emails for you. If speed is the reason you're moving, read how to speed up WordPress on shared hosting once you're settled in.

Frequently asked questions

How long does DNS propagation take?

It depends mostly on the TTL set before the change. With a low TTL, most visitors switch within minutes. Some resolvers cache longer, so keep the old host active for a while.

Will moving hosts hurt my SEO?

Not if the URLs stay the same and the site stays online. A clean move with no downtime and the same domain has no lasting SEO impact.

Do I lose emails when moving hosts?

You can, if MX records change before mailboxes are copied. Migrate email accounts first, then update MX, and check both inboxes for a few days.

Should I cancel my old host before moving?

No. Cancel only after the new site has run smoothly for a week or two.

Vikash Mewada

Founder & CEO of WhyShared. Writes about hosting, website speed and growing a business online in India.