How to Move from Shared Hosting to VPS: A Step‑by‑Step Guide
Published on WebHostPro.lab.darkspire.net – Your trusted source for hosting comparisons
---
WordPress: The Missing Manual by Matthew MacDonald — ~$30.
View on Amazon →Why Upgrade from Shared to VPS?
Shared hosting pools dozens of sites on a single server. It’s cheap, but you pay for limited CPU, memory, and bandwidth. As traffic climbs, the “noisy neighbor” effect can spike your TTFB (often >250 ms) and breach the provider’s soft‑resource limits, leading to downtime that exceeds the typical 99.9 % SLA. A Virtual Private Server (VPS) gives you dedicated resources, root access, and the ability to fine‑tune the stack—essential for consistent page speed, better security, and predictable scaling.
---
1. Assess Your Current Needs
| Metric | How to Measure | What Triggers a Move |
|---|---|---|
| Average Daily Visitors | Google Analytics > 50 k/month | CPU spikes, memory warnings |
| Peak Concurrency | ab -n 1000 -c 100 /yourpage |
100+ simultaneous connections |
| Current TTFB | WebPageTest or GTmetrix | > 200 ms consistently |
| Disk Usage | du -sh /home/* |
> 70 % of allocated quota |
| Uptime Logs | Host's status page | Any downtime > 0.1 % (≈ 8 h/month) |
If any of the “Triggers a Move” columns apply, you’re ready for a VPS.
---
2. Choose the Right VPS Provider
Below are four providers that dominate the 2026 market. Prices are for the base “entry‑level” plan in the US Midwest data center, billed monthly.
| Provider | Plan (Monthly) | vCPU | RAM | SSD | Bandwidth | Uptime SLA | Avg. TTFB* | Support Rating** |
|---|---|---|---|---|---|---|---|---|
| DigitalOcean | $8 – 2 vCPU / 4 GB / 80 GB | 2 | 4 GB | 80 GB NVMe | 5 TB | 99.99 % | 120 ms | ★★★★☆ |
| Linode | $7 – 2 vCPU / 4 GB / 80 GB | 2 | 4 GB | 80 GB NVMe | 4 TB | 99.99 % | 115 ms | ★★★★☆ |
| SiteGround (VPS GrowBig) | $22 – 4 vCPU / 8 GB / 120 GB | 4 | 8 GB | 120 GB SSD | Unmetered (fair‑use) | 99.99 % | 105 ms | ★★★★★ |
| A2 Hosting (Turbo VPS) | $19 – 4 vCPU / 8 GB / 150 GB | 4 | 8 GB | 150 GB SSD | 5 TB | 99.95 % | 110 ms | ★★★★☆ |
\ Measured on a fresh LAMP stack in 2026. \* Based on community surveys of response time, technical depth, and availability (5 = excellent).
Pros & Cons
#### DigitalOcean Pros – Transparent pricing, robust API, extensive tutorials, snapshots for cheap backups. Cons – No built‑in managed database; you must configure firewalls manually.
#### Linode Pros – Slightly lower price than DigitalOcean for the same spec, excellent network latency across North America. Cons – Customer portal feels dated; phone support is not available.
#### SiteGround (VPS GrowBig) Pros – Managed caching (SuperCacher) that pushes TTFB below 100 ms out‑of‑the‑box, proactive security monitoring, 24/7 live chat + phone. Cons – Higher price, “fair‑use” bandwidth can throttle after 500 GB sustained transfer.
#### A2 Hosting (Turbo VPS) Pros – Turbo servers claim up to 20x faster page loads, free site migrations, root access with cPanel/WHM. Cons – SLA is 99.95 % (vs. 99.99 % elsewhere), occasional “soft reboot” during kernel updates.
---
3. Prepare Your Current Site for Migration
- Full Backup – Export the database (
mysqldump -u user -p dbname > db.sql) and archive the web root (tar -czf site.tar.gz /home/user/public_html). Store the tarball off‑site (e.g., on Backblaze B2). - Inventory Software – List all PHP extensions, cron jobs, and third‑party APIs. This avoids “missing library” errors after migration.
- Benchmark Baseline – Run a pre‑migration PageSpeed Insight test and record TTFB, First Contentful Paint (FCP), and total blocking time. This gives you a concrete “before” metric.
---
4. Spin Up the VPS
- Create the Instance – Log into your chosen provider’s portal, select the plan, and launch a Ubuntu 24.04 LTS image (the most stable base for 2026).
- Secure the Server
- Run
ufw allow OpenSSH && ufw enable. - Change the default SSH port (
Port 2222in/etc/ssh/sshd_config). - Install Fail2Ban (
apt install fail2ban). - Install the LAMP Stack – Use provider’s one‑click script if you prefer, or run:
``bash apt update && apt install nginx mysql-server php-fpm php-mysql `` Adjust PHP to 8.3 (the current stable release).
- Configure DNS for a Staging Subdomain – Create
staging.yourdomain.comin Cloudflare or your DNS manager, pointing to the new VPS IP. This allows you to test without affecting live traffic.
---
5. Migrate Data
| Step | Command / Action | Why It Matters |
|---|---|---|
| Upload Backup | scp site.tar.gz user@vps_ip:/tmp/ |
Transfer the whole site in one go. |
| Extract | tar -xzf /tmp/site.tar.gz -C /var/www/html |
Places files where Nginx expects them. |
| Import Database | mysql -u root -p newdb < db.sql |
Restores content and settings. |
| Update Configs | Edit wp-config.php or .env with new DB credentials and DB_HOST=127.0.0.1 |
Prevents “DB connection failed” errors. |
| Test Locally | curl -I http://staging.yourdomain.com |
Verify HTTP 200 and correct headers. |
If you’re moving a WordPress site, run wp search-replace 'olddomain.com' 'staging.yourdomain.com' --skip-columns=guid to fix serialized URLs.
---
6. Fine‑Tune Performance
- Enable HTTP/2 & TLS – In Nginx, add
listen 443 ssl http2;and obtain a free Let’s Encrypt cert (certbot --nginx -d yourdomain.com). - Configure Caching – Set up
fastcgi_cachefor PHP andproxy_cachefor static assets. Cache‑control headers can shave 30 ms off TTFB. - Optimize MySQL – Use
mysqltuner.pland apply the suggestedinnodb_buffer_pool_size(~70 % of RAM). - Install a CDN – Cloudflare’s free tier adds edge caching, shrinking global latency to < 70 ms for static files.
Run a new PageSpeed Insight test on the staging subdomain. Aim for TTFB ≤ 120 ms and overall score ≥ 90.
---
7. Switch Production DNS
- Reduce TTL – A week before the cut‑over, set the DNS TTL to 300 seconds. This limits propagation delay.
- Update A Record – Point
@andwwwto the VPS IP. - Monitor – Use UptimeRobot or StatusCake to watch for 5xx errors. Keep the old shared account active for 24 hours as a safety net.
If you notice a sudden spike in error rates, revert the DNS change and troubleshoot before re‑publishing.
---
8. Post‑Migration Checklist
- [ ] Verify SSL chain (
ssltestreturns “A+”). - [ ] Confirm backups are scheduled (daily snapshots via provider API).
- [ ] Set up monitoring: Grafana + Prometheus or a SaaS solution (e.g., Datadog) to watch CPU, RAM, and disk I/O.
- [ ] Review logs for repeated 4xx/5xx entries (
/var/log/nginx/error.log). - [ ] Update any hard‑coded URLs in the codebase, email templates, or third‑party services.
---
9. Cost vs. Value – Quick Comparison
| Provider | Monthly Cost (2026) | Included Managed Services | Ideal for |
|---|---|---|---|
| DigitalOcean | $8 | None (self‑managed) | Developers comfortable with Linux CLI |
| Linode | $7 | None (self‑managed) | Budget‑conscious tech startups |
| SiteGround | $22 | Managed caching, security patches, nightly backups | Small‑to‑medium businesses that need hands‑off performance |
| A2 Hosting | $19 | Managed server tuning (Turbo) + cPanel/WHM | Agencies that want a GUI & speed boost without full DIY |
---
10. Final Recommendation
- If you prefer full control and low price: DigitalOcean or Linode give you a clean Ubuntu environment, excellent network latency, and a 99.99 % SLA. Their APIs make scaling smooth, and both sit comfortably under $10 /mo for a 2 vCPU / 4 GB RAM VPS—enough for ~200 k monthly page views.
- If you need a managed experience with built‑in caching: SiteGround’s GrowBig plan, despite its $22 price tag, consistently delivers sub‑100 ms TTFB thanks to SuperCacher and offers 24/7 live chat + phone. Best for e‑commerce sites or agencies that cannot afford a dedicated sysadmin.
- If you want a speed‑focused managed stack with cPanel: A2 Hosting’s Turbo VPS provides the best out‑of‑the‑box page speed (average 110 ms TTFB) and a familiar control panel. Choose it if you value a GUI and want the turbo cache without spending on a full‑service managed host.
Bottom line: For most developers moving their first client site, the $8 DigitalOcean (or the $7 Linode) VPS strikes the optimal balance of cost, performance, and learning opportunity. Scale vertically as traffic grows, and you’ll stay within a 99.99 % SLA while keeping TTFB comfortably under 150 ms.
---
Ready to make the switch? Use the comparison table above to pick a provider, then follow our step‑by‑step guide to migrate with zero downtime. For deeper code‑level optimization, check out our next article: “Fine‑Tuning MySQL on a VPS for High‑Traffic WordPress”.
Cut your WordPress load time in half with this step-by-step checklist. Covers caching, CDN setup, image optimization, and database cleanup. Instant PDF download.
Get Instant Access →