How to Move WordPress to a New Host Without Downtime
Moving a WordPress site to a new host is one of those tasks that sounds scarier than it actually is. I've migrated dozens of client sites over the years, and the key insight is this: you're not actually "moving" anything. You're copying your site to the new host, testing it, then flipping the DNS switch. Your old site stays live until the exact moment the new one takes over.
Here's how to do it without losing visitors, rankings, or your sanity.
WordPress: The Missing Manual by Matthew MacDonald — ~$30.
View on Amazon →Why Zero-Downtime Migrations Matter
Even 10 minutes of downtime hits you in three places: lost revenue, frustrated users, and potential SEO impact if Google can't crawl your site. For a site making $500/day, an hour of downtime costs real money. More importantly, trust is hard to rebuild once visitors see an error page.
The good news: with proper preparation, your visitors won't notice anything except maybe faster load times.
The Core Strategy: Parallel Hosting
The technique is straightforward. Keep your old site running while you build an exact copy on the new host. Test everything using your hosts file or a temporary domain. Only when you've confirmed the new site works perfectly do you update DNS to point to the new server.
From a visitor's perspective, nothing changes. Behind the scenes, you've moved countries.
Choosing Your New Host: What Actually Matters
Before you start the technical work, you need a host worth migrating to. Here's what I look for after hosting sites on every major provider:
Uptime SLAs are marketing unless backed by credits. A 99.9% SLA sounds good but allows 43 minutes of downtime per month. Look for 99.95% or better with automatic credits.
Time to First Byte (TTFB) matters more than most people think. A fast host serves that first byte in under 200ms. Slow hosts can hit 800ms or more, and no CDN can fix that lag. This directly impacts Core Web Vitals and SEO.
Support quality varies wildly. You want techs who know WordPress architecture, not script-readers who tell you to clear your cache.
Top Hosts for WordPress in 2026
| Provider | Starting Price | Uptime SLA | Average TTFB | Support Quality | Best For |
|---|---|---|---|---|---|
| Kinsta | $35/month | 99.9% | 180ms | Excellent | Agencies, high-traffic sites |
| Cloudways | $14/month | 99.99% | 220ms | Good | Growing businesses |
| SiteGround | $18/month | 99.99% | 240ms | Very Good | Small to medium sites |
| WP Engine | $28/month | 99.95% | 195ms | Excellent | Enterprise, e-commerce |
| DigitalOcean + RunCloud | $12/month | 99.99% | 210ms | Self-managed | Developers |
Kinsta ($35/month for 25k visits) runs on Google Cloud Platform with automatic scaling and built-in CDN. Their dashboard is the cleanest I've used, and support actually understands server architecture. Premium pricing, but zero gotchas. TTFB consistently under 200ms from most locations. Downside: expensive for simple sites that don't need the horsepower.
Cloudways ($14/month for 1GB RAM) gives you managed cloud hosting without the complexity. You pick your underlying cloud (DigitalOcean, AWS, Google Cloud) and they handle the server management. Staging environments are one-click, and vertical scaling is instant. Support is solid but not as fast as Kinsta. Best value for $100-500/month hosting budgets.
SiteGround ($18/month after intro pricing) is the safe choice. They're not the fastest, but they're consistent, and their support team genuinely helps rather than deflecting. Built-in staging and the SuperCacher plugin actually works. Renewal prices jump significantly after year one, which annoys me, but the platform is solid.
WP Engine ($28/month for 25k visits) pioneered managed WordPress hosting and still does it well. Their Global Edge CDN and automated security patches justify the premium for client sites. EDD and WooCommerce performance is particularly strong. Support can be slow for non-emergency issues.
DigitalOcean + RunCloud ($12/month combined) is the developer option. You get full control, modern PHP versions instantly, and incredible performance. RunCloud's control panel makes server management approachable even if you're not a sysadmin. You're responsible for updates and security, but you also get exactly what you want.
Step-by-Step Migration Process
1. Audit Your Current Site
Before touching anything, document what you have. Install the Health Check plugin and confirm your PHP version, MySQL version, and active plugins. Export a list of your current DNS records from your domain registrar. Take screenshots of critical pages.
Check your database size in phpMyAdmin. If it's over 1GB, you might hit import limits on the new host. Also check your wp-content folder size — budget hosts often have unmentioned file storage limits.
2. Set Up the New Host
Sign up and provision your new hosting account. Most managed hosts have a WordPress installation wizard that takes 2 minutes. Skip any migration tools they offer for now — we'll handle this manually for more control.
If your new host offers staging environments (Kinsta, SiteGround, Cloudways all do), use one. If not, create your site on a temporary subdomain like temp.yournewdomain.com.
3. Copy Your Site Files
Install a migration plugin on your old site. I use All-in-One WP Migration for sites under 512MB (free version limit) or Duplicator Pro for larger sites ($69, worth it for client work).
These plugins create a complete package of your files and database. Download the package, then upload and run the installer on your new host. The plugin handles serialized data, URL replacements, and path corrections automatically.
Alternative method for developers: use WP-CLI on both servers. wp db export on the old server, wp db import on the new one, then rsync your wp-content folder. Faster for large sites but requires SSH access.
4. Test Everything
This is where most people rush and regret it. Edit your computer's hosts file to point your domain to the new server's IP address. On Mac/Linux, it's /etc/hosts. On Windows, C:\Windows\System32\drivers\etc\hosts. Add a line like:
`` 123.45.67.89 yoursite.com www.yoursite.com ``
Now when you visit your site, you see the new server while the rest of the world still sees the old one.
Test systematically: homepage, all post types, forms, checkout if you run WooCommerce, admin dashboard, plugin functionality, image uploads. Click every navigation item. If you have membership features or user accounts, test those thoroughly.
Run GTmetrix or WebPageTest from multiple locations. Confirm your TTFB is actually better on the new host — if it's not, investigate before going live.
5. Update DNS
Once you're confident everything works, log into your domain registrar and update your A record to point to the new server's IP address. If you use Cloudflare or another DNS provider, update it there.
DNS changes propagate gradually, usually within 5-15 minutes but sometimes up to 48 hours. During this window, some visitors see the old site and some see the new one. This is why you tested thoroughly — both sites need to work.
Don't touch the old site for 72 hours. Some visitors will still be hitting it due to DNS caching.
6. Configure Email Properly
This catches people constantly. If your WordPress site sends email (password resets, contact forms, order confirmations), you need to reconfigure email delivery on the new host.
Many hosts block outbound port 25 to prevent spam. Use an SMTP plugin like WP Mail SMTP and connect to your email provider (Gmail, SendGrid, Mailgun). Test password reset emails before considering the migration complete.
Common Pitfalls and How to Avoid Them
SSL certificates: Most managed hosts auto-provision Let's Encrypt certificates, but verify your new site loads with HTTPS before switching DNS. Mixed content warnings break functionality.
CDN conflicts: If you use Cloudflare or another CDN, purge its cache after the DNS switch. Otherwise visitors get served cached pages from the old server.
Hardcoded URLs: Quality migration plugins catch these, but custom themes sometimes have hardcoded paths. Search your database for your old domain name and verify the count is zero.
Cron jobs: If you run custom cron jobs on your old server, recreate them on the new one. Lost crons can break scheduled posts, backups, or maintenance tasks.
Who Should Use Which Host
Choose Kinsta if you're running a business site where an hour of downtime costs more than the monthly hosting fee. The premium is worth it for automatic scaling, excellent support, and the fastest infrastructure I've tested.
Choose Cloudways if you want performance and flexibility without complexity. Perfect for growing sites that might need more resources in six months. Easy to scale vertically without migrations.
Choose SiteGround if you want reliability and good support without overthinking it. Best for small businesses, blogs, and portfolio sites under 50k monthly visits.
Choose WP Engine if you're running WooCommerce or membership sites where performance directly impacts revenue. Their infrastructure is tuned specifically for WordPress under load.
Choose DigitalOcean + RunCloud if you know your way around servers or want to learn. Best performance per dollar, but you're responsible for maintenance.
The hosting upgrade you've been postponing probably takes 2-3 hours from start to finish if you follow this process. Your site will be faster, more reliable, and you'll have eliminated one persistent source of stress. That's worth an afternoon.
Step-by-step guide to launching a professional business website fast — no developer needed. Covers domain, hosting, design, and SEO basics. Instant digital download.
Get Instant Access →