Free, smooth migrations are one of the best ways for a reseller to win clients. A reseller client migration goes well when you collect the right details up front, copy everything while the old site stays live, test before switching DNS and keep both hosts running through propagation. This guide gives you a repeatable process.
Before you start
- A reseller plan with free capacity, and WHM access from MdmHost dashboard → Services.
- A hosting package that fits the client's disk, email and database needs.
- Written agreement from the client on the migration date and what is included.
Discovery: collect the details
Ask the client for, or find out:
- Old host control panel login (cPanel, Plesk, DirectAdmin or other).
- Domain registrar login and where DNS is hosted (registrar, old host, Cloudflare).
- All domains, subdomains and addon domains on the account.
- Email accounts, forwarders and whether mail is hosted there or with Google Workspace or Microsoft 365.
- Cron jobs, PHP version, special extensions, SSL certificates and any external services (payment webhooks, SMTP).
- The old hosting renewal date, so you do not migrate after it expires.
Choose the migration method
| Old host | Method |
|---|---|
| cPanel | Full cPanel backup restored by your host, or a WHM transfer if you have root-level access to both |
| Plesk / DirectAdmin | Your host's migration tools or a manual move of files, databases and mail |
| No panel access | Manual: download files by SFTP, export databases, recreate email and copy mail with IMAP |
For cPanel-to-cPanel moves, the client downloads a full backup from cPanel → Files → Backup, and the account can be restored on your server. Many upstream hosts, including MdmHost, can help with restores through a support ticket.
Step-by-step migration
- Lower the TTL of the domain's DNS records to 300 seconds at least 24 hours before cutover.
- Create or restore the account in WHM using the right package.
- Copy files, databases and email to the new account.
- Test before DNS changes: edit your computer's hosts file to point the domain at the new server's IP and check pages, logins, forms and checkout.
- Freeze changes on the old site during cutover (no new posts or orders), or plan a final database sync.
- Switch DNS: change nameservers to your private nameservers, or update A and MX records at the external DNS provider.
- Run AutoSSL once DNS points to the new server so HTTPS certificates are issued.
- Final email sync: copy any mail that arrived on the old server during propagation using IMAP migration.
Warning: Ask the client not to cancel the old hosting until at least 72 hours after the DNS switch and a final email check.
After the migration
- Check the site from several networks and confirm SSL is valid.
- Send test emails both ways and check SPF and DKIM for the new server.
- Recreate cron jobs and confirm scheduled tasks run.
- Set up backups and monitoring, and send the client their new login details and support contact.
- Raise the TTL back to a normal value after a few days.
Troubleshooting
- Database connection error: database name, user or password prefix changed on the new account. Update the site's config file.
- Email arrives on the old server: MX records or DNS cache still point there. Check the MX record and wait for TTL to expire.
- Mixed content or redirect loops: hard-coded URLs or old proxy settings. Search-replace URLs and check .htaccess rules.
Frequently asked questions
Should resellers charge for migrations?
Many offer free migrations for standard sites as a sales tool and charge for complex moves such as custom applications or many mailboxes.
Do I need to transfer the domain too?
No. Only DNS needs to point to your server. A registrar transfer can be done later if the client wants you to manage the domain.
How long does a migration take?
Copying usually takes minutes to hours; plan for one to two days including testing and DNS propagation.
