Skip to content

How to Move WordPress to a New Host Without Downtime

A complete checklist for moving WordPress to a new host: backups, migration methods, testing before DNS changes, URL updates, email, and post-move checks.

Team working together on a website project

Moving a WordPress site to a new host is one of those jobs that looks simple until something goes wrong: broken images, a database connection error, emails that stop arriving, or a day of downtime. With the right order of steps, a move can happen with no downtime and no lost data.

This guide covers the full process, including the parts that are easy to forget.

Before you start: make a checklist

  • Access: logins for the old host, the new host, and your domain registrar or DNS provider.
  • Email: find out where your email is hosted. If it is at the old host, plan to move it too, or your mail will stop when you cancel the old account.
  • Timing: pick a quiet time, and pause content changes and orders during the final switch if you run a busy store.
  • Lower DNS TTL: a day before the move, lower the TTL of your domain’s A record to 300 seconds (5 minutes) so the switch spreads faster.

Step 1: Take a complete backup

You need two things: all the site files (especially wp-content and wp-config.php) and a full export of the database. You can use your host’s backup tool, a migration plugin, or SFTP plus phpMyAdmin. Keep a copy on your own computer until the move is finished and verified.

Step 2: Choose a migration method

  • Migration plugin (Duplicator, All-in-One WP Migration, Migrate Guru, and others): the easiest option for small and medium sites. Watch for upload size limits on free versions.
  • Your new host’s migration tool or service: many hosts move sites for free. Ask before doing it yourself.
  • Manual move (SFTP and database import): the most control, and the best option for large sites or when plugins time out.

Step 3: Copy files and import the database

For a manual move:

  1. Create a new database and database user on the new host, and give the user all privileges on the database.
  2. Upload all site files to the new host’s web root.
  3. Import the database export through phpMyAdmin or the command line.
  4. Edit wp-config.php on the new host with the new DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST. Leave $table_prefix as it was.

Wrong database details here are the classic cause of the “Error establishing a database connection” message. See our guide to fixing the database connection error if you hit it.

Step 4: Test before switching DNS

Do not point your domain at the new server until the site works there. Ways to preview it:

  • Edit your computer’s hosts file to point your domain to the new server’s IP address. Only your computer sees the new server.
  • Use a temporary URL or preview link from the new host.

Check the homepage, a few posts, images, forms, logins, search, and checkout. Look for PHP errors and make sure the PHP version on the new host is compatible with your plugins.

Step 5: Change the domain or URLs if needed

If the domain stays the same, there is nothing to replace. If you are also changing the domain or moving to HTTPS, run a database-aware search and replace, for example with WP-CLI:

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --dry-run

Run it without --dry-run once the preview looks right. Never edit serialized data with a plain SQL replace. Then set up 301 redirects from the old domain to the new one to keep your search rankings.

Step 6: Switch DNS

Update your domain’s A record (and the www record, if separate) to the new server’s IP address. Because you lowered the TTL, most visitors reach the new server within minutes, though some networks take longer.

If you run a store, freeze orders on the old site during the switch, or copy over any orders placed during the switch, so nothing is lost.

Step 7: Check everything after the move

  • Install or confirm the SSL certificate on the new host, and check for mixed content warnings.
  • Test contact forms and order emails. Update SPF and DKIM DNS records if email sending moved to the new server.
  • Check that cron jobs and scheduled posts run, and that backups are set up on the new host.
  • Re-enable caching and check page speed.
  • Resave Settings → Permalinks if pages show 404 errors.
  • Keep the old hosting account for at least a week before cancelling it.

Want the move done for you? Our WordPress Migration service moves your files and database, updates URLs, and checks that everything works before you switch over, with a planned cutover to avoid downtime. Fixed price of $49 for standard single-site moves. Request a migration.

Frequently asked questions

Will my site go down during the move?

Not if you test on the new host first and switch DNS at the end. The old site keeps serving visitors until the DNS change spreads.

Will moving hosts affect my Google rankings?

Moving hosts with the same domain and URLs does not hurt rankings. Changing the domain needs proper 301 redirects and an update in Search Console to keep them.

What if my email is with my old host?

Set up mailboxes at the new provider, update the MX records, and move old messages before cancelling the old host. Otherwise email stops when the old account closes.

Still Stuck? We Can Fix It for You

Tell us what is going on. We confirm the scope and price before any work begins.