How Much Does It Cost to Host a Website on a VPS
Real VPS hosting costs for a website in 2026: from a tiny blog to a busy web app, with exact providers, specs and hidden costs.
What hosting a website on a VPS actually costs in 2026: provider pricing, the hardware you really need by traffic level, and the hidden costs nobody lists.
The short answer
$4.49–8.49/month for a typical website on Hetzner, $6–24/month on DigitalOcean/other US-brand hosts, plus a domain (~$1–12/year) and optional extras below.
What a website needs (by traffic)
| Traffic level | VPS spec | Recommended box |
|---|---|---|
| Blog / brochure (<5k visits/mo) | 1 vCPU, 1 GB, 25 GB | Hetzner CX22 (2GB) — headroom |
| Standard site (50k visits/mo) | 2 vCPU, 4 GB, 40 GB | Hetzner CX22/CX32 |
| Busy web app (500k visits/mo) | 4 vCPU, 8–16 GB | Hetzner CX32/CPX31 + CDN |
| Media-heavy / API-heavy | 8 vCPU, 16+ GB | Dedicated or larger CX |
Static sites (Astro/Next SSG, like this blog) run happily on the smallest box with a CDN in front — dynamic apps need more RAM.
Real 2026 pricing (verified on official pages)
| Provider | Entry VPS | Spec | Price |
|---|---|---|---|
| Hetzner | CX22 | 2 vCPU / 4 GB / 40 GB | $4.49 |
| DigitalOcean | Basic | 1 vCPU / 1 GB / 25 GB | $6.00 |
| OVHcloud | VPS vps-1 | 2 vCPU / 2 GB | ~$3.50 |
| Vultr | Cloud Compute | 1 vCPU / 1 GB | $6.00 |
| Linode/Akamai | Shared | 1 vCPU / 1 GB | $5.00 |
IPv4 addresses are extra on Hetzner ($0.48/mo) and included elsewhere.
Hidden costs (the ones that surprise)
- IPv4: Hetzner charges; others include it.
- Bandwidth: Hetzner 20 TB (generous), DigitalOcean 1 TB (fine for blogs). Exceeding means overage fees.
- Snapshots: Hetzner ~$0.01/GB/mo; DigitalOcean includes 2 free (≤10 GB each).
- Domain: $1–12/year, renews annually. A .dev is ~$10–12.
- Email: sending transactional email from a VPS IP gets you blocked — budget a free/cheap ESP (Resend, Brevo) instead.
- Backups: roll your own with borg/restic + S3-compatible storage (~$1/mo for small sites).
Realistic monthly totals
Static portfolio/blog (Astro or Next SSG):
| Item | Cost |
|---|---|
| Hetzner CX22 | $4.49 |
| IPv4 | $0.48 |
| Domain (amortized) | $0.80 |
| Cloudflare Free (CDN/TLS) | $0 |
| Total | ≈ $5.77/month |
Busy dynamic web app (Laravel/Next/Go + Postgres + Redis):
| Item | Cost |
|---|---|
| Hetzner CX32 | $8.49 |
| IPv4 | $0.48 |
| Email (Resend free tier) | $0 |
| Backups (B2) | $1.00 |
| Total | ≈ $10/month |
Cheap vs managed: the real question
A VPS is cheap because you are the platform: OS updates, firewall, TLS, backups, restores are your job. Managed alternatives buy back that time:
- Cloudflare Pages / Netlify for static: free
- VPS for anything dynamic, or when you want SSH control
- Managed app platforms (Railway, Render): $5–20/mo but zero DevOps
For a content site like this blog, static CDN hosting is free and faster. For an app with server-side logic, a VPS is the cheapest capable option.
Production checklist
- Uptime monitoring (Uptime Kuma, free on the same box)
- Daily offsite backups with tested restores
- Firewall (ufw: SSH + 80/443 only)
- Automatic security updates enabled
- HTTPS via Caddy/certbot
Common problems
- Buying the cheapest box for a database-heavy app: RAM, not CPU, is the usual bottleneck.
- Forgetting renewal costs: annual domain renewal is the only “subscription” people forget to price.
- Email from the VPS IP: use an ESP; VPS IPs are pre-blocked by most inbox providers.
Conclusion
A website cost real VPS $5–10/month: a $4.49 Hetzner box, a domain, and disciplined use of free tiers. Static content can even run at $0 via CDN hosting. The expensive part is never the machine — it’s the ops time, so automate backups and monitoring early.