Enhance has a built-in cPanel importer that takes a full cPanel account backup and rebuilds it as an Enhance website: files, databases, email and more. It does most of the heavy lifting, but not all of it. The importer is only one step in a migration, and the jobs around it (DNS, email cut-over and testing) are where moves usually go wrong.
This guide is for anyone moving off cPanel: site owners with one account, resellers with a handful of client sites, and hosts moving a whole server. We run all our hosting on Enhance, and this is the process we follow when we move customers across from cPanel.
If you’re still deciding whether to switch, read our Enhance vs cPanel comparison first.
How the Enhance cPanel importer works
The importer restores a full cPanel account backup (the .tar.gz file cPanel creates) into Enhance. According to Enhance’s documentation, it brings across:
- the primary website
- subdomains, add-on domains and parked domains
- files and databases (MySQL/MariaDB)
- installed applications
- email accounts, with their passwords and mail
- forwarder-only email accounts
- existing SSL certificates
- cron jobs and FTP accounts
- MX records, and TXT records for SPF
Two details matter before you start.
First, subdomains, add-on domains and parked domains become mapped domains within one website. They don’t become separate websites. If you had several unrelated sites as add-on domains in one cPanel account, they’ll share one Enhance website. Our guide to websites vs addon domains in Enhance explains why you might want to split them up later.
Second, DNS only comes across as MX and SPF records. Everything else in your DNS zone has to be recreated by hand. That’s the single biggest cause of problems after a cPanel to Enhance migration, so this guide spends time on it.
Enhance says the importer is compatible with full cPanel account backups made on cPanel versions 102 LTS, 104, 106 and 108. If your cPanel server runs a different version, check with your host or Enhance before relying on it.
What you need before you start
Work through this checklist before you take your backup:
- Access to cPanel on the old host, and to the Enhance control panel on the new one.
- Access to wherever your DNS is managed. That might be your old host, your domain registrar or a service such as Cloudflare. Find out which before you start.
- Enough disk space. cPanel needs room in your account to build the backup. Its documentation warns that a backup can fail if the account is near or over its quota.
- No clashing domains in Enhance. If any domain you’re importing already exists in your Enhance account, the import is blocked. Delete it from Enhance first.
- A note of anything the importer doesn’t move. See the table below and write down your settings for each one while cPanel is still running.
- A copy of your DNS zone. Export it or screenshot every record.
- A quiet time for the switch. Pick a time when traffic and email are low.
Step 1: Lower your DNS TTLs
TTL (time to live) is how long other servers cache your DNS records. If your A and MX records have a TTL of several hours, some visitors and mail servers will keep using the old server for hours after you switch.
At least a day before the move, lower the TTL on the records you’ll change (usually the A records for the domain and www, and the MX records) to around 300 seconds (five minutes). The change only takes full effect once the old TTL has run out, so do this early.
You can raise TTLs again once the move is finished.
Step 2: Take a full cPanel backup
In cPanel, open Backup (in the Files section) and click Download a Full Account Backup. On the Generate a Full Backup screen:
- Set Backup Destination to Home Directory.
- Add an email address to be told when it’s ready, if you like.
- Click Generate Backup.
When it’s finished, the file appears in the Backups Available for Download list. Download it to your computer. For a large account this can take a while, so make sure you have the space locally too.
Make sure it’s a full backup. The partial home directory or database downloads on the same page won’t work with the importer.
Step 3: Run the Enhance cPanel importer
In Enhance, following Enhance’s importer steps:
- Open Website importer in the left sidebar.
- Click New import, then choose cPanel.
- Click Next step and choose your backup file.
- Click Next step again.
- Review the page for conflicts. Anything blocking the import is highlighted in a red box.
- Click Import now.
Your old site stays live on cPanel the whole time. Nothing changes for visitors until you change DNS.
If you see “Create migration: unable to analyse backup”, Enhance’s troubleshooting page gives two causes: not enough disk space on the control panel server to store and unpack the backup, or a backup file that the orchd user can’t read. The second one applies when an admin has copied the backup onto the server by hand.
Moving large accounts or whole servers
The upload route works one account at a time. Enhance’s cPanel migration page also describes importing a backup as root for larger accounts, with no size limit, and a mass migration option that uses root credentials to stream backups from a cPanel server to an Enhance cluster. Those are admin-level tools. The step-by-step docs only cover the upload route, so speak to Enhance (or us) before planning a server-wide move around them.
What the importer doesn’t move
Enhance lists these as not supported. Note each one down in cPanel before you switch, then set it up again on Enhance.
| Not moved | What to do |
|---|---|
| DNS records other than MX and SPF | Recreate A, AAAA, CNAME, SRV, CAA, DKIM, DMARC and verification TXT records by hand |
| Catch-all email addresses | Note where unrouted mail went in cPanel, then set it up again |
| Autoresponders | Copy the message text and dates before you switch |
| Calendars and contacts | Export them from your calendar or email app, then import them on the new mailbox |
| Mailman mailing lists | Export the member lists and settings first |
| PostgreSQL databases | Dump them from cPanel and restore them by hand, or ask your host |
| Wildcard subdomains | Add the subdomains you actually use, or plan another way to handle them |
| Directory privacy | Check those folders on Enhance and protect them again before you go live. Don’t assume they’re still private. |
| Custom error pages | Set them up again |
| Existing statistics | Download any reports you want to keep. History doesn’t come across. |
Step 4: Recreate your DNS records
This is the step most people miss. Go through the copy of your old DNS zone, record by record, and add anything that isn’t MX or SPF.
Things to look for:
- A and AAAA records for the domain,
wwwand any subdomains, pointing to your new server’s IP address. - CNAME records, for example for a CDN, a shop platform or email marketing tools.
- Hostnames your MX records point to. If your MX record points to something like
mail.example.com, that name needs its own record too, or mail won’t be delivered. - TXT records for Google, Microsoft 365 and other site verifications, and for DMARC.
- DKIM. Your old DKIM record matches the old mail server’s key. Don’t copy it across. Publish the DKIM record your new mail server gives you.
- SPF. The importer brings your SPF record across as it was, so it may still name the old server. Check that it allows your new mail server.
- SRV and CAA records, if you had any.
If your DNS is hosted somewhere other than your old cPanel server, such as Cloudflare or your registrar, you don’t need to rebuild the zone. You only need to change the records that point at the old server, in Step 6.
Step 5: Test the site before switching DNS
Test the new copy before anyone else sees it. The easiest way is a hosts-file override: you tell your own computer to use the new server for your domain, while everyone else still sees the old one.
Add a line like this to your hosts file, using your new server’s IP address:
203.0.113.10 example.com www.example.com
On macOS and Linux the file is /etc/hosts. On Windows it’s C:\Windows\System32\drivers\etc\hosts; open Notepad as an administrator to edit it. You may need to restart your browser for the change to take effect.
Then check:
- the home page and a few inner pages
- logging in to WordPress or your site’s admin area
- forms, checkout and anything else that sends email
- images and downloads
- that HTTPS works without warnings (the importer brings existing SSL certificates across)
Remove the line when you’ve finished. If you forget, you’ll keep seeing the new server and could miss problems that other visitors have.
Step 6: Switch DNS or nameservers
When you’re happy, point the domain at Enhance. There are two ways:
- Change your nameservers at your registrar to your new host’s nameservers. The whole zone then comes from Enhance, so Step 4 must be complete.
- Keep your current DNS and change the A records (and MX records, if email is moving) to the new server.
Because you lowered the TTLs in Step 1, most visitors should reach the new server within minutes of a record change. Nameserver changes can take longer, because the registry has its own caching.
Cutting over email without losing messages
Email needs extra care, because mail keeps arriving at the old server until the MX change has spread.
- Take the backup as late as you can. Mail that arrives on cPanel after the backup isn’t in the import.
- Switch MX at a quiet time, after you’ve lowered the TTL.
- Keep the old account for a few days. Log in to the old webmail and check for messages that arrived during the switch. Forward or copy anything important.
- Update email apps if needed. Passwords come across, but if people’s phones and laptops use server names that have changed, update them.
After the move
Once DNS has switched and everything works:
- Check the PHP version of each site matches what it used on cPanel, or test it on a newer one.
- Check cron jobs. They come across, but any script that uses a hard-coded path from the old server may need updating.
- Check SSL renewal. An imported certificate keeps working until it expires. Make sure each domain has a certificate that will renew on Enhance.
- Check backups are running on the new host.
- Raise your TTLs back to normal.
- Cancel the old hosting after a week or two, once you’re sure nothing still depends on it. Keep a copy of the backup file.
Common gotchas
- The site works but email doesn’t. Usually a missing record for the hostname your MX points to, or an SPF record that still names the old server.
- A third-party service has stopped working. A CNAME or verification TXT record didn’t come across.
- The import is blocked. A domain in the backup already exists in Enhance.
- The backup fails in cPanel. The account is close to its disk quota. Clear old backups or logs and try again.
- Some visitors still see the old site. Their DNS cache hasn’t expired yet. This is why you lower TTLs first.
Questions
Does the Enhance cPanel importer move email?
Yes. It moves email accounts with their passwords and mail, plus forwarder-only accounts. It doesn’t move catch-all addresses, autoresponders, or calendars and contacts.
Will my website go offline during a cPanel to Enhance migration?
No. Your site stays live on cPanel until you change DNS, and after a short overlap visitors move across to Enhance.
Can I import a whole WHM server at once?
The documented importer works with one full account backup at a time. Enhance’s migration page also describes mass migration using root credentials, which is a tool for whoever runs the Enhance cluster.
Which cPanel versions does the importer support?
Enhance lists full account backups from cPanel 102 LTS, 104, 106 and 108.
What happens to my add-on domains?
They come across as mapped domains within one Enhance website, along with subdomains and parked domains.
Let us do the move for you
If you’d rather not do this yourself, we can do it for you.
Moving to SharedGrid hosting? We do the whole move for you, free, including the DNS and email cut-over. Your site stays live at your old host until the new copy is tested and working. See how our free website migration works, or browse our Enhance hosting plans.
Running your own Enhance servers? Our Enhance server management team can migrate your customers off cPanel for you, then look after the cluster afterwards.
Checked against Enhance docs, November 2026. Enhance updates the importer from time to time, so check Enhance’s cPanel importer page for the latest list.



