Hosting contracts expire. Support quality drops. Page-load speed stops being acceptable on a once-fast plan. The symptom shows up in two patterns. Renewal pricing arrives 60% higher than year one. Page TTFB drifts past 1.5 seconds when visitor load spikes. Many site owners delay the move because past horror stories warn of broken images and missing emails after DNS change.
This tutorial walks through how to migrate WordPress to a new host using the UpdraftPlus plugin. You back up the old site first. Fresh WordPress installs on the new host next. Restoring the backup brings every post and image across. DNS switches only after the new server passes a smoke test.
What You’ll Need
- WordPress version: 6.5 or newer on both the old and new hosts.
- Permissions needed: Administrator on the WordPress dashboard. FTP or hosting file manager access on the new host.
- Time to complete: 90 minutes for sites under 1 GB. Add 30 minutes per extra gigabyte of media.
- Difficulty level: Intermediate. You touch
wp-config.phpand edit DNS records at the registrar. - Prerequisites: A new hosting account already purchased, plus UpdraftPlus Free installed on the old site.
Step 1: Back Up the Old Site with UpdraftPlus
Open the WordPress dashboard on the old host. Navigate to Plugins → Add New. Search for “UpdraftPlus” and install the free version published by UpdraftPlus.Com, DavidAnderson. Click Activate. Go to Settings → UpdraftPlus Backups. Click the blue Backup Now button. Tick all four checkboxes for database, plugins, themes, and uploads. Click the confirmation Backup Now button to start.
[SCREENSHOT: updraftplus-backup-now-checkboxes]
Wait for the backup to finish. The plugin shows a green progress bar at the top. Sites under 1 GB usually finish in 5 to 10 minutes. Download all five backup files to your local computer when the bar disappears. The five files end in -db, -plugins, -themes, -uploads, and -others.
Step 2: Install Fresh WordPress on the New Host
Log into the new hosting control panel. Find the one-click WordPress installer in the dashboard, often labeled Softaculous or WP Toolkit. Click Install WordPress. Pick a subdomain like staging.yourdomain.com or use the temporary URL provided by the new host. Set an admin username, strong password, and admin email. Click Install.
[SCREENSHOT: cpanel-softaculous-wordpress-install]
The installer creates a fresh WordPress install in 60 seconds. Log in to the new dashboard at the temporary URL. Navigate to Plugins → Add New. Install and activate UpdraftPlus on the new install. Both sites now run UpdraftPlus, which the next step requires for the restore handshake.
Step 3: Upload and Restore the Backup
Open UpdraftPlus on the new site at Settings → UpdraftPlus Backups. Click the Existing Backups tab. Click Upload backup files. Drag all five files from your computer into the upload zone. Wait for all uploads to finish, indicated by green checkmarks next to each file.
[SCREENSHOT: updraftplus-existing-backups-upload]
Click Restore next to the new backup row. Tick all five components: database, plugins, themes, uploads, and others. Click Restore again to start. The restore takes 5 to 20 minutes depending on site size. Log in to the new site after restore finishes to confirm posts, media, and settings transferred correctly.
Step 4: Update wp-config.php with New Database Credentials
Open your new hosting file manager. Navigate to the public_html folder. Find wp-config.php and click Edit. The new hosting installer set the correct DB credentials during install. UpdraftPlus restore overwrote them with the old host’s values. You need to update three lines back to the new host’s database credentials. Find these in the new host’s MySQL Databases panel.
[SCREENSHOT: wp-config-database-credentials]
Update these three lines in wp-config.php, near the top of the file:
define('DB_NAME', 'new_host_database_name');
define('DB_USER', 'new_host_db_username');
define('DB_PASSWORD', 'new_host_db_password');
What this does: Tells WordPress to connect to the new host’s MySQL database instead of the old host’s. Save the file. Reload the new site to confirm pages load. A “database connection error” means one credential is still wrong, so recheck the host panel.
Step 5: Switch Nameservers and Test Before Going Live
Log into your domain registrar (the company you bought the domain from, such as Namecheap or GoDaddy). Find the DNS or Nameservers panel for your domain. Replace the existing nameservers with the new host’s nameservers. The new host lists these in the welcome email or in the hosting control panel under DNS.
[SCREENSHOT: registrar-nameservers-update]
Save the change. DNS propagation takes 10 minutes to 48 hours, with 90% of users seeing the new site within 4 hours. Visit dnschecker.org and search your domain to confirm propagation status. Cancel the old hosting plan only after 72 hours of stable load on the new server with no errors logged.
Troubleshooting
Error: “Error establishing a database connection” appears after the restore.
Fix: Recheck the three credential lines in wp-config.php against the new host’s MySQL panel. Look for typos in the database name, user, or password.
Error: Images load broken with /wp-content/uploads/ paths showing 404.
Fix: Open the new host’s file manager and confirm /wp-content/uploads/ exists with restored subfolders. If empty, re-run the UpdraftPlus uploads-only restore from Step 3.
Error: Email stops working after the DNS switch.
Fix: Add MX, SPF, and DKIM records from your old email provider into the new host’s DNS panel. Email DNS migrates only when you copy these records over manually.
Error: Old site still shows for some visitors 24 hours later.
Fix: Their ISP’s DNS cache is stale. Ask them to flush their local DNS, or wait 48 hours for full propagation.
Quick Recap
- Backed up the old WordPress site using UpdraftPlus to download five archive files locally.
- Installed fresh WordPress on the new host using the one-click installer.
- Uploaded the five backup files and restored the full site on the new host.
- Updated
wp-config.phpwith the new host’s database credentials. - Switched nameservers at the registrar and verified propagation before retiring the old plan.
Pair this with the WordPress backup and restore tutorial. Official UpdraftPlus documentation lives at updraftplus.com/support.

