Blog
HostingWordPress

Leaving Bluehost: A Practical Migration Walkthrough

Step-by-step guide to moving a WordPress site and email from Bluehost to TrueCore, covering export limits, DNS switch, and verification.

You have just received the cancellation notice from Bluehost and need the site up on TrueCore before the month ends. The clock is ticking, but a methodical approach keeps downtime short and data loss unlikely.

What You Need Before Starting

Give yourself a solid two-hour window for a typical WordPress site with a modest media library. Larger sites will need more time for uploads.

Exporting Data from Bluehost

WordPress Content

Bluehost's WordPress tools let you download an XML export directly from the admin area. Go to Tools → Export, choose "All content", and click Download Export File. The file contains posts, pages, comments, tags, and custom fields. It does not depend on the underlying MySQL database, so it works even if Bluehost caps the size of a direct database dump.

MySQL Database

If you prefer a full MySQL dump, open phpMyAdmin from the cPanel dashboard. Select the site database, click Export, and use the "Quick" method with SQL format. Bluehost imposes a maximum file size for a single export (often around 500 MB). When the dump exceeds that limit, break the export into individual table files or use the command-line tool:

mysqldump -h mysql.bluehost.com -u youruser -p yourdb > db.sql

You may need to run the command in a SSH session if Bluehost provides it. Split large tables with the --where flag if the single file approach fails.

Email Accounts

Bluehost stores email in a virtual mailbox system. There is no bulk export button, so you must pull messages out with an email client. Set up each address in Thunderbird using POP3, then use Tools → Export to save an MBOX file. For a small number of mailboxes this is quick; for many accounts you may script IMAP sync with mbsync.

DNS Records

Bluehost's DNS editor does not provide an export file. Open Domain → DNS and copy each record (A, CNAME, MX, TXT, SRV) into a text file. Note the TTL values - TrueCore will use its own defaults unless you specify otherwise.

Installing WordPress on TrueCore

Our WordPress installer uses SQLite, so you do not need to import the MySQL dump. Follow the same steps outlined in our _How to Migrate Your WordPress Site to TrueCore Hosting_ post:

  1. Log into the TrueCore customer portal and select Add-ons → WordPress.
  2. The installer pulls the latest WordPress core, adds the SQLite integration plugin, and creates a secure wp-config.php.
  3. When the install finishes, visit the temporary IP address (or add a hosts entry) to run the WordPress setup wizard.

The installer finishes in under a minute, and you have a fresh site ready to receive content.

Importing Content and Media

Return to the new WordPress admin, go to Tools → Import → WordPress, install the importer, and run it. Upload the XML file you exported from Bluehost and tick "Download and import file attachments". The importer will pull media from the old site, but it can miss files if Bluehost blocks direct access.

Copying the Uploads Folder

To guarantee all media arrive, use SFTP to download the wp-content/uploads/ directory from Bluehost and then rsync it to TrueCore:

rsync -avz --progress wp-content/uploads/ user@ember.truecorehosting.com:~/uploads/

After the transfer, move the folder into place on the TrueCore server:

mv ~/uploads/* ~/public_html/wp-content/uploads/

This step handles large libraries and preserves folder timestamps.

Migrating Email

Create the same mailbox names on TrueCore's Purelymail backend via the customer panel. Then use an email client to upload the MBOX files:

# Example using imapcopy (install via pip)
imapcopy --source imap://olduser:oldpass@imap.bluehost.com --dest imap://newuser:newpass@imap.truecorehosting.com --mailbox INBOX

Repeat for each mailbox. Verify that sent items and folders appear as expected.

Switching DNS and Testing

Temporary Hosts Entry

Before changing nameservers, add a line to your local hosts file so you can view the site on TrueCore while the old DNS still points to Bluehost:

159.195.31.27   yourdomain.com

Visit the site, test forms, checkout flows, and image loading. Remove the entry once you are satisfied.

Update Nameservers

Log into your registrar and replace the current Bluehost nameservers with the three TrueCore servers:

Propagation typically finishes within 1-2 hours, but allow up to 24 hours for cache refresh worldwide. Keep the Bluehost account active during this window; stray visitors will still reach the old site.

SSL Certificate

TrueCore automatically issues a Let's Encrypt certificate once the DNS points to our IPs. No manual steps are required. You can confirm the active certificate in the TrueCore portal under SSL → Manage.

Verification Checklist

If any item fails, revert the hosts entry, troubleshoot the specific component, and repeat the test. Once every check passes, you can cancel the Bluehost service without fear of missing data.

Clean Up

A disciplined walk-through keeps the migration painless, even when Bluehost's export tools impose limits. With TrueCore's straightforward installer, reliable SSH access, and transparent DNS management, you control every step and end up with a site that runs on the latest PHP 8.3 and PostgreSQL 16 stack.

Ready for hosting that doesn't oversell?

Get started from £10/mo More articles
Stay in the loop New posts, platform updates, and open chat — join the community.
Join Discord