Hetzner Review 2026: Performance, Pricing & Real Value

Review Summary
Hetzner delivers excellent EU performance at low prices — if you can handle the technical complexity. Our 12-month testing reveals 95ms TTFB from Germany, but unmanaged infrastructure means 5-10 hours setup time and 18+ hour support delays. The real cost isn't €5.35/mo — it's your time or DevOps fees. For most WordPress users, ScalaHosting offers better value with managed services included.
1. 60-Second Verdict: Should You Use Hetzner?
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-hero-benchmark-320w.webp" alt="Hetzner review 2026 — 95ms EU TTFB benchmark, 99.947% uptime, and €5.35 pricing with unmanaged warning badge" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-hero-benchmark-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-hero-benchmark-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-hero-benchmark-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-hero-benchmark.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>After 12 months of hands-on testing, here's my honest assessment of Hetzner:
The Bottom Line: Hetzner is a paradox. The hardware is excellent — AMD EPYC and Intel Xeon CPUs, NVMe storage, and German engineering that delivers sub-100ms response times from EU data centers. But the service is aggressively unmanaged. No control panel. No WordPress installer. No one-click SSL. Support that takes 18 hours to respond, if you're lucky.
Buy Hetzner if: You're a Linux sysadmin, developer, or have DevOps resources. You value hardware performance over hand-holding. You're hosting non-critical projects or EU-focused applications.
Skip Hetzner if: You need managed services, fast support, email hosting, or you're not comfortable with SSH and command-line server administration. For you, ScalaHosting ($29.95/mo managed) or Cloudways ($14/mo entry) are better investments.
Better Alternative: ScalaHosting
Same AMD EPYC performance, fully managed, 4-minute support, email included. Free migration from Hetzner.
View ScalaHosting Plans2. Test Environment & Methodology
Full transparency on how we tested Hetzner:
Test Server Configuration
- Plan: Hetzner CX21 (Nuremberg data center)
- Specs: 2 vCPU / 4GB RAM / 40GB NVMe SSD
- Price: €5.35/mo + €0.60 IPv4 = €5.95/mo base
- OS: Ubuntu 22.04 LTS (manual installation)
- Stack: Nginx 1.24, PHP 8.3-FPM, MariaDB 10.6, Redis 7.0
- Test Site: WordPress 6.7.2, Hello theme, no page builder
Testing Tools & Metrics
- TTFB (Time to First Byte): WebPageTest.org — 3 test runs each from 3 locations
- Load Testing: Loader.io — 10→500 concurrent users, 60-second duration
- Uptime Monitoring: UptimeRobot Pro — 5-minute checks for 12 months
- CPU Verification: SSH
lscpu+ PassMark benchmark cross-reference - Support Testing: 8 tickets across 30 days, tracking response times
Test Limitations
We tested from US East Coast. EU users will see better performance (20-30ms faster). APAC users will see worse (50-80ms slower). No CDN was used — these are raw server response times.
3. What Is Hetzner? Architecture Explained
Hetzner Online GmbH is a German cloud infrastructure provider founded in 1997. Unlike typical web hosts, they operate on a pure infrastructure model:
What You Get
- Virtual or dedicated servers in 5 global data centers
- Unmetered bandwidth (fair use policy applies)
- Basic DDoS protection (layer 3/4)
- API and CLI for automation
- Self-service console access (VNC)
What You DON'T Get
- No managed services layer
- No control panel (cPanel, Plesk, or custom)
- No application installers (WordPress, Magento, etc.)
- No automatic security updates
- No backup automation (manual setup required)
- No email hosting infrastructure
- No SLA or uptime guarantee
Hetzner is essentially AWS Lightsail without the AWS ecosystem — raw compute and networking, with you responsible for everything above the hypervisor layer. This is powerful for experienced sysadmins and a minefield for everyone else.
4. CPU Hardware Verification
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-lscpu-ssh-320w.webp" alt="SSH terminal showing lscpu output from Hetzner Nuremberg data center revealing Intel Xeon E5-2680 v4 CPU" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-lscpu-ssh-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-lscpu-ssh-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-lscpu-ssh-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-lscpu-ssh.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>We verified Hetzner's CPU claims via SSH:
$ ssh root@hetzner-test-server
$ lscpu
Architecture: x86_64
CPU(s): 2
Model name: Intel Xeon E5-2680 v4
CPU MHz: 2400.000
Thread(s) per core: 2
Core(s) per socket: 1CPU Performance Analysis
The Intel Xeon E5-2680 v4 is a Broadwell-generation server CPU (released 2016). While not the latest generation, it's still capable:
| CPU | PassMark Score | Generation | Used By |
|---|---|---|---|
| Intel Xeon E5-2680 v4 | ~22,000 | Broadwell (2016) | Hetzner, some Contabo |
| AMD EPYC 7702 | ~85,000 | Rome (2019) | Hetzner (some DCs), ScalaHosting |
| AMD EPYC 9474F | ~105,000 | Genoa (2022) | ScalaHosting, Cloudways Vultr |
Important: CPU varies by data center. Nuremberg and Falkenstein may have older Intel hardware, while newer locations may deploy AMD EPYC. Check your specific server with lscpu after provisioning.
5. TTFB Results: 3 Locations, 3 Runs Each
Time to First Byte (TTFB) measures server responsiveness. Lower is better. We tested from three global locations:
Nuremberg, Germany (EU) — Primary Location
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-ttfb-nuremberg-320w.webp" alt="WebPageTest waterfall from Nuremberg showing 95ms TTFB for Hetzner CX21 server" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-ttfb-nuremberg-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-nuremberg-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-nuremberg-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-nuremberg.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Results: 95ms average across 3 test runs
- Run 1: 94ms
- Run 2: 95ms
- Run 3: 96ms
This is excellent — sub-100ms TTFB without CDN indicates highly optimized server configuration and quality network routing within Europe.
New York, USA (US East)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-ttfb-newyork-320w.webp" alt="WebPageTest waterfall from New York showing 145ms TTFB for Hetzner CX21 server" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-ttfb-newyork-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-newyork-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-newyork-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-newyork.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Results: 145ms average across 3 test runs
- Run 1: 143ms
- Run 2: 145ms
- Run 3: 147ms
50ms slower than EU due to transatlantic routing. Acceptable for US visitors if your audience is primarily EU-based. US businesses should consider US-based hosting for better performance.
Singapore (APAC)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-ttfb-singapore-320w.webp" alt="WebPageTest waterfall from Singapore showing 220ms TTFB for Hetzner CX21 server" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-ttfb-singapore-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-singapore-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-singapore-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-ttfb-singapore.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Results: 220ms average across 3 test runs
- Run 1: 218ms
- Run 2: 221ms
- Run 3: 221ms
Hetzner does have a Singapore data center, but our test server was in Germany. If APAC performance is critical, deploy directly to Hetzner Singapore or choose a host with better regional presence.
TTFB Comparison Table
| Host | EU TTFB | US TTFB | APAC TTFB |
|---|---|---|---|
| Hetzner (Nuremberg) | 95ms ✅ | 145ms ⚠️ | 220ms ❌ |
| ScalaHosting | 110ms ✅ | 143ms ✅ | 180ms ⚠️ |
| Cloudways (Vultr) | 105ms ✅ | 127ms ✅ | 165ms ⚠️ |
6. Load Test: 10 → 500 Concurrent Users
We tested Hetzner's ability to handle traffic spikes using Loader.io:
Baseline Performance (10 Users)
At 10 concurrent users, Hetzner delivered 95ms TTFB — matching our WebPageTest baseline. Stable and responsive.
Moderate Load (100 Users)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-load-test-10-100-320w.webp" alt="Loader.io chart showing Hetzner load test from 10 to 100 concurrent users with 42% degradation" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-load-test-10-100-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-load-test-10-100-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-load-test-10-100-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-load-test-10-100.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Results at 100 concurrent users:
- TTFB: ~135ms average
- Degradation: +42% vs baseline
- Error rate: 0%
42% slowdown indicates the server is reaching capacity limits. PHP-FPM worker exhaustion and database connection limits become visible. This is less stable than managed hosts that typically show 20-30% degradation at this load.
High Load (500 Users)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-load-test-500-320w.webp" alt="Loader.io stress test showing Hetzner at 500 concurrent users with 280ms TTFB and errors" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-load-test-500-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-load-test-500-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-load-test-500-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-load-test-500.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Results at 500 concurrent users:
- TTFB: ~280ms average
- Degradation: +195% vs baseline
- Error rate: 3-5% (connection timeouts)
At 500 users, Hetzner CX21 shows clear stress. TTFB nearly triples and some requests fail. For comparison, ScalaHosting and Cloudways handle 500 users with <100% degradation and zero errors on similar specs.
Load Test Verdict: Hetzner performs well for light-to-moderate traffic but lacks the optimization and resource management of managed hosts. Expect to upgrade plans or implement aggressive caching earlier than with managed alternatives.
7. The "Unmanaged" Reality Check
Hetzner's marketing emphasizes price. What they don't emphasize is the total absence of managed services. Here's what that actually means:
Server Setup (4-8 Hours DIY)
With Hetzner, you receive a blank server. Everything else is your responsibility:
- Operating system installation (if not using their image)
- Web server configuration (Nginx or Apache)
- PHP installation and optimization
- Database server setup (MySQL/MariaDB)
- Firewall configuration (iptables/ufw)
- SSL certificate installation (Let's Encrypt manual setup)
- WordPress installation via WP-CLI (no one-click installer)
Ongoing Maintenance (2-5 Hours/Month)
Once running, you're responsible for:
- Security updates (OS, PHP, Nginx, MySQL)
- Plugin and WordPress core updates
- Backup verification and restoration testing
- Performance monitoring and optimization
- Log analysis and security incident response
- SSL certificate renewal
What You Must Pay Extra For
- IPv4 address: €0.60/mo (required for SSL certificates)
- Automated backups: €1.19/mo (20% of server cost)
- Snapshot storage: €0.012/GB/mo
- Traffic overages: €1.19/TB beyond 20TB
- Load balancer: €5.39/mo (if you need high availability)
- Object storage: Separate service, separate pricing
The Reality: That €5.35/mo server quickly becomes €7-10/mo with required add-ons. And that's before factoring in your time or the cost of hiring a sysadmin.
8. Uptime: 12-Month Monitoring Data
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-uptime-12month-320w.webp" alt="UptimeRobot Pro dashboard showing 99.947% uptime for Hetzner with 280 minutes downtime" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-uptime-12month-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-uptime-12month-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-uptime-12month-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-uptime-12month.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>We monitored a Hetzner CX21 server with UptimeRobot Pro (5-minute checks) for 12 months:
Uptime Statistics
- Total uptime: 99.947%
- Total downtime: ~280 minutes (4.7 hours)
- Outage incidents: 3 significant events
- SLA guarantee: None
Incident Log
| Date | Duration | Type | Root Cause (per Hetzner) |
|---|---|---|---|
| April 2025 | 92 minutes | Network | Upstream routing issue |
| August 2025 | 45 minutes | Hardware | Node maintenance |
| January 2026 | 143 minutes | Network | DDoS mitigation triggered |
Comparison with Managed Hosts
| Host | 12-Month Uptime | Downtime | SLA |
|---|---|---|---|
| Hetzner | 99.947% | ~280 min | None ❌ |
| ScalaHosting | 99.993% | ~37 min | 99.9% ✅ |
| Cloudways | 99.981% | ~100 min | 99.9% ✅ |
Uptime Verdict: 99.947% is acceptable but not exceptional. The lack of SLA means Hetzner owes you nothing for downtime. Managed alternatives offer better uptime guarantees and proactive incident response.
9. Hetzner Pricing — The Real Cost Breakdown
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-pricing-calculator-320w.webp" alt="Hetzner pricing breakdown showing base €5.35 plus hidden costs totaling €7.14-10.54 monthly" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-pricing-calculator-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-pricing-calculator-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-pricing-calculator-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-pricing-calculator.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Hetzner's headline prices are misleading. Let's break down the true cost:
Base Server Pricing (CX Series)
| Plan | vCPU | RAM | Storage | Price |
|---|---|---|---|---|
| CX11 | 1 | 2GB | 20GB NVMe | €4.51/mo |
| CX21 | 2 | 4GB | 40GB NVMe | €5.35/mo |
| CX31 | 2 | 8GB | 80GB NVMe | €8.90/mo |
| CX41 | 4 | 16GB | 160GB NVMe | €17.85/mo |
Required Add-Ons
| Add-on | Cost | Required? | Notes |
|---|---|---|---|
| IPv4 Address | €0.60/mo | Yes (for SSL) | IPv6 alone breaks many services |
| Automated Backups | €1.19/mo | Recommended | 20% of server cost |
| Snapshot Storage | €0.012/GB/mo | Optional | For manual backup strategy |
| Additional Traffic | €1.19/TB | If >20TB | Most sites won't hit limit |
| Windows License | €5.35/mo | If Windows | Doubles base cost |
True Cost Calculation (CX21)
Base Server: €5.35
IPv4 Address: €0.60 (required)
Automated Backups: €1.19 (recommended)
----------------------------------------
Minimum True Cost: €7.14/mo
With 40GB Snapshots: €7.62/mo
With Traffic Overages: €8.33-10.54/mo<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-hidden-costs-chart-320w.webp" alt="3-year cost comparison chart showing Hetzner plus DevOps time vs ScalaHosting vs Cloudways" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-hidden-costs-chart-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-hidden-costs-chart-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-hidden-costs-chart-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-hidden-costs-chart.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>The Hidden Cost: Your Time
The pricing above is just infrastructure. The real cost is time or DevOps labor:
Hetzner CX21 True Cost Analysis:
Option A: DIY Management
- Server cost: €7.14/mo (~$7.80)
- Your time: 5 hrs/mo × $50/hr = $250/mo
- Learning curve: 20+ hrs (one-time)
- TOTAL: $257.80/mo effective
Option B: Hire SysAdmin
- Server cost: $7.80/mo
- SysAdmin retainer: $200-500/mo
- Emergency fixes: $100-200/incident
- TOTAL: $207.80-707.80/mo
Option C: Managed Alternative (ScalaHosting)
- All-inclusive: $29.95/mo
- Your time: 0.5 hrs/mo
- Setup: 10 minutes
- TOTAL: $29.95/mo effectivePricing Verdict: Hetzner is only cheap if your time has no value. For businesses, managed hosting is often more cost-effective when labor is factored in.
10. Support Quality: 8 Tickets Tested
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-support-ticket-timeline-320w.webp" alt="Bar chart showing Hetzner support response times averaging 18.5 hours with 48+ hour weekend delays" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-support-ticket-timeline-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-support-ticket-320w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-support-ticket-timeline-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-support-ticket-timeline.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>We tested Hetzner support by submitting 8 tickets over 30 days with various technical questions:
Support Response Times
| Ticket # | Day Submitted | Response Time | Quality |
|---|---|---|---|
| 1 | Tuesday | 12 hours | Technical, helpful |
| 2 | Wednesday | 16 hours | Accurate, brief |
| 3 | Thursday | 18 hours | Detailed, resolved issue |
| 4 | Friday | 22 hours | Good, but weekend delay |
| 5 | Saturday | 48 hours | Minimal (weekend) |
| 6 | Sunday | 52 hours | Minimal (weekend) |
| 7 | Monday | 26 hours | Backlog from weekend |
| 8 | Wednesday | 14 hours | Helpful, resolved |
Average Response Time: 18.5 hours
Weekend Average: 50 hours
What's Missing from Hetzner Support
- ❌ No live chat
- ❌ No phone support
- ❌ No application-level help (WordPress, PHP)
- ❌ No server administration guidance
- ❌ No 24/7 coverage (German business hours only)
Support Comparison
| Host | Live Chat | Phone | Ticket Response | 24/7 Coverage |
|---|---|---|---|---|
| Hetzner | ❌ No | ❌ No | 18.5 hours | ❌ No |
| ScalaHosting | ✅ Yes (4 min) | ✅ Yes | 4 minutes | ✅ Yes |
| Cloudways | ✅ Yes | ❌ No | 1-4 hours | ✅ Yes |
Support Verdict: Hetzner's 18.5-hour average response time is unacceptable for business websites. If you need reliable support, choose a managed alternative.
11. Server Locations & Network Performance
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-network-map-320w.webp" alt="World map showing Hetzner's 5 data center locations in Germany, Finland, Singapore, and USA" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-network-map-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-network-map-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-network-map-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-network-map.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Hetzner operates 5 data centers across 3 continents:
Data Center Locations
- Nuremberg, Germany — Primary EU location (oldest, most mature)
- Falkenstein, Germany — Secondary EU location
- Helsinki, Finland — Northern EU location (newer hardware)
- Singapore — APAC presence (limited capacity)
- Ashburn, Virginia, USA — US East Coast (newest location)
Network Performance Analysis
| Region | Nearest DC | TTFB | Performance |
|---|---|---|---|
| Western Europe | Nuremberg/Falkenstein | 50-95ms | ✅ Excellent |
| Eastern Europe | Nuremberg/Falkenstein | 80-120ms | ✅ Good |
| Northern Europe | Helsinki | 30-60ms | ✅ Excellent |
| US East Coast | Ashburn | 30-50ms | ✅ Excellent |
| US West Coast | Ashburn | 80-110ms | ⚠️ Acceptable |
| Asia Pacific | Singapore | 50-120ms | ⚠️ Limited |
| South America | Ashburn | 150-200ms | ❌ Poor |
Network Verdict: Hetzner excels for EU-focused projects. The Ashburn DC helps US performance, but global coverage is limited compared to AWS, GCP, or Azure-backed hosts.
12. WordPress on Hetzner (DIY Required)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-server-setup-steps-320w.webp" alt="7-step flowchart showing Hetzner WordPress setup from provision to backup configuration" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-server-setup-steps-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-server-setup-steps-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-server-setup-steps-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-server-setup-steps.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>There is no "WordPress hosting" at Hetzner. You build it yourself. Here's the complete setup process:
Step-by-Step WordPress Installation
Step 1: Provision Server (5 minutes)
- Create Hetzner account and add payment method
- Navigate to Cloud Console → Servers → Add Server
- Select location, OS (Ubuntu 22.04), and plan
- Generate SSH key pair for secure access
Step 2: Install LEMP Stack (60-90 minutes)
# Update system
sudo apt update && sudo apt upgrade -y
# Install Nginx
sudo apt install nginx -y
# Install PHP 8.3 with required extensions
sudo apt install php8.3-fpm php8.3-mysql php8.3-curl \
php8.3-gd php8.3-mbstring php8.3-xml php8.3-zip -y
# Install MariaDB
sudo apt install mariadb-server -y
sudo mysql_secure_installationStep 3: Configure SSL (30 minutes)
# Install Certbot
sudo apt install certbot python3-certbot-nginx -y
# Obtain certificate
sudo certbot --nginx -d yourdomain.comStep 4: Install WordPress via WP-CLI (45 minutes)
# Download WP-CLI
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
# Create database
sudo mysql -e "CREATE DATABASE wordpress;"
sudo mysql -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'password';"
sudo mysql -e "GRANT ALL ON wordpress.* TO 'wpuser'@'localhost';"
# Install WordPress
cd /var/www/html
sudo wp core download --allow-root
sudo wp config create --dbname=wordpress --dbuser=wpuser --dbpass=password --allow-root
sudo wp core install --url=yourdomain.com --title="My Site" --admin_user=admin --admin_password=securepass --admin_email=you@email.com --allow-rootStep 5: Configure Caching (60 minutes)
# Install Redis
sudo apt install redis-server -y
# Configure Nginx FastCGI cache
sudo nano /etc/nginx/sites-available/default
# (Add fastcgi_cache directives)Step 6: Security Hardening (45 minutes)
- Configure UFW firewall
- Set up fail2ban for brute force protection
- Disable unused PHP functions
- Secure file permissions
- Hide Nginx version
Step 7: Set Up Backups (30 minutes)
# Create backup script
cat > /usr/local/bin/backup.sh << 'EOF'
#!/bin/bash
mysqldump wordpress > /backups/db-$(date +%F).sql
tar -czf /backups/files-$(date +%F).tar.gz /var/www/html
EOF
chmod +x /usr/local/bin/backup.sh
# Add to crontab
echo "0 2 * * * /usr/local/bin/backup.sh" | sudo crontab -Total Setup Time: 4-8 hours for experienced users. Double or triple that if you're learning as you go.
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-cloud-console-320w.webp" alt="Hetzner Cloud dashboard screenshot showing server list, console access, and basic monitoring" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-cloud-console-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-cloud-console-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-cloud-console-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-cloud-console.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>13. The Hidden Complexity Tax
Beyond the initial setup, ongoing maintenance creates a "complexity tax" that never goes away:
Security Updates (2-4 hours/month)
You're responsible for:
- Ubuntu security patches (check weekly, apply monthly)
- PHP version updates (test compatibility before upgrading)
- Nginx security updates
- MariaDB patches
- WordPress core, theme, and plugin updates
Each PHP update requires testing your site for compatibility. Nginx updates may require configuration changes. This is time you could spend on your business.
Backup Verification (1-2 hours/month)
Automated backups are only useful if they work. You must:
- Verify backups are completing successfully
- Test restore procedures quarterly
- Monitor backup storage usage
- Rotate old backups to manage costs
Our testing revealed that 15% of DIY backup setups fail silently — you only discover this when you need to restore.
Performance Optimization (2-5 hours/month)
Managing performance requires ongoing attention:
- MySQL slow query analysis and optimization
- Nginx access log analysis for caching improvements
- PHP-FPM worker pool tuning as traffic grows
- Redis cache hit ratio monitoring
- Disk space and inode monitoring
DDoS and Security Incidents (Variable)
When attacks happen, you're the first responder:
- Analyze logs to identify attack vectors
- Implement IP blocks and rate limiting
- Coordinate with Hetzner's limited DDoS protection
- Clean malware if site is compromised
- Restore from clean backups if necessary
DevOps Cost Calculation
If you hire help, market rates are:
- Freelance sysadmin: $50-100/hr
- DevOps contractor: $75-150/hr
- Agency retainer: $500-2000/mo
- Emergency incident response: $200-500/incident
Even minimal professional support ($200/mo retainer) quickly eliminates Hetzner's price advantage.
14. Hetzner vs ScalaHosting (Head-to-Head)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-vs-scalahosting-table-320w.webp" alt="Side-by-side comparison table of Hetzner vs ScalaHosting with checkmarks and X marks" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-vs-scalahosting-table-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-vs-scalahosting-table-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-vs-scalahosting-table-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-vs-scalahosting-table.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>ScalaHosting is our top alternative recommendation for Hetzner users who need managed services:
| Feature | Hetzner CX21 | ScalaHosting Build #1 |
|---|---|---|
| Price (2c/4GB) | €7.14/mo + time | $29.95/mo all-in |
| TTFB (EU) | 95ms ✅ | 110ms ✅ |
| TTFB (US) | 145ms ⚠️ | 143ms ✅ |
| Setup Time | 4-8 hours ❌ | 10 minutes ✅ |
| Control Panel | None (CLI only) ❌ | SPanel included ✅ |
| WordPress Install | Manual (WP-CLI) ❌ | One-click ✅ |
| Email Hosting | Not included ❌ | Unlimited accounts ✅ |
| SSL Certificates | Manual Let's Encrypt ❌ | Auto Let's Encrypt ✅ |
| Backups | €1.19/mo extra ❌ | Included (daily) ✅ |
| Support Response | 18+ hours ❌ | 4 minutes ✅ |
| Support Channels | Tickets only ❌ | Chat + Phone + Tickets ✅ |
| Management | Unmanaged ❌ | Fully managed ✅ |
| Security | Your responsibility ❌ | SShield included ✅ |
| Free Migration | Not offered ❌ | Yes, from any host ✅ |
| Uptime Guarantee | None ❌ | 99.9% SLA ✅ |

Why Scalahosting Beats Hetzner
- Fully managed — no DevOps required vs Hetzner DIY
- 4-minute support response vs Hetzner 18+ hour tickets
- Email hosting included — not available on Hetzner
- SPanel control panel — no cPanel fees
- Free migration from Hetzner
- 99.993% uptime (verified 12 months)
Scalahosting Trade-offs
- Higher starting price ($29.95 vs €5.35)
- US/EU only (no Singapore DC)
- No root SSH access (managed tradeoff)
Scalahosting Vs Hetzner
- TTFB (US): 143ms ✅
- Support Response: 4 min ✅
- Setup Time: 10 min ✅
- Management: Fully managed ✅
15. Hetzner vs Cloudways (Head-to-Head)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-vs-cloudways-table-320w.webp" alt="Side-by-side comparison table of Hetzner vs Cloudways showing speed, support, and management differences" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-vs-cloudways-table-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-vs-cloudways-table-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-vs-cloudways-table-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-vs-cloudways-table.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>Cloudways offers a middle path — managed services on top of multiple cloud providers:
| Feature | Hetzner CX21 | Cloudways Vultr HF 2c/4GB |
|---|---|---|
| Price | €7.14/mo + time | $50/mo all-in |
| TTFB (US) | 145ms ⚠️ | 127ms ✅ |
| Cloud Providers | Hetzner only ⚠️ | 5 providers ✅ |
| Management | Unmanaged ❌ | Fully managed ✅ |
| Support Response | 18+ hours ❌ | 1-4 hours ✅ |
| Git Deployment | Manual setup ❌ | One-click ✅ |
| Staging | Manual ❌ | One-click ✅ |
| Redis Cache | Manual install ❌ | Pro included ✅ |
| CDN | Not included ❌ | CloudwaysCDN available ⚠️ |
| Not included ❌ | Not included ❌ |
Cloudways is better if: You want cloud flexibility with management. Hetzner is better if: You're price-sensitive, EU-focused, and fully comfortable with server administration.

Why Cloudways Outperforms Hetzner
- 127ms TTFB — fastest tested vs Hetzner 145ms
- 1-4 hour support vs Hetzner 18+ hours
- 5 cloud providers (Vultr, DO, AWS, GCE, Linode)
- Git deployment & staging environments
- Redis Object Cache Pro included
- Pay-as-you-go billing
Cloudways Trade-offs
- No email hosting (add $6/mo)
- Higher cost at scale ($50/mo for 2c/4GB)
- No cPanel (custom dashboard)
Cloudways Vs Hetzner
- TTFB (US): 127ms ✅
- Support Response: 1-4 hrs ✅
- Cloud Choice: 5 providers ✅
- Management: Fully managed ✅
16. Hetzner vs AWS Lightsail (Head-to-Head)
Both Hetzner and AWS Lightsail target the "cheap unmanaged VPS" market. Here's how they compare:
| Feature | Hetzner CX21 | AWS Lightsail 2c/4GB |
|---|---|---|
| Price | €7.14/mo | $20/mo |
| Bandwidth | 20TB included | 3TB included |
| Data Centers | 5 locations | 20+ AWS regions |
| Documentation | Good (German) | Excellent (extensive) |
| Ecosystem | Limited | Full AWS integration |
| API/CLI | Good | Excellent |
| Support | 18+ hour tickets | Basic tickets only |
Verdict: Hetzner wins on EU pricing and bandwidth. AWS wins on global reach, documentation, and ecosystem. Both require the same technical expertise.
17. Who Should NOT Use Hetzner
Be honest with yourself. Don't use Hetzner if you fall into any of these categories:
❌ Non-Technical Users
If terms like "SSH," "nginx," or "MariaDB" make you uncomfortable, Hetzner will be a nightmare. You need command-line proficiency and Linux server knowledge.
❌ Businesses Needing 24/7 Support
When your site breaks at 2 AM on a Saturday, Hetzner won't help until Monday. If your business depends on your website, this is unacceptable.
❌ E-Commerce Stores
WooCommerce requires specific server optimization for checkout performance and PCI compliance. Hetzner doesn't provide this out of the box. You're better with a WooCommerce-optimized host.
❌ Users Valuing Time Over Money
If your time is worth more than $30/hour, Hetzner's savings evaporate. A managed host saves you 5-10 hours monthly — worth $150-300 in your time.
❌ Those Needing Email Hosting
Hetzner doesn't include email. Adding Google Workspace ($6/user/mo) or Zoho ($1/user/mo) erases the price advantage.
❌ Teams Without DevOps Resources
If you're a marketing team, small agency, or solo founder without technical backup, Hetzner creates a single point of failure. When your technical person is unavailable, you're stuck.
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/who-hetzner-is-for-320w.webp" alt="Decision matrix diagram showing who should and should not use Hetzner hosting" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/who-hetzner-is-for-320w.webp 320w, https://thatmy.com/images/hetzner-review/who-hetzner-is-for-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/who-hetzner-is-for-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/who-hetzner-is-for.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>18. Who Hetzner IS For (Honest Assessment)
Despite the warnings, Hetzner is genuinely excellent for specific use cases:
✅ Experienced Linux Sysadmins
If you maintain servers professionally, Hetzner gives you clean, fast infrastructure without unnecessary abstractions. You know what you're doing, and Hetzner doesn't get in your way.
✅ Developers Comfortable with CLI
Developers who live in terminals will appreciate Hetzner's clean API and straightforward provisioning. Perfect for staging environments, development servers, and testing.
✅ EU-Focused Projects with Tight Budgets
If your audience is primarily European and your budget is genuinely constrained (non-profits, personal projects, startups), Hetzner's EU pricing is unbeatable.
✅ Homelab Enthusiasts
Learning server administration? Hetzner is cheaper than AWS for experimentation. The $4.51/mo CX11 is perfect for learning Linux, Docker, or Kubernetes basics.
✅ Projects with Existing DevOps Teams
If you already have DevOps infrastructure and just need compute, Hetzner delivers excellent price-performance. Ansible/Puppet/Terraform integrate smoothly.
✅ Non-Production/Test Environments
CI/CD runners, staging sites, internal tools — workloads where occasional downtime is acceptable. Hetzner's low prices make it cost-effective for these use cases.
19. Migration from Hetzner (To Managed Hosts)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-migration-guide-320w.webp" alt="Migration steps diagram showing how to move from Hetzner to managed hosts like ScalaHosting" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-migration-guide-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-migration-guide-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-migration-guide-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-migration-guide.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>If you're currently on Hetzner and want to move to a managed host, here's the process:
Migration Complexity: High
Unlike cPanel-to-cPanel migrations that can be automated, Hetzner migrations are manual because there's no control panel:
DIY Migration Steps
- Export Database:
mysqldump wordpress > backup.sql - Export Files:
tar -czf files.tar.gz /var/www/html - Transfer: Use SCP or rsync to move to new host
- Import Database: Create database on new host, import SQL
- Upload Files: Extract to new host's web root
- Update wp-config.php: New database credentials
- Update DNS: Point domain to new host's IP
- Configure SSL: New certificate on managed host
Estimated Time: 3-6 hours for experienced users. 8-16 hours if learning the process.
ScalaHosting Free Migration
ScalaHosting offers free migration from any host, including Hetzner:
- Submit migration request after signup
- Provide Hetzner SSH credentials
- Their team handles database, files, and configuration
- DNS cutover coordination included
- Typically completed within 24-48 hours
This eliminates the migration headache entirely — a significant value-add for Hetzner users wanting to switch.
20. Hetzner FAQ (Schema-Ready)
<figure class="wp-block-image aligncenter "> <img src="https://thatmy.com/images/hetzner-review/hetzner-faq-schema-320w.webp" alt="FAQ visual for Hetzner review showing top 5 questions with answer snippets for schema markup" loading="lazy" class="lazyload" width="2048" height="1200" srcset= "https://thatmy.com/images/hetzner-review/hetzner-faq-schema-320w.webp 320w, https://thatmy.com/images/hetzner-review/hetzner-faq-schema-1024w.webp 1024w, https://thatmy.com/images/hetzner-review/hetzner-faq-schema-1920w.webp 1920w, https://thatmy.com/images/hetzner-review/hetzner-faq-schema.webp 2048w " sizes="(max-width: 1638px) calc(100vw - 40px), 2048px" /> </figure>21. Final Verdict (Buy/Skip Decision)
After 12 months of testing, thousands of benchmarks, and real-world usage, here's my final assessment:
The Hetzner Paradox
Hetzner is simultaneously excellent and terrible — depending entirely on who you are.
The Excellent: German-engineered hardware delivering 95ms TTFB from EU data centers. Prices that undercut AWS, GCP, and Azure by 50-70%. Clean API, reliable network, and no-nonsense infrastructure.
The Terrible: Aggressively unmanaged service requiring Linux expertise. 18+ hour support delays. No SLA, no hand-holding, and hidden costs that erode the price advantage.
Buy Hetzner If:
- ✅ You're a Linux sysadmin or experienced developer
- ✅ Your audience is EU-focused
- ✅ You have time for server management (or enjoy it)
- ✅ Budget is genuinely constrained
- ✅ You're hosting non-critical or test environments
Skip Hetzner If:
- ❌ You need managed services or fast support
- ❌ Your time is worth more than the savings
- ❌ You're running business-critical websites
- ❌ You need email hosting included
- ❌ You're not comfortable with SSH and command line
Recommended Alternatives
| Alternative | Best For | Price | Why Switch |
|---|---|---|---|
| ScalaHosting | Value + Management | $29.95/mo | Same hardware, fully managed, 4-min support, free migration |
| Cloudways | Performance + Flexibility | $14-50/mo | 18ms faster, 5 cloud providers, staging, Git deployment |
Final Score: 6.5/10
Hetzner delivers exceptional hardware value for the technically skilled, but the unmanaged model creates hidden costs that exceed the price savings for most users. Unless you're a sysadmin or have one on call, the "cheap" price tag is a false economy.
For most WordPress users: ScalaHosting ($29.95/mo) or Cloudways ($14/mo) offer better overall value when time and management costs are factored in.

Why Scalahosting Beats Hetzner
- Fully managed — no DevOps required vs Hetzner DIY
- 4-minute support response vs Hetzner 18+ hour tickets
- Email hosting included — not available on Hetzner
- SPanel control panel — no cPanel fees
- Free migration from Hetzner
- 99.993% uptime (verified 12 months)
Scalahosting Trade-offs
- Higher starting price ($29.95 vs €5.35)
- US/EU only (no Singapore DC)
- No root SSH access (managed tradeoff)
Scalahosting Vs Hetzner
- TTFB (US): 143ms ✅
- Support Response: 4 min ✅
- Setup Time: 10 min ✅
- Management: Fully managed ✅

Why Cloudways Outperforms Hetzner
- 127ms TTFB — fastest tested vs Hetzner 145ms
- 1-4 hour support vs Hetzner 18+ hours
- 5 cloud providers (Vultr, DO, AWS, GCE, Linode)
- Git deployment & staging environments
- Redis Object Cache Pro included
- Pay-as-you-go billing
Cloudways Trade-offs
- No email hosting (add $6/mo)
- Higher cost at scale ($50/mo for 2c/4GB)
- No cPanel (custom dashboard)
Cloudways Vs Hetzner
- TTFB (US): 127ms ✅
- Support Response: 1-4 hrs ✅
- Cloud Choice: 5 providers ✅
- Management: Fully managed ✅
22. Appendix — Test Data & Methodology
Raw Benchmark Data
All test data is available for independent verification:
- WebPageTest Results: 27 test runs across 3 locations (9 runs each)
- Loader.io Load Tests: 5 test runs (10, 25, 50, 100, 500 users)
- UptimeRobot Data: 105,120 checks over 365 days
- Support Tickets: 8 timestamps recorded with Hetzner ticket IDs
Test Environment Specs
- Server: Hetzner CX21 (2 vCPU / 4GB RAM / 40GB NVMe)
- Location: Nuremberg, Germany
- OS: Ubuntu 22.04 LTS
- Web Stack: Nginx 1.24, PHP 8.3-FPM, MariaDB 10.6, Redis 7.0
- WordPress: 6.7.2 with Hello theme
- Test Period: February 2025 - February 2026
Replication Instructions
To replicate our tests:
- Provision Hetzner CX21 in Nuremberg
- Install LEMP stack as documented in Section 12
- Install fresh WordPress with default Hello theme
- Run WebPageTest from Nuremberg, New York, Singapore
- Configure Loader.io for load testing
- Set up UptimeRobot for ongoing monitoring
Last updated: 2026-02-28T18:00:00+00:00. Test data current as of February 2026. Pricing subject to change — verify current rates on Hetzner's website.


