Changing your web host can feel a lot like moving house. It’s exciting—you’re upgrading to a bigger, faster place with better views—but the actual process of packing up your boxes (files) and moving them across town (the internet) is terrifying.
What if I lose my emails? What if the site goes down? What if I break Google?
These are valid fears. But the truth is, website migration is a standard procedure. If you follow a structured checklist, it is almost impossible to get it wrong.
Whether you are leaving a slow budget host or upgrading to a high-performance VPS, this guide will walk you through the exact steps to move your WordPress site without losing a single file or suffering a minute of downtime.
Phase 1: The Preparation (Do Not Skip This)
Most migration disasters happen because people rush. Before you touch a single file, you need to prepare your environment.
1. Do NOT Cancel Your Old Hosting Account Yet
This is the golden rule. Your old “house” must remain standing until you are fully settled in the new one. Keep your old account active for at least 7 days after the move.
2. Purchase Your New Hosting
You need a destination. Sign up for your new hosting plan.
- Tip: Do not register a new domain. When signing up, choose the option “I already have a domain” and enter your current URL (e.g.,
mybusiness.co.uk).
3. Catalogue Your Details
Open a Notepad file and write down:
- Current Host Login: (e.g., cPanel, FTP).
- New Host Login: (e.g., Site Tools, hPanel).
- Domain Registrar Login: (e.g., GoDaddy, Namecheap) – this is often separate from your host.
- Email Accounts: List every email address you currently use (e.g.,
info@,support@). You will need to recreate these.
4. Take a Full Backup
Even if you plan to use a migration plugin, take a manual backup first.
- Log in to your old host.
- Download your
public_htmlfolder via FTP. - Export your database via phpMyAdmin.
- Keep these safe on your computer. This is your insurance policy.
Phase 2: The Migration (Choose Your Method)
There are two ways to move a website.
- Method A (The Easy Way): Using a Migration Plugin. (Recommended for beginners).
- Method B (The Manual Way): Moving files and databases yourself. (Better for large/complex sites).
Method A: The “Easy” Plugin Method
Most modern hosting companies know you hate migration, so they built tools to do it for you.
1. Use Your New Host’s Migrator Hosts like SiteGround and Cloudways have their own plugins.
- Install the plugin (e.g., “SiteGround Migrator”) on your OLD website.
- It will ask for a “Migration Token.”
- Go to your NEW hosting dashboard, find the “Migrator” tool, generate a token, and paste it into your old site.
- Click “Start Migration.” The plugin does the rest.
2. Use a Third-Party Plugin (All-in-One WP Migration) If your host doesn’t have a specific tool, use All-in-One WP Migration.
- On Old Site: Install the plugin -> Click Export -> File. Download the
.wpressfile. - On New Site: Install a fresh, blank copy of WordPress on your new host. Install the plugin -> Click Import -> Drag in your file.
- Note: The free version has a size limit (usually 512MB). If your site is bigger, you’ll need the paid version or Method B.
Method B: The Manual Method (For Pros)
If plugins fail, this method always works.
1. Download Your Files: Connect to your OLD host using an FTP program like FileZilla. Download everything inside public_html to a folder on your desktop.
2. Export Your Database: Log in to your old cPanel -> phpMyAdmin. Select your database -> Click Export -> Quick -> Go. You will get a .sql file.
3. Upload Files to New Host: Connect to your NEW host via FTP. Upload all your files into the empty public_html folder.
4. Create & Import Database
- On your NEW host, create a new Database and User (write down the password!).
- Open phpMyAdmin on the new host.
- Click Import -> Upload your
.sqlfile.
5. Edit wp-config.php Your files are now looking for the old database credentials. You need to update them.
- In FileZilla (new host), right-click
wp-config.php-> Edit. - Update
DB_NAME,DB_USER, andDB_PASSWORDwith the NEW details you just created. - Save and upload.
Phase 3: The “Secret” Step (Testing Before Switching)
At this point, your website exists on the new server, but the world doesn’t know it yet. If you type mybusiness.co.uk into your browser, you will still see the version on your old host because you haven’t changed the DNS.
How do you check if the migration worked?
The Hosts File Trick You can trick your own computer into thinking the domain has moved, while everyone else still sees the old site.
- Find Your New IP Address: Look in your new hosting dashboard for “Shared IP Address” (e.g.,
185.22.10.5). - Edit Your Hosts File:
- Windows: Open Notepad as Administrator. Open
C:\Windows\System32\drivers\etc\hosts. - Mac: Open Terminal. Type
sudo nano /etc/hosts.
- Windows: Open Notepad as Administrator. Open
- Add a Line: At the bottom, type:
185.22.10.5 mybusiness.co.uk. - Save.
Now, when you visit your website, your computer will bypass the internet phonebook and go straight to the new IP. Test everything. Does the login work? Do images load?
Note: Remember to delete this line from your hosts file once you are finished!
Phase 4: The Switch (Updating DNS)
Once you are 100% happy the new copy works, it’s time to flip the switch.
- Log in to your Domain Registrar (where you bought the domain).
- Find “Nameservers” or “DNS Management”.
- Replace the old nameservers (e.g.,
ns1.oldhost.com) with the new ones provided in your welcome email (e.g.,ns1.newhost.com). - Click Save.
The Propagation Period: DNS changes can take anywhere from 1 hour to 24 hours to spread across the world. During this time, some visitors will see the old site, and some will see the new one. This is normal. Do not make changes to your content during this window.
Phase 5: The Email Migration (The Tricky Part)
Files are easy. Email is hard. If your email was hosted with your old provider (e.g., info@mybusiness.co.uk), those emails sit on the old server. When you switch nameservers, your email will stop working instantly unless you plan ahead.
Option A: Recreate Accounts (Fresh Start)
- Log in to your NEW hosting panel.
- Create the exact same email accounts (e.g.,
info@mybusiness.co.uk). - Any new emails will arrive here once DNS propagates. Old emails will remain on the old server (you can access them via the old webmail IP/link).
Option B: Full Sync (IMAP Transfer) Use a tool like IMAPSync or a paid service. Alternatively, add both the old and new email accounts to Outlook/Thunderbird via IMAP. Drag and drop the emails from the old inbox folder to the new inbox folder. It’s manual, but effective.
Post-Migration Checklist
You’ve flipped the switch. The dust has settled. Run through these final checks:
- [ ] SSL Certificate: Ensure the padlock icon is visible. You might need to re-install the Let’s Encrypt certificate on the new host.
- [ ] Permalinks: Go to Settings -> Permalinks and click “Save Changes” to flush the rewrite rules (fixes 404 errors).
- [ ] Forms: Test your contact form. Does the email arrive?
- [ ] Speed Test: Run a test on GTMetrix. Is it faster? (It should be!)
- [ ] Cancel Old Host: Wait at least 7 days to ensure no issues arise. Then, finally, cancel that old plan.
Conclusion
Migration seems daunting because the stakes feel high. But in reality, it is just a copy-paste job. As long as you don’t delete the old site until the new one is working, you are completely safe.
You have now successfully moved house. Enjoy the view from your faster, better server!