Hetzner Migration

WordPress hosting for sites moving off self-managed Hetzner servers.

Nothing is wrong with the hardware. The problem is that one person built the stack, the documentation is in their head, and the site has become something only they can safely touch.

Undocumented cron foundStack behaviour reproducedFree migration
Migration-tunedManaged stackRedis object cacheDaily backupsFree SSL24/7 support
What actually moves

A stack somebody built by hand.

A self-managed server accumulates behaviour that nothing records. Finding it is the migration; copying the files is the easy half.

Cron jobs nobody wrote down

System crontabs routinely hold jobs the site depends on — feed imports, backups, cache warmers — that exist nowhere in WordPress. Each is found and reproduced deliberately.

Crontab auditedReproduced here

Web server rules doing real work

Redirects, rewrites, access rules and rate limits often live in nginx or Apache config rather than in the site. Left behind, the site loses behaviour with nothing in WordPress to explain it.

Rules ported

A database tuned to that box

Buffer pools and connection limits were sized for one specific server. Those settings are re-derived from what the site actually uses rather than copied across.

Certificates and their renewal

Certbot timers, custom renewal hooks and any pinned configuration are replaced by managed TLS, so nobody has to remember why a renewal script exists.

Backups that stop being your job

Whatever script was writing snapshots is replaced by daily backups replicated off the origin, restorable from a dashboard rather than from a command you have to look up.

The migration

Find what the server was doing for you.

The failure mode here is not data loss. It is a site that works for three weeks and then misses the thing a forgotten cron job was doing every month.

  • System crontab audited line by line
  • Web server rewrites and rules ported
  • TLS renewal replaced with managed certificates
  • Backups moved off a hand-written script
Crontab
Audited and reproduced
9 jobs
nginx rules
Redirects and rate limits ported
verified
TLS
Managed certificates issued
active
DNS cutover
TTL lowered
scheduled
Performance

The same hardware class, without the pager.

Self-managed servers are usually fast until something needs attention at an inconvenient hour. The gain here is operational rather than raw speed.

Managed
stack and updates
Redis
object cache, on by default
24/7
response, not your phone
MagicWP180 ms
Unmanaged server, OPcache misconfigured900 ms
Default MySQL on a large box520 ms

Illustrative comparison after migration. A well-tuned self-managed box can match this — the difference is who maintains it.

Configuration

What we change moving from a self-managed server

These differ from a standard migration on the same plan, because the source has no defined configuration to import — only whatever the last administrator left behind.

SettingWhat we doWhy
Crontab auditEvery system cron entry reviewed and re-created explicitlySelf-managed sites accumulate scheduled work outside WordPress entirely, and because those jobs run monthly or quarterly their absence is discovered weeks after the migration looked successful.
Web server rulesRedirects, rewrites and rate limits extracted from server config and reproducedBehaviour implemented in nginx or Apache is invisible from inside WordPress, so a migration that only moves the application silently drops rules the site's SEO and security depend on.
Database sizingRe-derived from measured working set rather than copied from the old my.cnfThose values were chosen for one machine's memory, often years ago and often by guesswork, so carrying them across preserves a decision nobody has revisited since the server was commissioned.
TLS renewalHand-rolled certbot timers and hooks replaced with managed certificatesRenewal scripts fail silently and are noticed when the certificate expires, which is the one failure mode that takes the entire site offline at an hour nobody chose.
Operational handoverBackups, monitoring and updates moved from personal scripts to the platformThe real risk on a hand-built server is that one person understands it, so the migration is complete only when nothing important depends on their memory.
Plans

Simple, transparent pricing.

Every plan includes free migration, daily backups, SSL and 24/7 support.

MonthlyYearly
Starter
For personal sites, blogs, and portfolios.
$20/mo
Billed $240 yearly · save $60
  • 1 WordPress site
  • 10 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Support tickets
Start free trial
Pro★ Most popular
For growing businesses and busy stores.
$80/mo
Billed $960 yearly · save $240
  • 5 WordPress sites
  • 50 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Priority support tickets
Start free trial
Enterprise
For agencies and high-traffic platforms.
$250/mo
Billed $3000 yearly · save $600
  • 20 WordPress sites
  • 200 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Dedicated support
Start free trial
FAQ

Questions, answered.

My Hetzner server is fast. Why move?
Usually not for speed. It is that one person built it, the configuration is undocumented, and routine maintenance has become risky because nobody else can safely touch it.
What is most commonly missed in this migration?
System cron jobs. They live outside WordPress entirely, and the monthly or quarterly ones are noticed weeks later when something that always happened quietly stops happening.
Do my nginx redirects come across?
Only if someone looks for them. Rules implemented in server config are invisible from inside WordPress, so we extract and reproduce them rather than assume the application contains them.
Can you match my current MySQL tuning?
We re-derive it from what the site actually uses rather than copying the old configuration, which was usually sized for a specific machine years ago and never revisited.
Will I still have SSH and WP-CLI?
Yes, on every site. You keep the access you are used to; what you hand over is responsibility for the operating system underneath it.

Move off a hand-built server without losing what it did.

Free migration, every cron job accounted for, and TLS that renews without you.