Migrate from cPanel
Move your website from cPanel/shared hosting to OpenHost — manual and assisted migration paths with zero-downtime DNS cutover.
Moving from another host? This guide covers the full migration path — from cPanel, Plesk, or any traditional shared host to OpenHost. We also offer free assisted migration where we do it for you.
Choose your path
| Method | Best for | Effort | Downtime |
|---|---|---|---|
| Assisted (we do it) | Any site | Zero — just share access | None (we test on preview first) |
| Plugin migration | WordPress sites | Low | Minimal (5–15 min) |
| Manual migration | Custom PHP, Node.js, databases | Medium | Planned maintenance window |
Option 1: Assisted migration (recommended)
Order your plan
Pick a plan that matches your current resource usage (disk, traffic, PHP version). When in doubt, support can recommend based on your current host's stats.
Request migration
From the client area: Support → New ticket → Migration request. Or just tell the support chat "I want to migrate."
Share access
Provide one of:
- cPanel login URL + credentials
- A full backup archive (
.tar.gzfrom cPanel → Full Backup) - SFTP/SSH credentials to the old server
We only need read access — nothing is modified on your old host.
We migrate and test
Our team copies files, databases, emails, and cron jobs to your new OpenHost account. We test everything on a preview URL and let you verify.
You approve and flip DNS
Once you confirm the preview looks correct, update your domain's DNS to point to OpenHost. Your old host remains active until propagation completes (24–48 hours).
Option 2: WordPress plugin migration
Install migration plugin on old site
On your current WordPress site, install one of:
- All-in-One WP Migration (best for sites under 5 GB)
- Duplicator (good for larger sites)
- WP Migrate (selective sync)
Export
Run the export. For All-in-One WP Migration: Export → File. Download the
.wpressarchive.Create WordPress site on OpenHost
Control panel → Websites → Create website → WordPress. Use your domain or a preview hostname.
Import on OpenHost
Install the same migration plugin on the fresh WordPress. Upload and import the archive.
Verify
- Homepage loads correctly
- Admin login works
- Images display
- Forms send email (configure SMTP first)
- WooCommerce: test add-to-cart and checkout (sandbox mode)
Point DNS
Update A/CNAME records to OpenHost. SSL issues automatically once DNS resolves.
Option 3: Manual migration
For custom PHP apps, Node.js projects, or database-heavy sites.
Export database from old host
In cPanel: phpMyAdmin → your database → Export → Quick → SQL. Download the
.sqlfile.Or via SSH:
mysqldump -u username -p database_name > backup.sqlDownload files
Via cPanel File Manager: compress
public_htmland download. Or via SFTP/rsync:rsync -avz user@old-server:/home/user/public_html/ ./site-backup/Create site on OpenHost
Panel → Websites → Create website. Choose the matching template (PHP, Node.js, or empty).
Upload files
SFTP into your OpenHost account and upload to the document root. Or use the File Manager in the panel.
Import database
Panel → Databases → your database → Import (via web database manager). Or SFTP the
.sqland import via command line.Update configuration
Update your app's config file with new database credentials:
// WordPress wp-config.php example define('DB_NAME', 'new_db_name'); define('DB_USER', 'new_db_user'); define('DB_PASSWORD', 'new_password'); define('DB_HOST', 'localhost');Search-replace URLs (WordPress)
If the domain changes or you're switching from HTTP to HTTPS:
wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tablesOr install Better Search Replace plugin and run it from wp-admin.
Test on preview URL
Edit your computer's hosts file to point the domain to your new server's IP:
NEW.IP.ADDRESS yourdomain.com www.yourdomain.comVerify everything works before touching public DNS.
DNS cutover
- Lower TTL to 300 (24h before cutover)
- Update A/CNAME records
- Test from mobile data (bypasses your DNS cache)
- Keep old host running 48h as fallback
Zero-downtime strategy
For WooCommerce stores or high-traffic sites where downtime means lost revenue:
- Migrate and test fully on OpenHost (using preview URL or hosts file)
- Run final database sync during a brief maintenance window (5–15 min)
- Put old site in maintenance mode
- Export latest DB delta → import on OpenHost
- Switch DNS
- Disable maintenance mode on OpenHost
True zero-downtime is hard with dynamic sites (orders placed during cutover). Aim for minimal-downtime with a short, scheduled maintenance window.
Post-migration checklist
- Homepage and key pages load correctly
- Admin/login works
- Forms send email (configure SMTP)
- SSL shows clean padlock (no mixed content)
- Images and media display correctly
- WooCommerce: cart → checkout → payment works
- Cron jobs are recreated (scheduled posts, backups)
- DNS fully propagated (check dnschecker.org)
- Old host cancelled (after 7+ days of stable operation)
- Update Stripe/PayPal webhook URLs if domain changed
- Submit updated sitemap to search console
What about email?
If your old host handles email (cPanel → Email Accounts):
- Moving email to OpenHost: create matching mailboxes in the panel; update MX records
- Keeping external email (Gmail, Microsoft 365): just keep MX records pointing at your email provider when you change DNS
- Hybrid: web hosting on OpenHost, email stays at old provider — only change A records, leave MX alone
Troubleshooting
| Issue | Fix |
|---|---|
| 404 on all pages except homepage | Flush permalinks: Settings → Permalinks → Save |
| Broken images | Run URL search-replace; check file permissions on uploads |
| White screen (WSOD) | Check PHP version match; enable WP_DEBUG in wp-config |
| Database connection error | Verify credentials in config file; ensure DB user has correct permissions |
| Email not sending | Install and configure WP Mail SMTP (port 25 is blocked by design) |