Website migration checklist

Everything to check before, during and after moving a website to a new host, so nothing is forgotten and nothing breaks.

1–2 minutes
Desk with a monitor showing code and small plants

Most failed moves are not technical failures. Something was forgotten: an email account, a scheduled task, a DNS record. Work through this list in order.

A week before

  • List everything the old host does: websites, databases, email accounts, cron jobs, SSL certificates, FTP accounts.
  • Export a copy of every DNS record from your current DNS provider.
  • Check the new server runs the same major versions of PHP and the database, or newer versions your software supports.
  • Note any special server settings: upload limits, PHP extensions, redirects, rewrite rules.
  • Decide whether email moves too. If it does, read moving email first.

A day before

  • Lower the TTL on records you will change to 300 seconds.
  • Take a full backup of the old site and keep a copy off both servers.
  • Tell anyone editing the site about the content freeze.

Moving day

  • Copy files and databases to the new server. See moving WordPress.
  • Recreate cron jobs, email accounts and any other services.
  • Test the new server through your hosts file before changing DNS.
  • Check forms send email, logins work, and uploads succeed.
  • Switch DNS records to the new server.
  • Issue SSL certificates on the new server once DNS points to it.

The week after

  • Watch the old server for new comments, orders or form entries during propagation.
  • Check error logs on the new server for missing files and permission problems.
  • Confirm backups are running on the new host.
  • Raise DNS TTLs back to normal.
  • Take a final backup of the old account, then cancel it.

Something out of date? Software changes. If a step no longer works, tell us and we will check it and update the page.