How to Migrate WordPress from Shared Hosting to VPS

Share Article

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.