Astro + WordPress Headless Publishing System
A personal publishing system that keeps WordPress for authoring while Astro and Netlify deliver a statically generated public site.
- Role
- Designer and Developer
- Status
- Personal publishing project
Project overview
SamiranKakoty.com is my personal publishing site for essays, reviews, and smaller experiments. It evolved through several WordPress approaches before I settled on a headless architecture: WordPress remains the authoring system, while Astro.js renders the public site and Netlify handles delivery.
Why WordPress stayed
The editorial workflow already worked well. Drafting, scheduling, media handling, and existing content did not need to be replaced simply because I wanted a faster and more controllable front end. Keeping WordPress allowed the CMS to focus on authoring instead of serving public traffic.
Publishing integration
I built a custom WordPress plugin that connects publishing events with the Astro and Netlify workflow. It coordinates content changes and front-end rebuilds so I can continue publishing from WordPress while the public site stays statically generated.
Front-end architecture
Astro provides component-based layouts and static generation by default. Netlify provides the deployment layer, including previews, CDN delivery, atomic deploys, and rollback capability.
Why the split works
- Editorial simplicity: WordPress remains familiar and focused on content.
- Public attack surface: the public site is a static build rather than an exposed WordPress runtime.
- Performance: Astro can ship lightweight HTML and only the JavaScript that is needed.
- Maintainability: front-end components and publishing concerns can evolve independently.
- Delivery: static deployments are easy to preview, replace, and roll back.
WordPress plugin review status
The custom publishing plugin was developed and submitted to the WordPress plugin review process. It was not approved or published in the WordPress.org directory, so I do not represent it as a directory plugin.