What a ski vacation, a crashed website, and a Porsche taught me about web infrastructure.
The crash
My company website ran on WordPress. It displayed static content: text, images, team info, a contact form. No shop, no login, nothing interactive.
During a ski vacation, it went down. Not gradually. It flatlined.
An outdated plugin had opened a security hole. Attackers exploited it. Google Ads stopped. The domain got blacklisted. For two weeks, my website was invisible to Google.
The cause wasn’t bad luck. It was architecture.
The Porsche problem
Running WordPress for a static website is like driving a Porsche to pick up groceries. It works, sure. But you’re paying for performance you never use, and when the engine breaks, you’re stuck on the side of the road holding a bag of bread.
Or think of it this way: a state-of-the-art dental treatment chair costs a fortune. If all you do is routine checkups and the occasional fissure sealant, you’re maintaining equipment far beyond what the job requires.
That’s WordPress for a dental practice website.
What a dental practice website actually does
Let’s be honest about the workload:
- Show opening hours
- Introduce the team
- List treatments
- Link to online booking (external service like Doctolib)
- Link to patient intake forms (external)
- Display a map
That’s it. Five or six pages of information that rarely change.
No e-commerce. No user accounts. No complex workflows triggered by clicks.
What WordPress demands in return
Despite this simple job, WordPress requires:
- A MySQL database for content that updates twice a year
- A plugin ecosystem where every dependency is a potential attack vector
- Weekly core, theme, and plugin updates
- Security monitoring and firewall configuration
- Hosting that handles PHP, database connections, and caching layers
Every plugin you install is another door someone can try to open. Every update you skip is a window left unlocked. And the WordPress ecosystem profits from this complexity: themes, security plugins, premium hosting, maintenance contracts.
Nobody in that ecosystem has an incentive to tell you that you don’t need any of it.
What you need instead
A static website.
Plain HTML, generated by a tool like Hugo, Astro, or 11ty. Hosted on Cloudflare Pages, Netlify, or Vercel.
Here’s what changes:
| WordPress | Static Site |
|---|---|
| Database required | No database |
| Plugin attack surface | No plugins |
| Weekly updates to manage | Nothing to update |
| Hosting: 20–50 CHF/month | Free to 5 CHF/month |
| Page load: depends on plugins | Under 1 second |
| Downtime risk: high | Near zero |
For opening hours, team photos, and treatment lists, a static site does the exact same job. Faster, cheaper, and almost impossible to hack.
But what about interactivity?
Online booking, patient forms, reviews, chat widgets – none of that needs to live on your website.
Doctolib handles booking. Google Forms handles intake. Trustpilot handles reviews. Embed them with a link or an iframe and move on.
The parts of your site that need to be interactive were never really yours to build. They’re services you connect to. Your website just points the way.
If you’re not running an online shop or building complex workflows through clicks, you don’t need a CMS. You need a brochure. Static sites are the best brochures on the internet.
The cost of not caring
The real price of WordPress isn’t the hosting fee. It’s the maintenance debt. The hours spent on updates nobody notices. The security plugins that need their own updates. The slow degradation of a system nobody truly understands.
And when you stop maintaining it, the system punishes you. Blacklisted by Google. Ads suspended. Customers seeing security warnings instead of your homepage.
I learned this during a ski trip. Two weeks of zero visibility because of one neglected plugin.
The bottom line
Your patients don’t care what powers your website. They care that it loads, that the phone number is correct, and that they can find your address.
Give them that. Without the overhead. Without the risk.
Simple isn’t a compromise. In this case, simple is the better engineering decision.
← All posts