How to Migrate From cPanel to Plesk

Move a cPanel account to Plesk with the Plesk Migrator — sites, databases, mail, DNS — plus the manual method, what does not transfer, and pre-switch checks.

Published
Reading time
3 min

Moving from a cPanel host to a Plesk one is one of the most common migrations we do, and Plesk has a built-in tool for exactly it. Given SSH or a full cPanel backup, an account with its sites, databases and mailboxes comes across in an hour. Here is the tool, the manual fallback, and the things that need a human afterwards.

What transfers

  • Websites: files, document roots, subdomains, addon and parked domains.
  • Databases: MySQL databases and users.
  • Email: mailboxes with messages, forwarders, autoresponders.
  • DNS zones (as records to review, not to trust blindly).
  • SSL certificates, cron jobs, FTP accounts.

What does not

  • Passwords for mailboxes and databases are usually migrated as hashes, but some cPanel versions store them in a form Plesk cannot import; expect to reset some.
  • cPanel-specific things: .htaccess rules referencing cPanel paths, PHP handlers set via MultiPHP, Softaculous install records.
  • The public_html layout: cPanel uses /home/user/public_html; Plesk uses /var/www/vhosts/domain/httpdocs. Hard-coded paths in config files must be updated.

On the Plesk server:

  1. Tools & Settings → Updates → Add/Remove Components → install Plesk Migrator (or Extensions → Plesk Migrator).
  2. Open Migration & Transfer Manager → Start a New Migration.
  3. Source: cPanel. Enter the source server's IP and root SSH credentials, or, if you only have a cPanel user login, choose the option to upload a full cPanel backup (backup-*.tar.gz from Backup → Download a Full Account Backup).
  4. Choose the subscriptions/accounts to migrate and the target service plan.
  5. Click Migrate. The tool copies everything, converts the account, and produces a report listing anything it could not do.

Read the report. It names each mailbox whose password could not be converted, each database with issues, and each DNS record it changed.

Method 2: by hand

When the source host blocks SSH and the backup is enormous, or you only need one site:

  1. Files. Download public_html as a zip from cPanel's File Manager, or use rsync over SSH if available, into the domain's httpdocs in Plesk. Fix ownership: chown -R user:psacln httpdocs.
  2. Database. Export from cPanel's phpMyAdmin (or mysqldump), create a database and user in Plesk, import via phpMyAdmin or mysql < dump.sql, then update the application's config (wp-config.php etc.) with the new credentials.
  3. Email. Create the mailboxes in Plesk, then copy messages with imapsync from the old server to the new — the method in migrating email between hosts.
  4. DNS. Recreate any custom records (SPF includes for third-party senders, DKIM for Google Workspace, verification TXTs, subdomains pointed elsewhere) in Plesk's DNS Settings.

After the copy, before DNS

Test the site on the new server without touching DNS by editing your hosts file — the method in zero-downtime migration. Check specifically:

  • PHP version matches or is newer; the Plesk default may differ from cPanel's MultiPHP setting.
  • .htaccess works — Plesk's Apache honours it, but look for php_value lines (Plesk uses PHP-FPM; move those to PHP Settings) and hard-coded cPanel paths.
  • File permissions — 644/755, owner the subscription user.
  • Cron jobs recreated under Scheduled Tasks, with paths updated.
  • SSL issued on the new server via Let's Encrypt (DNS validation if the domain still points at the old host).
  • Mail sends and receives on the new server, with SPF/DKIM regenerated for the new IP.

The switch

Lower TTLs a day ahead, change the A/AAAA and MX records, watch with dig. Keep the cPanel account for a week, then cancel. Email is the thing most likely to need a second look: any mail delivered to the old server in the propagation window needs one more imapsync run.

Differences you will notice in Plesk

  • Sites are subscriptions; each has its own system user.
  • WordPress Toolkit replaces Softaculous for WordPress and does more (staging, smart updates, hardening).
  • PHP settings are per domain, and per-directory php_value moves to the panel.
  • Backups are under Backup & Restore per subscription, and can go to remote storage.
  • The tour of the panel covers where everything else went.

Every VPSPioneer plan includes this migration done by us: send the cPanel login or a full backup and we run the Migrator, do the checks above, and switch DNS with you. Details on the free migration page.

#migration#cpanel#plesk#hosting

Keep reading

More from Migration

All guides

Migration

How to Move a Website to a New Host Without Downtime

The zero-downtime migration sequence we use for every site — copy files and database, test with a hosts-file trick, lower the DNS TTL, then switch.

3 min read →

Plesk

Plesk for Beginners: A Tour of the Panel

Where everything is in Plesk — domains, files, databases, mail, DNS, SSL, PHP, backups, WordPress Toolkit — and what to click for the first ten jobs.

3 min read →

Plesk

How to Create Email Accounts in Plesk

Create mailboxes, aliases, forwarders and autoresponders in Plesk, set quotas and spam filtering, and find the settings your phone or Outlook needs.

3 min read →