Two things happen all the time. The first is a freelancer or small agency that buys a 50 euro a year shared hosting plan, runs a WordPress site on it, and everything works fine for two years until a campaign launch brings 200 simultaneous users and the site goes down. The second is the opposite: somebody pays 40 euro a month for a VPS to host a brochure site that gets 30 visits a day, then spends weekends learning sysadmin instead of writing code.

Both decisions are mistakes. They look like opposite mistakes, but the cause is the same: not understanding what you actually pay for in each option, and using the wrong signals to decide.

What you actually share on shared hosting

A shared hosting account gives you a slice of a single server that runs hundreds of other accounts at the same time. The slice is a Linux user, a directory like /home/yourname/, a CPU and RAM quota, a MySQL database. Apache or LiteSpeed serves your PHP. Some company manages updates, backups, security patches, mail, control panel.

The point is: your neighbours can ruin your day. A noisy site on the same machine eats CPU. A botnet hammering another customer's contact form fills the server's MySQL connections. Your site is fine, but it slows down because the host is overloaded. Most shared providers oversell their machines by a factor of 5 to 10. You pay 4 euro a month because they put 800 sites on a machine that could comfortably host 80.

This is fine for a brochure site, a personal blog with predictable traffic, a portfolio. It is not fine if you have any business reason to actually be online when traffic spikes.

What you actually pay for on a VPS

A VPS gives you a dedicated chunk of a physical machine, isolated from other customers through virtualisation. You get root, you get fixed CPU and RAM, you can install whatever you want. But nothing comes pre-installed. No web server, no database, no firewall, no backup, no SSL renewal, no mail. You install all of it. Or you pay somebody to install it. Or you use a panel like Plesk, cPanel, ISPConfig, CyberPanel, WordOps, EasyEngine.

The number people miss: a 5 euro a month VPS at Hetzner gives you 2 vCPU and 4 GB RAM. Real, dedicated. That is roughly 10 to 20 times the resources of a 5 euro a month shared plan. The reason it costs the same is because you do all the work. The host gives you a Linux box and walks away.

The honest signals to switch

Forget the marketing. The signals that actually matter, in order:

1. Your site goes down or slows under traffic you can predict. Newsletter sends, campaigns, a product launch, a press mention. If your shared plan can't handle 100 simultaneous users on the homepage, and your business needs to handle them, you have outgrown shared.

2. You need software the host won't install. Redis, a specific PHP extension, a Node app, a cron job longer than 30 seconds, a binary library. Shared hosts say no to most of these.

3. You have multiple sites and the per-site cost on shared is now higher than one VPS. Five WordPress sites on shared at 5 euro each = 25 euro a month. One 5 euro VPS with WordOps hosts the same five sites with room to spare, if you are willing to manage the box.

4. You need control over the network or DNS or firewall. WireGuard, custom rate limiting, geo-blocking, your own mail server, a private database accessible only over Tailscale.

5. You are doing something compliance requires you control. GDPR for sensitive data, healthcare, finance. Shared hosts cannot give you the audit trail you need.

If none of these apply, shared hosting is the right answer. People feel embarrassed about staying on shared, as if it were unprofessional. It isn't. It is the right tool when the requirements match.

The hidden cost of moving to a VPS

You don't pay only the rental fee. You pay the time. A small list of what you will manage yourself once you switch:

  • Installation and updates of nginx or Apache, PHP, MariaDB, Redis
  • SSL certificates, automatic renewal, certbot or acme.sh
  • Firewall rules (ufw, iptables, nftables)
  • Daily backups, off-site copy, restore tests
  • OS security updates, often kernel reboots
  • Monitoring uptime, disk space, RAM, CPU
  • Log rotation, fail2ban, brute force protection
  • Mail (you will end up using a relay like SendGrid, Postmark, Amazon SES anyway)
  • The afternoon you forgot to renew the SSL and the site is down

Realistically that is 30 to 60 minutes a month if everything goes well, multiplied by the unhappy day every six to twelve months when something breaks at 22:00 and you have to fix it. If your time is worth 50 euro an hour, that is 600 euro a year of your time, which makes a 5 euro a month VPS cost more than a 30 euro a month managed solution.

A pragmatic decision tree

If you are choosing right now, here is the order to consider:

  1. Brochure site, blog, portfolio, no spikes: shared hosting at a serious provider (SiteGround, Aruba, Register.it, Keliweb, Kinsta if budget allows). 5 to 30 euro a month.
  2. Two to ten WordPress sites, agency context, you know Linux: a single VPS at Hetzner, OVH, DigitalOcean, Vultr, with WordOps or RunCloud. 5 to 20 euro a month for the box, plus your time.
  3. Production e-commerce or SaaS, you don't want to be the sysadmin: managed WordPress (Kinsta, WP Engine, Pressable) or a managed app platform (Render, Fly.io, Cloudways). 30 to 200 euro a month, predictable, no 22:00 emergencies.
  4. High traffic, custom stack, full control needed: dedicated server or multi-VPS with a load balancer. From 50 euro a month upwards, and you definitely need a sysadmin.

The trap is jumping from 1 to 4 because of a single signal that 2 or 3 would have solved. The other trap is staying at 1 because you don't want to think about 3.

What the marketing pages won't tell you

The unlimited bandwidth on shared plans is real but rate-limited per request. The 99.99% uptime SLA on a VPS is the platform uptime, not your application's uptime: if you misconfigure nginx, that is on you. The "free SSL" on a managed platform may not include certificate transparency logging or HSTS preload, which matter for some compliance scenarios. The "automatic backups" line item often means daily snapshots kept for 7 days, which is not enough for ransomware recovery.

Read the part about backups carefully. Decide before you sign up where your off-site copy of the database lives. The day you need it, "the host has a backup" is too late if their support takes 48 hours to restore.