Building my own Centralized CMS Blog: Why I chose Astro and Payload

F
fluxdev
Mar 20, 20262 min read
ShareXLinkedIn
Building my own Centralized CMS Blog: Why I chose Astro and Payload

Creating a personal blog is often the rite of passage for any web developer. Throughout my career, I have tried countless tools: WordPress, Ghost, Hugo, Gatsby, and even manually writing Markdown files in a Git repository. But for this iteration of my online presence, I wanted something truly bulletproof: a modern, strongly-typed, blazing-fast, and immensely scalable architecture.

The Search for the Perfect Headless CMS

My main struggle with previous solutions was intense coupling. I wanted my content centralized so I could theoretically swap out the frontend over time. Payload CMS version 3 was an absolute revelation in this regard. Being built natively on top of Next.js (App Router), it offered a solid framework with native TypeScript support and robust storage via PostgreSQL and Drizzle ORM. It is essentially the Headless API of my dreams.

Astro: Ludicrous Speed by Default

With the database and REST/GraphQL API impeccably handled by Payload, the only missing piece of the puzzle was the public-facing blog. This is where Astro steps up to the primary roster. Astro is a framework heavily optimized for content-driven sites. Its "Islands" architecture ships pure static HTML by default, loading JavaScript components (React, in my case) exclusively when absolutely necessary or interactive.

Structuring Internationalization (i18n)

The hardest challenge was ensuring the blog could operate fluently in both English and Spanish. Thankfully, Payload CMS integrates native multi-language support. It literally took adding two configuration lines for the CMS to spin up a relational translations table and allow me to draft posts using a simple tab-switcher, without duplicating entries. Then, on the frontend, Astro's own local routing mapped those entries to `/` and `/en/`.

Stack Conclusions

I could not be happier with how well decoupled these two environments are. Payload beautifully shoulders the heavy transactional data entry logic, and Astro pulls from its swift API at build-time to output glorious, hyper-fast, easily indexable HTML. If you are ever pondering a full rewrite of your website, I highly vouch for this combination.

F

fluxdev

Software developer

About me

Related posts