
Build notes
Read articleFrom WordPress to Gatsby to Astro and Cloudflare Pages: How My Blog Evolved
A historical migration story updated to explain how this blog evolved from WordPress to Gatsby and later to Astro on Cloudflare Pages.

A practical 2026 comparison of WordPress, Contentful, Ghost, and Medium, with modern static and headless options and clearer recommendations by use case.
Choosing a platform for a blog sounds simple until you care about ownership, performance, SEO, portability, editing workflow, and whether you will still like the setup in two years. That is why “just use X” advice is usually too shallow.
I have used WordPress extensively, moved this site through headless and static setups, and I care a lot more now about how the platform fits the kind of site you are actually trying to run.
WordPress:
best for general-purpose sites and teams needing a mature CMS. Main trade-off: it can become plugin-heavy and operationally messy.
Contentful:
best for structured content and multi-surface publishing. Main trade-off: you need to build the frontend properly.
Ghost:
best for writer-focused publishing and memberships. Main trade-off: it is narrower than a full CMS.
Medium:
best for publishing quickly to an existing network. Main trade-off: you do not really own the platform or experience.
WordPress is still the most practical answer for a huge number of websites. That is not fashionable, but it is true. If you need a mature CMS, lots of editorial familiarity, a broad plugin ecosystem, and a site that non-developers can usually keep moving, WordPress is hard to dismiss.
The downside is the same as ever: it is easy to accumulate too many plugins, too much theme complexity, and too much operational drag. WordPress is great when it stays boring. It gets rough when it becomes a tangle of half-owned dependencies.
Contentful is a good fit when structured content matters and the frontend is yours to build properly. That is why I liked it for a headless/static publishing workflow. You get cleaner content modelling and much better portability across multiple surfaces than a conventional blog engine gives you by default.
The trade-off is obvious: Contentful is not your finished website. It is your content platform. You need engineering discipline around the actual site.
Ghost is strongest when the goal is a publication, newsletter, or membership product rather than a flexible CMS platform. The writing experience is good, the setup is lighter than a custom headless stack, and it avoids a lot of WordPress bloat.
I would choose Ghost for a writer or publication that wants a polished publishing platform without building a custom frontend.
Medium is the fastest way to publish and the weakest option for ownership. If your goal is distribution, community reach, or simply writing without managing a site, it can still be useful. If your goal is building your own durable publishing asset, I would not make Medium the centre of it.
This is where the older comparison needs updating. In 2026, I would also consider:
Astro content collections
if you want the simplest content-in-repo model.
MDX
if your posts need rich component-level control.
Sanity
if you want a modern structured-content workflow.
Payload CMS
if you want more application-grade control in your own stack.
Strapi
,
Decap CMS
, or
TinaCMS
depending on how much control, editing polish, and Git-based workflow you want.
Astro with content collections or a lightweight headless setup, if you are technical and want ownership, speed, and a clean site. WordPress or Ghost if you want less engineering involvement.
WordPress still makes sense for many teams. Contentful or Sanity makes sense when structured content and multi-channel publishing matter.
A static-first setup wins for me. Astro plus Markdown or MDX is hard to beat if you care about performance, control, and portability.
Ghost or WordPress. Medium only if distribution matters more than ownership.
These questions matter more than feature checklists.
Ownership:
WordPress, Ghost, and static-first setups are stronger than Medium here.
SEO:
all of them can work, but static-first setups often make performance and clean markup easier.
Portability:
structured content or content-in-repo usually ages better than platform-specific layouts.
Cost:
“cheap to start” and “cheap to keep healthy” are different questions.
If I were starting a personal technical blog today, I would still choose a static-first stack with either Markdown content collections or a small headless CMS. If I needed a flexible team CMS tomorrow, I would consider WordPress before pretending I am above it. If I wanted a publishing product, I would look at Ghost. If I only wanted reach, I would syndicate to Medium, not build on it.
The right choice is less about which platform is coolest and more about which one you will still be happy maintaining after the novelty wears off.
A small, privacy-first analytics choice.
This site uses lightweight analytics to understand which notes and pages are useful. Accepting enables PostHog analytics. Declining keeps analytics off.