Site and mail migration

Moving sites and mail between servers is routine work for hosts and agencies, and most migrations fail in the same few places: DNS changes that take longer than expected, mail that arrives on the old server after the switch, and file permissions or PHP versions that differ between old and new.

The tools here cover the common cases. WordPress plugins and services such as All-in-One WP Migration, Duplicator and Migrate Guru package the files and database of a site and restore them on a new host, adjusting URLs as they go. For general servers, rsync copies files and keeps them in sync until the moment you switch, sending only what changed. For mail, imapsync copies mailboxes between IMAP servers, folder by folder, and can run again to pick up new messages.

A calm migration follows the same order. Lower DNS TTLs a day or two ahead. Copy everything once, then test the site on the new server through a hosts-file entry or a temporary URL. Freeze changes, run a final sync of files, databases and mail, switch DNS, and keep the old server running until traffic and mail have moved.

Control panels add their own transfer tools for moving accounts between servers that run the same panel, which is often the easiest route. Check that the panel versions are compatible before you start, because an older source server can be the reason a transfer fails. Moving between different panels needs more care, because each stores mail, databases and settings its own way.

5 hosting ops tools in site and mail migration

All-in-One WP Migration

by ServMask

WordPress plugin that exports a whole site, files and database, as one file and imports it on another server.

  • Free plan or free to use
  • Built for WordPress sites

Migrate Guru

by BlogVault

Free WordPress migration service that copies large sites between hosts, doing the heavy lifting on its own servers.

  • Free plan or free to use
  • Built for WordPress sites

Duplicator

WordPress plugin that packages a site into an installer and archive for moving, cloning or backing it up.

  • Free plan or free to use
  • Built for WordPress sites

rsync

by Samba project

Long-standing open-source tool for copying and syncing files between servers, sending only the parts that changed.

  • Free plan or free to use
  • Open source
  • Runs on your own server

imapsync

Command-line tool that copies mailboxes between IMAP servers, often used when moving email to a new host.

  • Open source
  • Runs on your own server

AI assistants help with the scripting around a migration: writing rsync commands with the right excludes, checking a list of DNS records against the new server, or drafting a customer notice about the change window. As with any command, read what the assistant writes before running it against live data.

For hosts moving many accounts at once, plan in batches, keep a sheet of each account's status, and tell customers what will change for them, such as new name servers, new mail settings or a new IP address for their firewall rules.

After the switch, watch error logs and mail queues on both servers for a few days, and only cancel the old server once backups of the new one have run and been checked.

Keep a written checklist for every migration, even small ones: DNS records, mail settings, cron jobs, SSL certificates, redirects and any firewall rules the customer has. Most missed steps come from the things nobody thought to write down the first time.

Questions about site and mail migration

How do I avoid losing email during a migration?

Lower the MX record TTL in advance, sync mailboxes with a tool such as imapsync before the switch, run a final sync after DNS changes, and keep the old server accepting mail for a few days while the change spreads.

Can I migrate a WordPress site without downtime?

Usually close to it. Copy the site, test it on the new host through a hosts-file entry, then freeze edits briefly while you run a final sync and switch DNS. Shops and membership sites need a short freeze on orders and sign-ups.

Why does a migrated site look broken on the new server?

Common causes are a different PHP version, missing PHP extensions, file permissions, hard-coded URLs or paths, and caching that still points at the old server. Check the error log on the new server first.

Is rsync safe to run against a live site?

Yes for copying files, as long as you know the direction. A reversed source and target, or a delete option in the wrong place, can wipe data, so run it once with a dry-run option and read the output.

Related categories