A migration is moving an existing website, its files, databases and often its email, from one host to another.
A website migration is the process of copying everything your site needs from your old hosting account to a new one, then switching visitors over. That usually means your website files, your MySQL databases, configuration such as .htaccess and cron jobs, and often your email accounts and messages.
For example, if your WordPress shop is slow on its current host, a migration would copy the WordPress files and database to the new server, check the shop works there, and then update your DNS so visitors reach the new copy.
How a website migration works
A careful migration follows roughly these steps:
- Take a full backup of files, databases and email on the old host.
- Copy everything to the new account, either with a full cPanel backup or by moving files over SFTP and exporting and importing the database.
- Update configuration, such as database usernames and passwords in your CMS config file.
- Test on the new server before going live, using a temporary URL or by editing your computer's hosts file.
- Switch DNS by changing your nameservers or A record to point at the new server.
- Keep the old account running for a few days while DNS changes spread, then cancel it.
Why website migrations go wrong
Most migration problems come down to a few causes:
- Missing files or tables because the copy was interrupted or the database export was incomplete.
- Wrong database credentials in the config file, causing an "error establishing a database connection" message.
- PHP version differences, where old code breaks on a newer PHP version.
- Email gaps, when MX records are changed before mailboxes exist on the new server.
- Cancelling the old host too early, before DNS has fully updated.
- Hard-coded URLs pointing at a temporary address left behind after testing.
How to migrate with little or no downtime
The trick is to have the new copy fully working before you touch DNS. Lowering the DNS TTL a day ahead makes the switch take effect faster. For shops and busy sites, a final sync of the database just before switching avoids losing orders placed during the move. This approach is often called a zero-downtime migration.
Doing a migration yourself vs a free migration service
Simple sites can be migrated with a plugin or a cPanel backup if you're comfortable with DNS. Larger sites, custom applications and email are easier to hand over. Many hosts now offer free migration: AblePage's engineers move your site for you on every plan.