Skip to content
The Cloudflare Workers Playbook is out — read a free sample first.

Build your own managed WordPress with GridPane on a single VPS

Why I pay for a control panel to keep control of the server — plus the structure that makes it maintainable for real clients.

Published
19 March 2025
Read
2 min read
Written by
SSUSEMAN
Build your own managed WordPress with GridPane on a single VPS
wordpress — SUSEMANGridPane · WordPress

Managed WordPress hosting is great until the day you need to debug at the server layer and discover your access ends at a support chat window.

GridPane is the middle path: you rent the VPS (at any price), and the panel handles security, caching, backups and SSL.

Why not shared or premium managed

  • Shared hosting is cheap, but noisy neighbours make performance unpredictable.
  • Enterprise managed is fast and hands-off, and prices per site add up fast.
  • VPS + control panel keeps cost predictable while giving you production-grade tooling.

The layout I run for clients

text
Hetzner / DO VPS (8 vCPU, 16 GB, NVMe)
├── GridPane (nginx + PHP-FPM 8.3)
│   ├── site: client-a.com  (LSCache / FastCGI cache)
│   ├── site: client-b.com
│   └── staging: staging.client-a.com
├── Redis (object cache, per-site database)
├── nightly backup → S3 compatible (off-site)
└── Cloudflare in front (proxy, WAF, cache rule)

The checklist for every build

  1. Provision with the PHP version your plugins actually support, not the newest.
  2. Enable Redis object cache, one database per site.
  3. Point backups off-site to S3/R2 and test a restore monthly.
  4. Put Cloudflare in front, proxy on, Full (strict) SSL.
  5. Restrict wp-admin with an IP allowlist or a second basic-auth layer.
  6. Add external uptime monitoring from two providers in two regions.

Traps I keep meeting

  • Untested restores — an untested backup is a hope, not a plan.
  • Stacked caches — GridPane's FastCGI cache and a page-cache plugin fight each other; pick one.
  • PHP upgrades without extensions — image processing quietly breaks and nobody notices.
  • Unthrottled xmlrpc.php — bots find it within hours.

Note: if you resell hosting, the SLA is yours. GridPane does not put someone on call at 3am for you.

Real numbers

On an 8-vCPU VPS under 1,500 THB per month I run twelve small-to-mid client sites with 200–400ms TTFB and over 85% cache hits. Cost per site is a fraction of managed hosting.

None of that makes managed hosting bad. It means choosing the tool that fits the job — and knowing what you trade away.

S

Written by

SUSEMAN · Infrastructure engineer · Writer

A journal of cloud & web engineering · Bangkok, Thailand

About →

The weekly dispatch

New articles, tools worth testing and lessons from production — every Thursday. No spam, ever.

No spam. Unsubscribe anytime.

Related reading

View all →

Next article

ZeroTier: the decentralized VPN small teams should keep around

→