Lower the TTL before you touch anything
If the current TTL is 24 hours, reduce it to 300 seconds at least a day in advance. This one step is the difference between a five-minute cutover and a two-day one. Verify the new TTL is actually being served before you begin.
Prepare the new server completely
Copy files, import the database, install the certificate and test the entire site through a temporary hosts-file entry. Do not discover a missing PHP extension after the DNS record has changed.
- Confirm PHP version, required extensions and file ownership.
- Import the database and verify the siteurl and home values.
- Test permalinks, uploads, contact forms and cron on the new host.
- Freeze writes on the old site or plan a final delta sync.
Cut over and watch
Update the A record, keep the old server running for at least 48 hours, and watch access logs on both machines. Once traffic has fully drained, raise the TTL back up and decommission the old instance.