From WordPress to a Go CMS: Why the Migration Was Easier Than Expected
Moving from WordPress to a Go-based CMS — what the WXR import handled, what needed manual work, and the surprises that made it easier than feared.
Moving from WordPress to a Go-based CMS — what the WXR import handled, what needed manual work, and the surprises that made it easier than feared.
Go's html/template escapes output automatically — that is the feature, not a limitation. How it stops the XSS you would otherwise write, and where it gets in the way.
Comments are where a small site gets spammed and defaced. Here is the approve-first moderation flow that keeps comments useful without hiring a moderator.
Google rewards experience, expertise, authority, and trust. For a solo site the strongest signal is one you control: demonstrably real use of every tool you review.
This site started as a hand-built static generator and moved to my own Go CMS. The honest reasons: content workflow, ad slots, and the cost of static's purity.
The docs that pay for themselves: a DEPLOY.md, a DESIGN.md, and a SECURITY.md in the repo. What each one prevents, and how to keep them honest.
A hands-on account of writing a ~600-line Go static site generator for a data-driven site — the pieces, the pitfalls, and the honest build-vs-adopt decision.
A Go CMS that is one executable plus a SQLite file. No PHP, no MySQL, no package soup — and what that does to deployment, security, and ops.
Behind the scenes of the /tools section: YAML definitions + a tested Go math engine + a JS mirror. Adding a new calculator is a config entry, not a code change.
I hand-built a Go static site generator for this site. Here is the honest comparison against Hugo, from someone who has now done both.