Blog
HostingWordPress

How to Migrate From cPanel to TrueCore Without Downtime

Step-by-step guide to moving a site off cPanel, backing up files and databases, pushing them to TrueCore, and swapping DNS with low TTL. Includes time estimates for each TrueCore plan.

Your client just told you that their cPanel host is raising prices next month, and the website must be live on TrueCore by the end of the week. They can't afford a long outage because orders are coming in every minute. The challenge is simple: pull a full backup from cPanel, get it onto TrueCore, and point the domain over with almost no downtime.

Below is the process we use for every migration. It follows the same straightforward philosophy described in our post about why we built our own control panel, and it mirrors the WordPress migration guide that showed how easy a zero-downtime move can be.

Before You Begin

Gather these items first:

Give yourself 30 minutes for a small site on the Flameling plan, up to two hours for a large media-rich site on Inferno. TrueCore's backup interval (daily for Flameling, 30-minute for Inferno) does not affect the migration itself, but it shows the level of data protection you'll get after the move.

Step 1: Export Files and Databases from cPanel

1.1. Download the Website Files

Log in to cPanel and open File Manager. Select the public_html directory, click Compress, choose ZIP, and start the archive. When it finishes, download the ZIP file via the browser or via SFTP:

sftp user@oldhost.com
cd public_html
get -r . /local/path/public_html.zip

If the site uses a custom document root, adjust the path accordingly.

1.2. Export the Database

cPanel's phpMyAdmin is the simplest way. Open the database, click Export, choose the Quick method, and download the .sql file. For larger databases you can also use the command line:

mysqldump -u dbuser -p dbname > /local/path/dbname.sql

1.3. Record Email Accounts

Make a quick list of any email addresses you need to recreate on TrueCore. Purelymail, our mail backend, will accept new mailboxes via the panel; there is no automatic import.

Step 2: Prepare Your TrueCore Account

2.1. Choose the Right Plan

| Plan | Sites | Storage | DB | Backup interval | |-----------|-------|---------|---------|-----------------| | Flameling | 1 | 4 GB | SQLite | Daily (24 h) | | Ember | 3 | 40 GB | PostgreSQL 16 | 12-hourly | | Blaze | 10 | 60 GB | PostgreSQL 16 | 6-hourly | | Inferno | 20 | 200 GB | PostgreSQL 16 | 30-min |

If the site uses MySQL or MariaDB, you'll need to move to PostgreSQL 16. TrueCore provides a one-click Adminer installer for database work, and the site db create command can set up a fresh instance.

2.2. Create the Site in the Panel

Log into the TrueCore customer portal, click Add Site, and enter the domain name. The panel will:

The site appears in the Status tab within a minute.

2.3. Install the Required Application

If you are moving a WordPress site, use the WordPress one-click installer. It pulls the latest WordPress, adds the SQLite integration plugin, and configures wp-config.php. For other PHP applications, simply upload the files and create an .htaccess equivalent in nginx (the panel offers a Custom Nginx field for simple rewrites).

Step 3: Transfer Files and Database

3.1. Upload the Website Archive

From your workstation, push the ZIP file to the TrueCore node:

scp /local/path/public_html.zip user@ember.truecorehosting.com:~/sites/yourdomain.com/

When the upload finishes, SSH into the node and unpack:

ssh user@ember.truecorehosting.com
cd ~/sites/yourdomain.com
unzip public_html.zip
rm public_html.zip

The files now sit in the correct location. Permissions are automatically set by the flame-bubble isolation layer.

3.2. Import the Database

For MySQL → PostgreSQL conversion, use Adminer in the panel:

  1. Open the Adminer link for your site.
  2. Choose PostgreSQL as the target.
  3. Click Import and select the .sql file you exported.

Adminer will translate most statements automatically. Small sites typically finish in under five minutes. Large sites may need a manual tweak of indexes; the panel's Logs tab will show any errors.

If you prefer the command line, create a new PostgreSQL database and pipe the dump through pgloader:

pgloader mysql://dbuser:dbpass@oldhost.com/dbname postgresql://user:pass@localhost/newdb

pgloader is pre-installed on all TrueCore nodes.

3.3. Add Email Accounts

In the Email tab, click Add Mailbox, enter the address and password, and repeat for each account you listed. Purelymail handles SPF and DKIM automatically once the DNS records are in place.

Step 4: Test the Site Before DNS Switch

Edit your local hosts file to point the domain at the TrueCore node's IP. The node IP for the ember fleet is currently 159.195.31.27; you can confirm it in the Status tab.

159.195.31.27   yourdomain.com

Visit the site in a private browser window. Check:

If something looks wrong, you still have the old cPanel site live as a safety net.

Step 5: Reduce TTL and Switch Nameservers

5.1. Lower the TTL

Log into your current DNS provider and set the TTL for all records to 300 seconds (5 minutes). This step must happen at least two hours before the final cutover so that cached records expire quickly.

5.2. Change Nameservers

In the registrar dashboard, replace the existing nameservers with TrueCore's authoritative set:

Propagation usually settles within 1-2 hours thanks to the low TTL, but give it up to 4 hours before declaring the move complete.

Step 6: Verify SSL and Clean Up

TrueCore's flame-dnsd daemon sees the new DNS immediately. As soon as the domain resolves to our servers, an automatic SSL request is sent to Let's Encrypt. Within a few minutes the lock icon appears in the Status tab.

After confirming the site works over HTTPS:

What We Do For You

TrueCore's support team will:

We keep the process transparent and honest. If a step takes longer than expected—say the database conversion on Inferno exceeds the two-hour window—we'll let you know immediately and suggest a safe fallback.


By following these steps you can move off a legacy cPanel host with under ten minutes of real downtime, regardless of the plan size. The same disciplined approach that led us to replace cPanel with our own lightweight panel now helps you keep your site live and your customers happy.

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