Shared hosting works fine until it does not. When your site starts slowing down under traffic, when you need custom software, or when security incidents on neighbouring sites affect yours, it is time to move to a VPS. This guide explains the migration process in plain terms.
Before You Start
A VPS migration requires either technical knowledge or a developer who can manage it. If you are not comfortable with Linux server administration, hire someone for this — a botched migration can result in hours of downtime. The migration itself typically costs £100–300 when done by a professional.
Step 1: Choose and Configure Your VPS
Popular VPS providers for small-medium businesses: DigitalOcean, Linode (Akamai Cloud), Vultr, Hetzner (best value in Europe). Choose a plan with at least 2GB RAM for a WordPress site with moderate traffic.
Install a control panel to make management easier. Options: aaPanel (free, excellent for PHP sites), Plesk, or cPanel (paid). aaPanel is recommended for most small business sites — it is free and includes Nginx, PHP, MySQL, and SSL management.
Step 2: Set Up the Server Environment
- Install the web server (Nginx recommended over Apache for performance)
- Install the correct PHP version — must match what your current site uses
- Install MySQL or MariaDB
- Configure PHP settings: memory_limit, upload_max_filesize, max_execution_time
- Install SSL certificate via Let's Encrypt (free)
- Set up automated daily backups
Step 3: Back Up Your Existing Site Completely
- Export the full WordPress database from phpMyAdmin (or use WP Migrate DB plugin)
- Download all files via FTP — including wp-content, plugins, themes, and uploads
- Note your current PHP version, active plugins, and any custom wp-config.php settings
Step 4: Set Up the Site on the VPS
- Create the website in aaPanel/control panel with the correct domain
- Upload all WordPress files via SFTP to the new server
- Create a new database and import your SQL export
- Update wp-config.php with the new database name, user, and password
- Update the site URL in the database if the temporary domain is different
- Install and configure SSL certificate
Step 5: Test Before Changing DNS
Before pointing your domain to the new server, test the site using your hosts file (on your local machine). Add this line to /etc/hosts (Mac/Linux) or C:\Windows\System32\drivers\etc\hosts (Windows): your-vps-ip your-domain.com. Now browse to your domain — you will see the new server's version. Test everything: forms, checkout, logins, all pages.
Step 6: Change DNS — Minimising Downtime
- Reduce your domain's TTL to 300 seconds (5 minutes) 24 hours before migration — this makes DNS changes propagate faster
- At the chosen migration time (low traffic period — 2-4 AM), update your domain's A record to point to the new VPS IP
- Keep the old hosting active for 48 hours after migration as a fallback
- DNS propagation typically takes 15 minutes to 4 hours — monitor both servers during this period
Step 7: Post-Migration Checks
- Confirm SSL is working correctly on the new server
- Run PageSpeed Insights — verify the new server is faster
- Check all forms are sending email correctly (email configuration is often different on VPS)
- Monitor error logs for the first 48 hours
- Update your backup configuration to point to the new server
Related Reading
- cPanel vs VPS Hosting — understand the difference before migrating
- 5 Signs Your Server Needs Immediate Attention — know when migration is urgent
Need Your Site Migrated to a VPS?
NextCode Solutions handles VPS migrations with zero-downtime processes. We set up the server, migrate your site, test everything, and manage the DNS cutover.
Get a Migration Quote