
A VPS migration checklist keeps a small WordPress move from turning into a guessing game. The work is not just copying files. You need a backup, a database export, a DNS plan, SSL, redirects, a rollback point, and a verification pass after traffic moves.
This guide is for solo site owners, small teams, and operators moving a low-to-medium traffic WordPress site from shared hosting, another VPS, or a temporary server.
Key Takeaways
- Take a full backup before touching DNS or production files.
- Lower DNS TTL before migration day if you control the zone.
- Move files and database separately, then verify the site before switching traffic.
- Keep the old server available until analytics, forms, SSL, and cron jobs are confirmed.
Pre-Migration Inventory
Start by listing what the site actually uses. Record the domain, DNS provider, current IP address, PHP version, WordPress version, database name, active theme, active plugins, upload size, email handling, cron jobs, redirects, and caching layer. This inventory prevents surprises after the move.
Also note anything that is not obvious from WordPress itself. Examples include server-level redirects, custom Nginx rules, Cloudflare settings, object cache, SMTP credentials, and backup scripts. If the old host has a control panel, take screenshots of DNS, PHP, cron, and email settings.
Create a Real Rollback Backup
Export the database and copy the full WordPress directory before migration. A good rollback backup includes the database, wp-content/uploads, wp-content/themes, wp-content/plugins, wp-config.php, and any server configuration needed to reproduce the site.
Store the backup somewhere separate from the server being changed. A local machine, object storage bucket, or backup VPS is better than only keeping a file inside the same account. Test that the database dump is readable before moving on.
Prepare the New VPS
Install the web server, PHP runtime, database server, SSL tooling, and WP-CLI before importing the site. Match PHP extensions used by the current site. WordPress commonly needs mysqli, curl, mbstring, xml, zip, gd or imagick, and openssl.
Create the site directory, database, database user, and server block. Do not point public traffic yet. If possible, test the new site through a hosts file entry or temporary domain so you can inspect it before DNS changes.
Transfer Files and Database
Use rsync or a similar tool for files so permissions and incremental changes are easier to manage. Exclude cache folders when they are safe to regenerate. Import the database on the new server, update wp-config.php, and check that WordPress can connect.
If the domain changes, run a proper search-replace for URLs using WP-CLI instead of editing SQL by hand. Serialized data inside WordPress can break if URLs are replaced with a plain text editor.
DNS and SSL Cutover
Before migration day, lower the DNS TTL to something like 300 seconds if your provider supports it. When the new server is ready, point the A record to the new IP address. Then issue or renew the SSL certificate for the live domain.
After DNS changes, check both www and non-www versions, HTTP to HTTPS redirects, canonical behavior, and admin login. If Cloudflare or another proxy is in front, confirm that the SSL mode matches the origin certificate setup.
Post-Migration Verification
- Open the homepage, several posts, category pages, and wp-admin.
- Upload a small media file to confirm filesystem permissions.
- Submit a contact form or test email path if the site uses one.
- Check sitemap, robots.txt, canonical URLs, and redirects.
- Review web server error logs for PHP warnings or 404 patterns.
- Run a backup on the new server and confirm it completes.
Rollback Plan
A rollback plan should be written before the cutover. The simplest rollback is to point DNS back to the old server while the old files and database are still intact. This only works cleanly if no important writes happened on the new server after the switch.
For sites with comments, orders, memberships, or frequent form submissions, plan a maintenance window or a content freeze. Otherwise, you risk splitting new data between two servers.
FAQ
How long should I keep the old server after migration?
Keep it for at least several days. For important sites, keep it through one full backup cycle and one normal traffic cycle.
Do I need to move email during a WordPress migration?
Only if email is hosted on the same provider or DNS zone changes affect mail records. Check MX, SPF, DKIM, and DMARC records before changing nameservers.
Should I change nameservers or only the A record?
Changing only the A record is usually less risky if the DNS provider is already working. Changing nameservers moves the whole DNS zone and requires more careful record review.
Final Check
A small WordPress VPS migration is successful when users see the same site, admins can work normally, SSL is clean, backups run, and rollback remains possible. Treat the migration as a controlled release, not a quick file copy.
