Migrating WordPress and other CMS sites to WHC
WordPress, Joomla, Drupal — three ways to move a CMS site (plugin, manual, or we do it), with the gotchas specific to CMS migrations.
WordPress, Joomla, Drupal — three ways to move a CMS site (plugin, manual, or we do it), with the gotchas specific to CMS migrations.
CMS migrations are different from static site migrations because the CMS holds its content in a database, not in files. That means an extra step — moving the database — and a couple of common gotchas around URLs and serialised data.
The good news: WordPress (and to a slightly lesser extent Joomla and Drupal) have well-developed migration tooling. You have three good options.
| Method | Time | Complexity | Best for |
|---|---|---|---|
| Migration plugin | 30-60 min | Low | Standard sites under 2 GB |
| Manual export/import | 1-3 hours | Medium | Larger sites or non-standard setups |
| We do it for you | 1-2 hours active | Zero on your side | Any size, especially if you’re not technical |
The right choice depends on site size, your comfort with the technical bits, and whether you’ve consolidated everything with us (domain + DNS + hosting) so we can take the migration end-to-end.
For WordPress, the best plugins are:
The general flow with any of them:
Each plugin has slight variations. Read the plugin’s docs for the exact steps.
For non-WordPress CMSes or when plugins aren’t viable, the manual flow:
Files:
Database:
Configuration:
Update the CMS’s database config file with the new credentials:
wp-config.php — update DB_NAME, DB_USER, DB_PASSWORD, DB_HOST (usually localhost)configuration.php — update $user, $password, $db, $hostsites/default/settings.php — update the $databases arrayOpen a migration ticket in the billing portal. Tell us:
We do the file transfer, database move, URL update, and DNS switch. You test at the temporary URL before we cut over. Typically 1-2 hours of active work, finished same day in most cases.
This is the most reliable option, especially for non-technical site owners or for high-traffic sites where downtime is expensive.
These are the issues that trip people up specifically on CMS migrations.
WordPress (and most CMSes) store some URLs directly in the database — particularly in post content, theme settings, and serialised plugin data. After migration, those URLs still point at the old site.
The fix:
http://oldsite.com and replace with https://newsite.com. Tick the “dry run” box first to preview changes. Handles serialised data correctly (raw SQL find-and-replace doesn’t).wp-config.php site URL constantsIf WordPress is still trying to redirect to the old domain after migration, your wp-config.php might have these lines hardcoded:
define( 'WP_HOME', 'http://oldsite.com' );
define( 'WP_SITEURL', 'http://oldsite.com' );
Update or remove them. Without these constants, WordPress reads the URL from the database (which Better Search Replace updates).
Don’t copy the wp-config.php AUTH_KEY lines verbatim from the old site — they’re fine if you do, but for security best practice, regenerate at api.wordpress.org/secret-key/1.1/salt. All existing logged-in users will be logged out, which is what you want.
Premium plugins (Yoast, WooCommerce extensions, Elementor Pro, Gravity Forms) often have domain-based licensing. Reactivate them after migration. Most plugin vendors honour reactivations without making you buy a new licence.
Sometimes file permissions don’t transfer cleanly. If you see “could not establish FTP connection” errors when trying to install or update plugins/themes post-migration, fix permissions:
755644wp-config.php: 600 or 644Hosting panel → File Manager → right-click → Permissions, or via SFTP.
If your site has years of posts with embedded images, those <img> tags might reference the old domain. Better Search Replace covers this, but check after migration.
If you’re using a cache plugin (WP Super Cache, W3 Total Cache, WP Rocket), clear its cache after migration and reconfigure. Cached pages often hardcode the old domain.
If you’re migrating a WooCommerce store, also:
Stores with active orders mid-migration are the trickiest case — open a ticket and we’ll plan a maintenance window.
Once you’ve switched DNS and your CMS is running on WHC:
Let us know — or open a ticket if you're still stuck.
Step-by-step for moving a plain HTML site or a custom PHP application — without the WordPress-specific complications.
Step-by-step guide to moving your site, database, and email from your current host to WHC — with notes on what we can do for you.