Build an inventory
List every domain, subdomain, application, database, scheduled task, storage path, mailbox and integration. Include software versions and extensions.
Verify access
Confirm access to the current panel, SSH or file transfer, database export, DNS provider and registrar. Never send passwords through the public enquiry form.
Create independent backups
Take a complete file and database backup, verify integrity and store a copy outside both servers. Media libraries still belong in the inventory.
Check compatibility
Compare runtime versions, database engine, extensions, rewrite rules, jobs and filesystem permissions. WordPress, custom PHP and Node applications have different requirements.
Plan DNS and email
Lower relevant TTL values before the window. Record the complete DNS zone. Treat mailbox migration separately and preserve MX, SPF, DKIM and DMARC.
Define launch tests
- Critical pages and logins
- Forms and checkout
- Database writes and uploads
- Scheduled jobs
- TLS and redirects
- Email sending and receipt
Establish rollback
Keep the source available until the destination passes checks. Define who can authorize cutover and how long the source remains available.
