Fear of downtime keeps thousands of site owners stuck on bad hosts. The good news: with the right sequence, visitors never see anything. Here's the process we use for every migration, whether it's a WordPress blog or a static site.

Step 1: Prepare the destination

Set up the new host with the same PHP version, web server (Apache/NGINX/LiteSpeed) and SSL. Don't cancel the old host yet — you'll run both in parallel.

Step 2: Copy files and database

For WordPress, export the database via phpMyAdmin or WP-CLI (wp db export) and archive the files. Upload everything to the new server and import. Managed hosts (SiteGround, Kinsta, Cloudways) do this free with their migration plugins — a genuine reason to choose them.

Step 3: Test with a hosts-file trick

Edit your computer's hosts file to point the domain at the new server's IP. Browse the entire site — posts, images, forms, checkout, admin. Fix what's broken before DNS ever moves.

# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS/Linux: /etc/hosts
203.0.113.50 yourdomain.com www.yourdomain.com

Step 4: Lower the DNS TTL

48 hours before switching, set your DNS TTL to 300 seconds (5 minutes). This ensures old records expire quickly when you flip the switch. Skip this on the day of migration and some visitors may see the old server for up to 24 hours.

Step 5: Cut over DNS

Update the A record to the new IP. Wait for propagation (usually under 30 minutes with the low TTL), then test from multiple locations — a tool like dnschecker.org confirms the change globally.

Step 6: Monitor both servers for 72 hours

Keep the old host alive and watch its access logs. Stragglers hitting the old IP should redirect or still be served correctly. Only after 72 hours of clean traffic is it safe to cancel.

Step 7: Post-migration checks

  • Force HTTPS everywhere and fix mixed-content warnings
  • Resubmit the XML sitemap in Google Search Console
  • Verify DNS records: MX (email), TXT (SPF/DKIM) — email breaks most often
  • Re-enable caching/CDN with the new origin
  • Run a final PageSpeed test — new hosts often need different cache configs

How long does it take?

A small WordPress site: 1–2 hours of work plus propagation. Large WooCommerce stores: plan a maintenance window for the final database sync. Either way, done right, your visitors see zero downtime — and often a faster site the moment the move completes. Pick the target from our reviewed providers and the migration becomes the easy part.