A little over a year ago I wrote about going static, moving this site from a Cloudways server to Cloudflare Pages using WordPress + the Simply Static plugin. At the end of that post I said “I’m excited to work on simplifying it and maybe base it around Markdown… we’ll see.” Well, here we are.
The old setup worked, but it was annoying. I had to run a full WordPress install locally via Laravel Herd, write a post, export the entire site with Simply Static, and then manually deploy. It felt like driving a truck to get groceries.
So I Claude Code rebuilt the whole thing with Hugo.
The source of truth is now a folder of Markdown files in a git repo. No database, no PHP, no plugins. Just text files that I can edit with whatever I want. Hugo builds the site in milliseconds and the output goes to Cloudflare Pages as static assets.
What I cared about:
- Keep every old URL working: Hugo generates the same
/:slug/permalink structure WordPress used. No redirects needed, no broken links. This was non-negotiable. - Markdown as the source of truth: writing and versioning in the same place.
git logis my changelog now. - Fast hosting: Cloudflare Pages for static assets is extremely fast and free.
- llms.txt support: I added llmstxt.org compliant output so AI tools can read my content properly. Every post gets a
/index.mdalongside the HTML, plus there’s a site-wide/llms.txtand/llms-full.txt.
The entire migration that included export script, custom Hugo theme, llms.txt templates and deployment config was done in a couple of Claude Code sessions.
The theme is called vivre. It’s plain CSS, no build tools, no JavaScript frameworks. Just Petrona for body text and Work Sans for headings. I wanted something that felt warm and emphasized the content.
I’m very happy with this setup. Writing a new post is now: create a .md file, write, hugo server -D to preview, push, deploy. That’s it. The simplicity I was looking for all along.
PD: If you’re curious about the llms.txt stuff, try hitting /llms.txt or /llms-full.txt on this site. Pretty cool, right?
I no longer have comments enabled here, but you can reach me on X.