Hetzner VPS + CloudPanel: The Best Value WordPress Hosting Setup in 2026
Run 10-20 WordPress sites on €7/month. How I set up Hetzner Cloud with CloudPanel for client sites — accurate stack details, real cost comparison.
A Hetzner CX32 VPS at €6.57/month with CloudPanel installed handles 10–15 WordPress sites with Nginx, Varnish caching, Redis, and free SSL — the best value self-managed WordPress hosting setup in 2026.
Most hosting comparison articles don't mention Hetzner. That's because Hetzner doesn't have an affiliate program — there's no commission for recommending it.
I'm recommending it anyway, because it's what I actually use for the majority of my agency's client sites.
A Hetzner CX32 server (4 vCPUs, 8GB RAM, NVMe SSD, Frankfurt) costs €6.57/month. With CloudPanel installed, it handles 10–15 WordPress sites with Nginx + Varnish caching, free Redis object cache, and per-site SSL — all included in the control panel at no extra cost.
This guide covers exactly what CloudPanel is, how to set it up on Hetzner, what the stack looks like, and when you should use managed hosting instead.
What is CloudPanel
CloudPanel is a free, open-source server control panel built for PHP applications. The full stack it installs:
- Web server: Nginx
- PHP: Multiple versions (7.x–8.3), switchable per site
- Database: MySQL 8.4 or MariaDB (your choice at install time)
- Caching: Varnish Cache (built-in, enable per site)
- Object cache: Redis (included, no extra cost)
- SSL: Let's Encrypt, automatic renewal
- OS support: Ubuntu 24.04/22.04, Debian 13/12/11
- Architecture: x86 and ARM64
Redis being included is a meaningful cost difference from Cloudways, where Redis is a €14/month add-on. On CloudPanel it's part of the stack.
What CloudPanel is not: It does not use OpenLiteSpeed or Apache. It is Nginx-only. If you need OpenLiteSpeed for LiteSpeed Cache's native caching, you'd need a different control panel (CyberPanel) or a fully manual server setup.
What CloudPanel gives you over a raw VPS
The value is operational efficiency. Managing multiple WordPress sites on a raw VPS means manually creating Nginx server blocks, PHP-FPM pools, databases, and Certbot configs for each site. With CloudPanel:
- New WordPress site in under a minute — domain, PHP version, database, and Nginx config all provisioned automatically
- Varnish Cache toggle per site — enable from the UI, pre-configured exclusion patterns
- Redis object cache — included, configure via the WordPress Redis plugin
- Per-site PHP version switching — change from 8.1 to 8.3 without touching config files
- Built-in file manager and database manager — routine tasks without SSH
- Remote backups to S3, SFTP, or Backblaze B2
- UFW firewall management through the UI
- ARM64 support — runs on Hetzner's CAX ARM instances (up to 40% better performance at 20% lower cost per CloudPanel's benchmarks)
Choosing the right Hetzner server
Hetzner Cloud offers shared x86 (CX series) and ARM64 (CAX series) instances. Both work with CloudPanel. Frankfurt and Nuremberg are the EU datacenter options — Frankfurt is the right choice for most EU-targeting sites.
x86 shared (CX series):
| Server | vCPUs | RAM | Storage | Price/mo | Best for |
|---|---|---|---|---|---|
| CX22 | 2 | 4GB | 40GB NVMe | €3.79 | 1–5 sites, light traffic |
| CX32 | 4 | 8GB | 80GB NVMe | €6.57 | 5–15 sites, mixed traffic |
| CX42 | 8 | 16GB | 160GB NVMe | €14.39 | 15–30 sites or heavy WooCommerce |
ARM64 shared (CAX series) — better performance per euro:
| Server | vCPUs | RAM | Storage | Price/mo | Notes |
|---|---|---|---|---|---|
| CAX21 | 4 | 8GB | 80GB NVMe | €5.49 | ARM64, good alternative to CX32 |
| CAX31 | 8 | 16GB | 160GB NVMe | €9.89 | ARM64, comparable to CX42 at lower cost |
CAX series runs on Ampere Altra ARM processors. CloudPanel supports ARM64 natively. For pure PHP workloads (WordPress), ARM often outperforms x86 clock-for-clock at lower cost. Worth testing if you're setting up a new server.
I use CX32 as the standard for client site batches. The 8GB RAM handles 10–12 active WordPress sites with Nginx workers, PHP-FPM pools, Redis, and Varnish running simultaneously.
The caching stack explained
Understanding how CloudPanel caches WordPress is important before setting it up.
Varnish Cache sits in front of Nginx as an HTTP reverse proxy. When a visitor hits a cached page, Varnish serves it directly from memory — Nginx and PHP never get involved. Varnish is included in CloudPanel and enabled per-site from the UI.
For WordPress and WooCommerce, Varnish needs cache exclusion rules so that logged-in users and cart/checkout pages are served fresh. CloudPanel's Varnish settings let you configure excluded paths and cookies. The minimum WooCommerce exclusions you need to add manually:
/cart//checkout//my-account/- Cookies:
woocommerce_items_in_cart,wp_woocommerce_session_*
CloudPanel also has a dedicated WordPress Varnish Cache plugin that handles cache purging when you update posts or change content.
Nginx FastCGI cache is an alternative to Varnish — WordPress caching plugins like WP Rocket can use Nginx's FastCGI cache directly. This requires custom Nginx config but avoids running a separate Varnish process.
Redis object cache is included in CloudPanel's stack. Install the Redis Object Cache plugin by Till Krüss and connect it to the local Redis socket. Add to wp-config.php:
define( 'WP_REDIS_HOST', '127.0.0.1' ); define( 'WP_REDIS_PORT', 6379 ); define( 'WP_CACHE_KEY_SALT', 'unique_site_key_' );
Redis handles WordPress transients and object cache, reducing database load — particularly useful for WooCommerce session management.
How to install CloudPanel on Hetzner: step by step
Step 1 — Create the Hetzner server
- Log in to Hetzner Cloud Console
- Create a new project
- Click Add Server, select:
- Location: Frankfurt or Nuremberg
- Image: Ubuntu 24.04 LTS
- Type: CX32 (x86) or CAX21 (ARM64)
- SSH Keys: Add your public key
- Backups: Enable (+20% cost — worth it for peace of mind)
- Click Create & Buy Now — server is ready in ~30 seconds
Step 2 — Prepare the server
SSH in as root:
ssh root@YOUR_SERVER_IP
Update and install prerequisites:
apt update && apt -y upgrade && apt -y install curl wget sudo
Step 3 — Install CloudPanel
Run the official installer. Check cloudpanel.io/docs/v2/getting-started/hetzner-cloud/installation/installer/ for the current command with the latest SHA256 checksum — the checksum changes between releases. The command format is:
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh # Verify the sha256 checksum from the official docs before running sudo CLOUD=hetzner DB_ENGINE=MYSQL_8.4 bash install.sh
The CLOUD=hetzner flag configures Hetzner-specific settings. DB_ENGINE=MYSQL_8.4 installs MySQL 8.4 — alternatively use MARIADB_11.4 for MariaDB.
Installation takes 5–10 minutes. When complete, you'll see:
CloudPanel: https://YOUR_SERVER_IP:8443
Step 4 — Initial security setup
Open https://YOUR_SERVER_IP:8443 in a browser (accept the self-signed SSL warning).
Create your admin account. Immediately after:
- Go to Admin → Security → IP Whitelist and restrict CloudPanel admin access to your IP address. The admin port 8443 should never be publicly accessible.
- Enable Two-Factor Authentication on your admin account.
Step 5 — Add a WordPress site
- In CloudPanel: Sites → Add Site → Create a WordPress Site
- Fill in: domain name, site title, admin user/password, email, PHP version (8.3)
- Click Create — CloudPanel provisions the Nginx vhost, PHP-FPM pool, database, and installs WordPress. Takes under a minute.
Step 6 — Point your DNS to the server
Before issuing SSL, your domain needs an A record pointing to your Hetzner server IP.
The easiest way to manage this is Cloudflare's free plan. Transfer your domain's nameservers to Cloudflare, then add an A record pointing to your Hetzner IP. It takes 2–5 minutes to set up and gives you fast propagation, DDoS protection, and a clean DNS dashboard.
Important: keep the Cloudflare proxy disabled (grey cloud / "DNS only") for your A record. The server already runs Varnish Cache for page caching — routing traffic through Cloudflare's proxy on top of Varnish creates cache conflicts and can pass incorrect headers. Cloudflare DNS-only still gives you fast propagation and the security benefits of being behind Cloudflare's network.
Once your A record is live and propagated, issue the certificate:
Step 6b — Issue the SSL certificate
In the site settings: SSL/TLS → Actions → New Let's Encrypt Certificate
CloudPanel renews the certificate automatically.
Step 7 — Enable Varnish Cache
In the site settings: Varnish Cache → Enable
For WooCommerce stores, add the cart/checkout exclusions in Varnish Cache → Settings → Excludes:
^/cart/ ^/checkout/ ^/my-account/
Also add the WooCommerce session cookies under Excluded Params to ensure logged-in shoppers bypass cache.
Install the CloudPanel Varnish Cache WordPress plugin to handle automatic cache purging on post updates.
Step 8 — Configure Redis object cache
In the WordPress admin:
- Install the Redis Object Cache plugin by Till Krüss
- Go to Settings → Redis and click Enable Object Cache
- Add to
wp-config.phpabove/* That's all, stop editing! */:
define( 'WP_REDIS_HOST', '127.0.0.1' ); define( 'WP_REDIS_PORT', 6379 ); define( 'WP_CACHE_KEY_SALT', 'yoursite_' );
Redis is already running — CloudPanel installs and starts it automatically.
Step 9 — Set up remote backups
In CloudPanel: Backups → Create Backup Schedule
Connect an S3-compatible destination. Hetzner Object Storage works well — it's in the same network, cheap, and keeps your data in the EU. Create a Hetzner Object Storage bucket, add the credentials to CloudPanel, and set daily backups with 30-day retention.
Performance expectations
CloudPanel uses Nginx + Varnish — the same underlying caching stack as Cloudways (which also runs Nginx + Varnish). Expect similar cached TTFB performance: 30–45ms cached TTFB from EU locations to Frankfurt. Uncached TTFB on Hetzner hardware benchmarks at 140–170ms for a clean WordPress install.
For comparison — the speed test in the WordPress Hosting Speed Test 2026 tested a manually configured OpenLiteSpeed stack on Hetzner (not CloudPanel), which achieved 11ms cached TTFB via LiteSpeed's native cache engine. If you need that level of cached performance, you need OpenLiteSpeed installed manually or via CyberPanel — not CloudPanel.
CloudPanel's actual performance advantage over managed hosting is in the uncached TTFB: Hetzner's bare-metal-class NVMe and generous RAM-per-euro means raw PHP execution is faster than on most shared managed platforms at the same price point.
Real cost comparison: Hetzner + CloudPanel vs managed hosting
Running 10 WordPress sites:
| Option | Monthly cost | Per-site cost | Redis | Notes |
|---|---|---|---|---|
| Hetzner CX32 + CloudPanel | €6.57 | €0.66 | Included free | Self-managed |
| Cloudways Vultr HF 4GB | €42 | €4.20 | +€14/mo extra | Managed |
| Cloudways Vultr HF 2GB | €25 | €2.50 | +€14/mo extra | Managed, 5–8 sites |
| Rocket.net (10 sites) | €300 | €30 | No | Managed, edge caching |
| Kinsta Business 2 (10 sites) | €230 | €23 | +$100/mo extra | Managed, premium |
The Redis difference is notable: on Cloudways, Redis costs an extra €14/month on top of server cost. On CloudPanel it's included. For WooCommerce stores with heavy session usage, this matters.
When to use managed hosting instead
Hetzner + CloudPanel is not right for every situation. Use Cloudways or Rocket.net when:
You don't have time to maintain a server. CloudPanel handles most routine tasks through the UI, but OS security updates, PHP version upgrades, and server monitoring are your responsibility. Budget 1–2 hours per month. If that's not available, Cloudways manages this for you.
A client site goes down and you need support at 3am. Self-managed Hetzner means you are the support. Managed hosting providers have 24/7 support with WordPress expertise.
The client needs SLA guarantees in writing. Kinsta and WP Engine provide documented SLAs. Hetzner provides infrastructure uptime SLAs (99.9%) but not per-application SLAs.
You're handing the hosting off to the client. When a client manages their own server, CloudPanel makes it easier than raw VPS — but most clients are better served with Cloudways where they have proper account management and support access.
Agency tip: My current setup: Hetzner CX32 + CloudPanel for client sites on retainer where I manage the server as part of the service. Cloudways for clients who want their own hosting account with proper support. Rocket.net for high-traffic stores where Cloudflare Enterprise edge caching is worth the per-site cost.
FAQ
Does CloudPanel support OpenLiteSpeed?
No. CloudPanel uses Nginx exclusively. If you need OpenLiteSpeed for LiteSpeed Cache's native caching, look at CyberPanel (which is built specifically for OpenLiteSpeed) or a fully manual server setup.
Is Redis included in CloudPanel or do I need to install it separately?
Redis is included in CloudPanel's stack and starts automatically on install. You only need to install and configure the Redis Object Cache WordPress plugin to connect WordPress to it.
Does CloudPanel support multiple PHP versions on the same server?
Yes. PHP 7.1 through 8.3 can run simultaneously, assigned per site. Useful when older client sites depend on plugins not yet compatible with PHP 8.3.
How many WordPress sites can I run on a CX32?
10–15 comfortably, depending on traffic. Monitor RAM — if usage stays under 70% during peak hours, you have headroom. A WooCommerce store with 1,000 sessions/day uses significantly more resources than a brochure site.
Is CloudPanel really free?
Yes, CloudPanel Community Edition is free with no site limits and no license fees. There is no paid tier that adds per-site pricing.
Bottom line
Hetzner CX32 + CloudPanel is the best price-to-performance setup for running multiple WordPress sites in 2026. Under €1/site/month, Redis included, Varnish Cache included, and Nginx performance on Hetzner's fast NVMe hardware.
If you need managed hosting without the server responsibility, Cloudways Vultr HF is the best value managed option for agencies. For edge performance on high-traffic sites, Rocket.net (Cloudflare Enterprise) is the top managed pick.
Frequently Asked Questions
What is Hetzner Cloud and why use it for WordPress?
What is CloudPanel and how does it work with Hetzner?
How many WordPress sites can I run on a Hetzner CX32?
Is Hetzner VPS suitable for client sites?
What are the downsides of Hetzner compared to Cloudways or Kinsta?
// new_articles
Get notified when new guides drop
Practical WordPress guides from a working agency owner. No filler. Unsubscribe any time.
Was this article helpful?
Thanks for the feedback!