In this guide: How to move from shared hosting to a VPS: signs you’ve outgrown shared hosting, managed vs unmanaged VPS, preparing, migrating, and a post-move checklist.
Shared hosting is the perfect place to start. But as your site grows — more traffic, more plugins, maybe an online store — you might start hitting its limits. Upgrading to a VPS (Virtual Private Server) gives you dedicated resources and more control.
Here’s how to know when it’s time, and how to move without breaking anything.
Signs you’ve outgrown shared hosting
Watch for these signals:
- Slow load times even after caching and image optimization.
- Resource limit warnings from your host (CPU, RAM, entry processes, I/O).
- “503 Service Unavailable” or “508 Resource Limit Reached” errors during busy periods.
- Traffic growth — consistent increases, spikes from campaigns, or seasonal peaks.
- Heavy dynamic features: WooCommerce, memberships, LMS, or forums that can’t be fully cached.
- Need for custom software: specific PHP versions, Node.js, Redis, or server settings shared hosting doesn’t allow.
- Security and isolation concerns — you want your own environment.
Before upgrading, confirm the problem is actually the server. Run a speed test, check your host’s resource usage graphs, and review How to Speed Up WordPress. Sometimes a single heavy plugin is the real culprit.
Managed vs unmanaged VPS
This is the most important decision.
Unmanaged VPS
- You get a server with an operating system — nothing else.
- You install and configure the web server, PHP, database, firewall, backups, and updates.
- Lowest cost, maximum control.
- Best for developers and sysadmins comfortable with the command line.
Managed VPS
- The host handles server setup, security patches, monitoring, and often backups.
- Usually includes a control panel (cPanel, Plesk, or a custom dashboard).
- Costs more, but saves time and reduces risk.
- Best for business owners, agencies, and anyone who’d rather focus on their website.
A middle ground: managed cloud platforms that deploy a pre-configured stack on cloud servers and give you a simple dashboard.
When choosing a plan, look at:
- vCPU and RAM — start with at least 2 vCPU and 2–4 GB RAM for a busy WordPress site.
- NVMe storage
- Data center location close to your audience
- Snapshots and backups
- Scalability — can you add resources easily?
Preparing for the move
- Audit your current site: list domains, subdomains, email accounts, databases, cron jobs, and SSL certificates.
- Decide what to do with email. Many people take this moment to move email to a dedicated service (see Email Hosting vs Web Hosting).
- Take a full backup of files and databases, stored off-site.
- Lower DNS TTL (for example, to 300 seconds) a day before the move so the switch spreads quickly.
- Set up the VPS: install the stack (or use managed setup), configure PHP version, and enable a firewall.
- Schedule the migration during your lowest-traffic period.
The migration process
Common approaches:
Option A — Host migration service. Many hosts migrate sites for free or a small fee. The easiest option.
Option B — Migration plugin (WordPress). Plugins like All-in-One WP Migration, Duplicator, or Migrate Guru package and move your site.
Option C — cPanel-to-cPanel transfer. If both servers use cPanel/WHM, a full account backup can be restored on the new server, including email and settings.
Option D — Manual migration.
- Copy files via SFTP or
rsync. - Export the database (
mysqldumpor phpMyAdmin) and import it on the new server. - Update
wp-config.phpwith new database credentials.
Then test before switching DNS: edit your computer’s hosts file to point your domain to the new server IP, or use a temporary URL. Check pages, forms, logins, and checkout.
When everything works, update DNS to the new server. To avoid losing orders or comments during propagation, pause changes on the old site (or use maintenance mode) for the switch window. Read more in our migration guide on the blog.
Post-migration checklist
- ☐ Install and verify SSL on the new server.
- ☐ Enable caching (server-level and plugin) and consider object caching like Redis.
- ☐ Configure automated backups and test a restore.
- ☐ Set up uptime and resource monitoring.
- ☐ Confirm email sending and receiving works (including SMTP for WordPress).
- ☐ Check cron jobs and scheduled tasks.
- ☐ Run speed tests and compare to before.
- ☐ Keep the old hosting active for a week or two as a fallback, then cancel.
- ☐ Harden SSH access with keys — see SSH Keys vs Passwords.
Further reading: WordPress Advanced Administration Handbook
Key Takeaways: Shared Hosting to a VPS
- Upgrade when resource limits, not just a slow plugin, hold your site back.
- Choose managed VPS unless you’re comfortable managing servers.
- Back up, lower TTL, migrate, and test before switching DNS.
- After the move, secure, cache, monitor, and keep the old host briefly as a safety net.

