Skip to main content

How to Migrate a WordPress Site to a New Host Without Downtime

By WHK Admin · Apr 30, 2026 · 3 min read
WordPress migration diagram between two servers

Migrating WordPress to a new host is one of those tasks people imagine is much scarier than it is. The actual mechanics are simple. The thing that trips people up is the order of operations — specifically, when to switch DNS.

Done right, your visitors notice nothing. Done wrong, you spend an evening explaining to your boss why the contact form was eating leads for six hours.

The three rules of safe migration

  • Never delete the old site until the new one is verified working.
  • Test the new site on the new server before you change DNS.
  • Put the old site into maintenance mode during the final sync.

Step 1 — Pick a migration method

Three options, roughly in order of effort:

  • Plugin-based (All-in-One WP Migration, Duplicator, Migrate Guru): the easiest for sites under a few GB.
  • Manual (export files via FTP/SSH, export database via phpMyAdmin): more control, works at any scale.
  • Host-assisted: we and most reputable hosts will do this for you, free, on request.

For most small business sites, plugin-based is fine. For anything WooCommerce-heavy, we recommend the manual or host-assisted route — plugin imports have been known to corrupt order data on large stores.

Step 2 — Test on the new server before switching DNS

This is the step people skip and regret. You don't have to fly blind. There are two clean ways to preview the new server before changing the public DNS:

  • Modify your local hosts file. Add an entry like 123.45.67.89 yourdomain.com pointing to the new server's IP. Your browser will treat that one machine as if DNS had already changed.
  • Use a temporary URL. Most hosts (us included) give you a preview URL on a subdomain like yourdomain.com.whk-preview.com until you're ready.

Step 3 — Lower your TTL the day before

TTL (time to live) is how long DNS responses get cached. The default is often 24 or 48 hours. The day before you plan to migrate, drop your A record TTL to 300 seconds (five minutes). When you change the record later, the world will pick up the new address almost immediately instead of slowly over two days.

Step 4 — Final sync and cutover

On migration day, in this order:

  1. Put the old site into maintenance mode (a plugin works, or a simple .htaccess rule).
  2. Re-export the database one last time and import it on the new server. This captures any orders, comments or form submissions that came in since your earlier copy.
  3. Update DNS to point to the new server.
  4. Wait for propagation — usually a few minutes with a low TTL.
  5. Confirm the new site is serving by checking from a couple of different networks (mobile data is a quick sanity test).

Step 5 — Don't forget the housekeeping

People often forget these and find out two weeks later:

  • Issue a fresh SSL certificate on the new server (Let's Encrypt happens automatically on most modern hosts).
  • Update Cloudflare or any CDN to point at the new origin IP.
  • Re-create cron jobs (especially for WooCommerce subscriptions and email).
  • Update SPF/DKIM/DMARC if your new host handles your email too.
The "no downtime" trick is mostly about timing: lower your TTL early, test on the new server before switching, and do the final database sync after putting the old site into maintenance. Everything else is just rinse and repeat.

If you're moving to WebHostingKashmir, our team will do the entire migration for you. We've moved everything from a five-page brochure site to a 40 GB WooCommerce store — the process is the same, just the patience required scales up.

Related articles