How to Migrate WordPress to a New Host Without Downtime
Your current host is slow, expensive or about to double its renewal price, and you want out. The fear is that you will migrate WordPress to a new host and spend a weekend staring at a broken site, missing images and a contact form that no...

Your current host is slow, expensive or about to double its renewal price, and you want out. The fear is that you will migrate WordPress to a new host and spend a weekend staring at a broken site, missing images and a contact form that no longer sends anything. That fear is reasonable, but almost every migration failure comes from doing the steps in the wrong order, not from anything technically difficult.
I have moved more than forty WordPress sites, from five-page business brochures to busy community sites with 30,000 comments. The method below keeps the old site live until the new one is proven, so visitors never see a gap.
What you need before you migrate WordPress to a new host
Collect these before touching anything. Missing one of them halfway through is how a one-hour job becomes a lost evening.
- Logins for the old host, including the control panel, file manager or SFTP, and database access through phpMyAdmin or similar.
- Logins for the new host, with an empty WordPress install or a blank account ready.
- Access to your domain registrar, which is often a different company from your host. You will change DNS records there.
- A full, fresh backup of both files and the database, stored on your own computer and not only on the old server.
- A note of your PHP version and any custom settings in wp-config.php, such as memory limits or table prefixes.
If your current backup routine is one plugin that saves to the same server, fix that first. Our guide on how to back up a WordPress site the right way explains why off-server copies matter, and a migration is exactly the moment you will want one.
Lower the DNS TTL a day early
At your registrar, find the A record for your domain and set its TTL (time to live) to 300 seconds, or the lowest allowed value. Do this 24 hours before the move. When you later point the domain to the new server, the change will spread in minutes rather than the default of up to a day.
Step by step: moving the site
There are two routes. A migration plugin bundles everything into one archive and unpacks it on the new host. A manual move copies the files and database yourself. For sites under about 2 GB, a plugin is quicker. For larger sites or hosts with strict upload limits, the manual route is more reliable.
- Put the old site in a soft freeze. Pause new posts and, if you can, close comments for a few hours. Anything published after you export will not exist on the new host.
- Export. With a plugin, create the archive and download it. Manually, download the whole wp-content folder by SFTP and export the database as a .sql file.
- Import on the new host. Install a clean WordPress, install the same migration plugin and upload the archive. Manually, upload wp-content, create a new database and user, import the .sql file and edit wp-config.php with the new database name, user and password.
- Preview before DNS changes. Edit the hosts file on your own computer so your domain points to the new server's IP address. You now see the new copy while everyone else still sees the old one. Many hosts also offer a temporary preview URL.
- Test properly. Log in, open ten random posts, check images, submit a form, run a search and visit the admin dashboard. Look at the browser console for mixed content or missing files.
- Switch DNS. Change the A record at your registrar to the new IP address. With a low TTL, most visitors will reach the new server within 5 to 30 minutes.
- Issue the SSL certificate. Most hosts issue a free certificate automatically once DNS points at them. Confirm the padlock appears and that http redirects to https.
- Keep the old hosting for at least a week. If something hidden breaks, you still have a working original to compare against.
Why "just use the free migration service" is not always the safe choice
Many hosts offer to move your site for free, and the common advice is to accept. For a simple site it is usually fine. For anything with custom code, a membership area or a busy forum, I would rather do it myself, and here is the reason.
Free migration teams work through a queue. They copy the site, confirm the homepage loads and close the ticket. They do not know that your event calendar relies on a cron job, that your theme has a hard-coded file path, or that your contact form uses a mail setting the new host blocks. You discover those problems a week later, from a member who could not register.
If you use the free service, treat it as step 2 and step 3 only. Do your own testing, your own DNS switch and your own checks on email and scheduled tasks. You stay in control of the moment the site goes live.
The things that break after a migration
Most sites come across intact. The problems that do appear fall into a predictable short list.
Site emails stop arriving
New hosts often limit the PHP mail function to prevent spam. Password resets and form notifications silently vanish. The fix is to send through an authenticated mail service, which is explained in our guide to setting up WordPress SMTP so site emails arrive.
Permalinks return 404 errors
The homepage loads but every post shows "not found". This usually means the .htaccess file did not copy or the new server uses Nginx. Go to Settings, Permalinks and click Save without changing anything. That rewrites the rules on Apache. On Nginx, ask the host to enable WordPress rewrites.
Images or links still point to the old address
If you also changed the domain or moved from http to https, run a search and replace on the database with a tool that handles serialized data. A plain text replace in the .sql file can corrupt widget and plugin settings.
Scheduled posts and backups stop running
WordPress cron depends on visits. On a quiet site, or on a host that disables it, scheduled tasks pile up. Set up a real server cron job hitting wp-cron.php every 15 minutes.
After the move: a 48-hour checklist
Once DNS has switched, keep an eye on the site for two days before you cancel the old plan.
- Check Search Console for crawl errors and a spike in 404 pages.
- Compare page load times against your notes from the old host. A good move should cut time to first byte by at least 20 percent.
- Confirm your backup plugin is running on the new host and storing copies off-server.
- Set up an external monitor so you hear about outages before visitors do. Our guide to uptime monitoring for a small website covers free options that check every five minutes.
- Download a final full backup from the old host, then cancel it.
Frequently asked questions
Will migrating WordPress to a new host hurt my SEO?
Not if the domain and URLs stay the same. Search engines care about the address and content, not the server behind it. A short burst of downtime or a week of 404 errors can cause a temporary dip, which is why testing before the DNS switch matters.
How long does it take to move a WordPress site?
The copying usually takes 30 minutes to two hours, depending on size. DNS changes reach most visitors within an hour if you lowered the TTL in advance. Plan for a full day including testing, and keep the old host for a week.
Can I migrate WordPress without a plugin?
Yes. Copy the wp-content folder by SFTP, export and import the database, and update wp-config.php with the new database details. It takes a little longer but works on any size of site and avoids upload limits.
More in WordPress
WordPress
How to Set Up WordPress SMTP So Site Emails Arrive
A new member signs up for your guild site, waits for the welcome email, and nothing arrives.
WordPress
How to Limit WordPress Post Revisions and Clean Old Ones
Open the database of a gaming fan site that has been running for three years and you will often find that a third of the rows...
WordPress
How to Fix the WordPress White Screen of Death Fast
You click "Update" on a plugin, the page reloads, and your whole clan site is a blank white page.