Volpe's Blog

My points of view, travels and code

Blogging like a nerd: Cloudflare Pages is all you need

· 🇪🇸 Leer en Español
How maintaining a WordPress feels after building a static blog with AI
How maintaining a WordPress feels after building a static blog with AI · Picture by The Media Telegraph

It took me 9 years to come back to blogging, and I used maintaining the old WordPress setup as an excuse the whole time. Turns out the fix was free. The previous version was a WordPress running on a VPS on Digital Ocean. I could have, in theory, just start writing there and hitting post. But the WordPress version was getting more outdated every day and the plugins I was using were also getting deprecated, so I’d have to migrate. The blog was down every couple of years because of issues in the VPS.1

Beyond the operational headaches, there were deeper problems too. One of the key features I wanted to support was multi-language, and getting that out of the box is not supported by WordPress by default. Switching the plugin would mean having to make sure the URLs are kept the same and migrate all the data to the new one. Plus, I needed to make sure it ran, and that I didn’t get hacked, as WordPress has gotten many times. The setup with the VPS would have to be maintained, and I set that up when I was just getting started with software, so I’d probably have to rebuild it from scratch. In case one of my posts was a hit, I’d probably go down or with heavily degraded performance. There are also serious concerns everyone should have about WordPress (the Matt meltdown)2.

Alternatives to self-hosting

Of course, one-click WordPress-hostings exist, but that’d mean I need to pay money monthly and also risk it becoming expensive overnight if one post gets significant traffic. Migrating to them would also not be trivial if I wanted my old blog to have the same setup, and more importantly, the URLs. I could also host in something like Substack or similar platforms, but that’d mean I don’t really have full control of my website. I don’t have anything against Substack, I even own some shares of it, but I would rather have full control of my little internet corner, where I can write anything I want and not get banned or demonetized. I don’t want to have any external incentive influence what I write.

I also thought about using AI to create a custom blog code for me and host it in something like Vercel, but that felt like more of a passion project rather than something that’d make my life easier.

Static Pages

So it’s 2026 and now there are many options. We also have AI helping us set things up, so I explored static page generation. I gave Jekyll a shot and it worked out great, it’s the default for GitHub Pages so there was some validation. It is fairly extensible and simple, but some things were odd like pagination not being supported in the way I’d expect34. More importantly, I knew I didn’t want to focus on learning it fully, but rather having Claude Code help me out, and Claude was very good at executing the changes I wanted and setting it up.

The main benefit it has for me is that there’s nothing to maintain, there are no buttons to click on an interface. I want to write something, I just open my text editor, write a post and commit it to a repo. It won’t be down, there are no security updates, it’s free, it’s mostly set and forget. I think it’s the perfect setup for people whose main job is not maintaining the website.

It even makes the integration with LLMs easier, I can tell Claude Code to fix my typos, format my footnotes or give me feedback without having to copy-paste anything or use a plugin or external service.

It also gives incredible flexibility, if I get mad at my current provider, switching to a new one is extremely simple, and the options for hosting a static website are plenty.

Styling

This is what I think is very different in 2026 from 9 years ago. I knew I wanted something lightweight, that’d optimize readability and simplicity. I didn’t even look for a template, I just told AI what I wanted and somewhat made it work. It doesn’t look great, at the end of the day I did it, but at least there aren’t a dozen other blogs with the same design and it would be quite easy to change should I want to hire a designer to help me out. It just works.

Hosting

I initially thought about GitHub Pages, I think because they were the first ones offering this directly from a Git repository and relatively out-of-the-box. It worked, but it has many limitations I didn’t like. It’s mostly completely static, so no logic (like an HTTP redirect) was supported at all. They also only support one GitHub Page per free account from a private repository. Opensourcing the project wasn’t really a problem, but Google doesn’t really like duplicated content, so I didn’t want to risk it thinking my actual blog was a rip-off of its own GitHub repo.

I then turned to Cloudflare Pages. I have already been using Cloudflare as proxy and CDN for as long as I can remember, and their free plan supports 100K daily serves and multiple worker requests. The workers allow for back-end-like functionality by just writing a little JavaScript code, I used it for example to have a little subscribe button and will probably add comment support at some point. And because Cloudflare also offers cache (it was their original product), actual pages served are a lot lower than what users actually use. It was a total relief getting more than 30K pageviews in a day and not even having to think for a second about the thing being down because the server melted. This post is not sponsored of course, but quite frankly I’d be more than happy if it were.

The setup of a static website is so light and easy to maintain that at some point I even considered hosting it in my home’s Raspberry Pi. Using Cloudflare cache, even if I unplug it for a couple of days the website would still (mostly) work. But at the end, I don’t really see a downside of going with Cloudflare, and their CI would just deploy automatically every new change.

Why it works

So essentially now, this blog can potentially serve millions of pageviews a day and I’d just pay for the domain, and some AI tokens now and then if I wanted to change something. I know that I can go to the middle of nowhere, completely off the grid, and it would still be there. I’ve had DDoS attacks in the past and now it’s just not a concern. Google loves the super fast, clutter-free setup that’s pretty much always online.

This setup is not for everyone, it requires patience and some technical expertise, but as the barrier is way lower now than it used to be, I think we’ll see a lot more static websites from now on. In my case the benefits far outweight the downsides.

  1. Specifically, it was running out of space because of Docker container logs. I could have in theory limited the logging, but it was running on an old Docker version and I didn’t really want to spend the time investigating how to do it, or if it was even possible. 

  2. As someone who grew up admiring Matt, the last saga was personally heartbreaking. 

  3. I don’t really have experience with static websites, I remember people talking about early ideas back in the day. But as a Python lover, something doesn’t feel quite right about praising a Ruby project, so don’t trust me on this one. 

  4. The pagination plugins didn’t support the classic 1 2 3 > and I had to write one myself. 

Enjoyed this post?

Subscribe to get new posts by email.