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
- SSH key for your TrueCore account (you will connect to ember.truecorehosting.com)
- Access to the Bluehost cPanel dashboard
- Domain registrar credentials for nameserver changes
- A local copy of the site folder (optional but useful for large media)
- An email client that can export mail via POP3 or IMAP (Thunderbird works well)
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:
- Log into the TrueCore customer portal and select Add-ons → WordPress.
- The installer pulls the latest WordPress core, adds the SQLite integration plugin, and creates a secure
wp-config.php. - 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:
ember.truecorehosting.comlitespeed.truecorehosting.comspark.truecorehosting.com
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
- [ ] Home page loads over HTTPS without mixed-content warnings.
- [ ] All internal links point to the new domain (no stray
bluehost.comURLs). - [ ] Media library shows the same number of items as the original site.
- [ ] Form submissions (contact, newsletter) reach the configured email addresses.
- [ ] Email clients can send and receive for every migrated mailbox.
- [ ] DNS records (MX, TXT for SPF/DKIM) match the values you copied from Bluehost.
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
- Delete the temporary hosts entry from your computer.
- Remove any leftover
uploadsfolders from your home directory on ember.truecorehosting.com. - Close the Bluehost account after confirming all billing cycles are completed.
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.