In short
- The secret to a no-downtime move is simple: the old site keeps running until the new one is tested and ready.
- Back up first, copy the site, test it privately on the new host, then switch DNS.
- Keep the old hosting active for at least a week after the switch.
Moving a WordPress site sounds risky, but most problems come from doing steps out of order. If the old site stays live until the new copy is proven to work, visitors will not notice the move. This guide covers a standard single-site move. Very large sites, stores with constant orders and multisite networks need extra planning, and we note where.
Before you start: take stock
- Access. Make sure you can log in to the old host, the new host, WordPress admin and wherever your domain’s DNS is managed.
- Size. Note the total size of the files and database. It decides which copying method is practical.
- Email. Find out whether your email is hosted with the old web host. If it is, plan its move separately, because changing DNS can affect mail.
- Versions. Check the PHP version on the old host and make sure the new host supports the same or newer.
If you have not chosen a new host yet, our Hosting overview and WordPress Hosting page explain the options.
Step 1: Make a full backup
Back up both the files (the whole WordPress folder, especially wp-content) and the database. A plugin such as UpdraftPlus can do both and save them off the server. Download a copy to your own computer too. Do not continue until you have a backup you know you can open.
Step 2: Lower the DNS TTL
TTL (time to live) tells the internet how long to remember where your domain points. A day or two before the move, lower the TTL on your main records to a short value, such as five minutes, in your DNS settings. When you later switch to the new host, the change will spread quickly instead of over many hours. Skip this step if your DNS provider does not allow it; the move still works, it just takes longer to settle.
Step 3: Copy the site to the new host
There are three common ways to do this:
- A migration or backup plugin. Install a fresh WordPress on the new host, install the same plugin, and restore your backup. This is the easiest route for most sites.
- Your host’s migration tool or service. Some hosts offer one. Ask what it covers before relying on it.
- Manual copy. Copy the files by SFTP, export the database from the old host and import it on the new one, then update wp-config.php with the new database details. This gives you the most control.
Keep the same domain name during the move. Changing the domain at the same time adds a second set of problems; do that as a separate project.
Step 4: Test privately before anyone else sees it
At this point the domain still points to the old host, so visitors see the old site. To view the new copy, edit the hosts file on your own computer so that your domain points to the new server’s IP address. Only your computer is affected. Then check:
- The home page, a few posts and pages, and the images on them.
- Logging in to WordPress admin.
- Forms, search, and any shop or checkout process.
- Permalinks (if posts give “not found” errors, re-save Settings → Permalinks).
- That an SSL certificate is installed for your domain on the new host.
Remove the hosts file entry when you are done.
Step 5: Freeze changes and switch DNS
Pause new content, comments and orders on the old site for the short switch window, so nothing is lost. If anything has changed since your backup, copy it again. Then update your domain’s nameservers or A record to the new host. Because you lowered the TTL, most visitors will reach the new server soon after. During the changeover some visitors see the old copy and some see the new, which is why both must be working.
Moving the domain registration itself is optional and separate from moving hosting. If you want to do that too, see our Domains page; there is no need to do both on the same day.
Step 6: Check, then tidy up
- Browse the live site again and submit a test form.
- Confirm that email still sends and arrives.
- Set up backups on the new host.
- Set the TTL back to a normal value.
- Keep the old hosting active for at least a week, then download a final backup before you cancel it.
When to get help
Consider asking for help if your site is a busy store, uses a multisite network, has a very large database, or relies on custom server settings. These moves are still very doable but have more places to go wrong. Our Support page explains what help is available.
Next steps
- Confirm you have logins for the old host, new host, WordPress and DNS.
- Take a full backup and check you can open it.
- Lower your DNS TTL a day or two ahead.
- Copy, test with the hosts file, then switch.
- Need a new home for the site? Start with our WordPress Hosting page.