Last Updated: May 08, 2026
If your WordPress site has outgrown shared hosting — plagued by slow load times, resource limits, or frequent downtime — migrating to a VPS (Virtual Private Server) is the smartest move you can make in 2026. This step-by-step guide walks you through how to migrate WordPress from shared hosting to VPS without losing data, breaking your site, or suffering unnecessary downtime.
By the end of this guide, you’ll have a faster, more scalable WordPress site running on a VPS. We’ll also highlight the best VPS providers — including Vultr, DigitalOcean, and Cloudways — so you can pick the right platform for your needs.
Why Migrate WordPress from Shared Hosting to VPS?
Shared hosting keeps many websites on a single server, meaning you share CPU, RAM, and bandwidth with hundreds of other users. When traffic spikes or a neighbor’s site hogs resources, your site suffers.
A VPS gives you dedicated virtualized resources — your own slice of a physical server. Benefits include:
- Faster load times – dedicated RAM and CPU mean no resource contention
- Greater control – root access lets you install custom software and fine-tune server settings
- Better security – isolated environment reduces exposure to other users’ vulnerabilities
- Scalability – upgrade resources on demand without migrating again
- Cost-effectiveness – VPS plans from Vultr start at just $6/month
Choosing the Right VPS for WordPress Migration
Before migrating WordPress from shared hosting to VPS, choose your destination server carefully. Here are the top VPS providers in 2026:
| Provider | Starting Price | RAM | Storage | Best For |
|---|---|---|---|---|
| Vultr | $6/mo | 1 GB | 25 GB SSD | Developers, global CDN |
| DigitalOcean | $6/mo | 1 GB | 25 GB SSD | Developers, app hosting |
| Cloudways | $14/mo | 1 GB | 25 GB SSD | Managed WordPress, no CLI needed |
| Hostinger VPS | $5.99/mo | 4 GB | 50 GB NVMe | Beginners, budget VPS |
| Liquid Web | $25/mo | 2 GB | 40 GB SSD | High-traffic, managed VPS |
Recommendation: For beginners who want managed simplicity, use Cloudways. For developers who want raw control at the lowest price, Vultr or DigitalOcean are excellent choices.
Step-by-Step: How to Migrate WordPress from Shared Hosting to VPS
Step 1: Back Up Your WordPress Site
Before doing anything else, create a full backup. Use a plugin like UpdraftPlus or All-in-One WP Migration to export:
- Your WordPress database (MySQL)
- All WordPress files (wp-content, wp-admin, wp-includes)
- Your wp-config.php file
Store backups both locally and in cloud storage (Google Drive, Dropbox, or S3).
Step 2: Set Up Your VPS Server
Spin up a new VPS instance on Vultr or your preferred provider. Choose:
- OS: Ubuntu 22.04 LTS (recommended)
- Plan: At minimum 1 GB RAM for small sites; 2 GB for medium traffic
- Region: Closest to your primary audience
Once your VPS is live, connect via SSH: ssh root@YOUR_VPS_IP
Step 3: Install a LEMP or LAMP Stack
You need a web server, PHP, and MySQL. The popular choice is a LEMP stack (Linux, Nginx, MySQL, PHP):
apt update && apt upgrade -y
apt install nginx mysql-server php8.2-fpm php8.2-mysql php8.2-xml php8.2-curl php8.2-mbstring -y
If you prefer Apache (LAMP), replace Nginx with Apache2. Either works well for WordPress.
Alternatively, if you’re using Cloudways, all stack setup is handled automatically through their control panel — no CLI needed.
Step 4: Create a MySQL Database and User
Log into MySQL and create a fresh database for your migrated WordPress site:
mysql -u root -p
CREATE DATABASE wordpress_db;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 5: Transfer WordPress Files to VPS
Use SCP or SFTP to upload your backed-up WordPress files to the VPS:
scp -r /local/backup/wordpress root@YOUR_VPS_IP:/var/www/html/
Set proper file permissions after transfer:
chown -R www-data:www-data /var/www/html/wordpress
find /var/www/html/wordpress -type d -exec chmod 755 {} \;
find /var/www/html/wordpress -type f -exec chmod 644 {} \;
Step 6: Import the WordPress Database
Upload your SQL backup and import it:
mysql -u wp_user -p wordpress_db < wordpress_backup.sql
Step 7: Update wp-config.php
Edit your wp-config.php to reflect the new database credentials on your VPS:
define('DB_NAME', 'wordpress_db');
define('DB_USER', 'wp_user');
define('DB_PASSWORD', 'strong_password');
define('DB_HOST', 'localhost');
Step 8: Configure Nginx (or Apache) Virtual Host
Create a server block for your domain:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/html/wordpress;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Enable the config and reload Nginx: nginx -t && systemctl reload nginx
Step 9: Install SSL Certificate (Free with Let’s Encrypt)
apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourdomain.com -d www.yourdomain.com
Step 10: Test, Then Update DNS
Before changing DNS, test your VPS WordPress site by editing your local /etc/hosts file to point your domain to the VPS IP. Once everything looks perfect, update your domain’s A record to point to your new VPS IP. DNS propagation takes 1–48 hours.
Common Migration Issues and Fixes
- 500 Internal Server Error — Check file permissions and Nginx/Apache error logs
- Database connection error — Verify wp-config.php credentials match your new database
- Images not loading — Confirm wp-content/uploads folder was transferred completely
- Redirect loops — Add
define('FORCE_SSL_ADMIN', true);to wp-config.php after SSL setup - Slow PHP — Tune PHP-FPM pool settings and enable OPcache
Best Managed WordPress VPS Options (No CLI Needed)
If command-line server management sounds overwhelming, consider managed VPS solutions:
- Cloudways — 1-click WordPress migration tool, auto-patching, built-in caching
- Kinsta — premium managed WordPress on Google Cloud, easiest migration
- WP Engine — enterprise-grade managed WordPress with free migration service
Ready to Migrate? Start with the Best VPS Today
Migrating WordPress from shared hosting to a VPS is one of the best investments you can make for your site’s performance and reliability. Whether you go the DIY route with Vultr or choose a managed solution like Cloudways, the performance gains are immediate and significant.
👉 Get started with Vultr — plans from $6/month with 100GB free bandwidth.
👉 Or try Cloudways free for 3 days — no credit card required.
Frequently Asked Questions
How long does it take to migrate WordPress from shared hosting to VPS?
The actual migration process takes 1–3 hours for most sites. DNS propagation can take an additional 24–48 hours. Total downtime, if done correctly, is near zero.
Do I need technical skills to migrate to a VPS?
For unmanaged VPS (Vultr, DigitalOcean), basic Linux command-line skills are helpful. For managed VPS platforms like Cloudways, no technical skills are needed — everything is GUI-based.
Will I lose SEO rankings when I migrate?
If done correctly (same domain, same URLs, proper 301 redirects if needed), you will not lose SEO rankings. In fact, faster VPS load times often improve rankings.
What’s the cheapest VPS for WordPress in 2026?
Hostinger VPS offers the best value at $5.99/month with 4GB RAM and 50GB NVMe SSD. Vultr and DigitalOcean both start at $6/month.
Can I use cPanel on a VPS?
Yes. You can install cPanel/WHM on most VPS servers. However, cPanel has a licensing fee (~$20/month). Alternatives like CyberPanel or Plesk are more affordable.
What’s the difference between VPS and managed WordPress hosting?
A VPS gives you a server you manage yourself. Managed WordPress hosting (like WP Engine or Kinsta) handles all server management, updates, and security for you at a higher price.