---
title: 'PHP has a Static Site Generator'
description: 'Stenope renders static HTML straight from your Symfony app — the same Twig, routing and services you already know. No server, no database, no second stack.'
date: '2026-09-10'
---

[Symfony](https://symfony.com) is a great framework — especially for the complex stuff.

But when it comes to plain websites, I saw only two real options for years:

- a CMS like [Drupal](https://www.drupal.org) or [Sulu](https://sulu.io)
- a stripped-down Symfony application

Both need a web server, a PHP runtime — and sometimes even a database.

For the bit of HTML that ends up being served from the edge via HTTP cache anyway, I always considered this unnecessary — and above all, expensive.

So I started playing with the idea of building my personal site as a Static Site Generator (SSG).
[Cloudflare Pages](https://www.cloudflare.com/products/pages/), for instance, cost close to nothing and serve pre-rendered HTML at edge speeds — no server, no PHP, no database.

As a Symfony enthusiast, I naturally wondered whether I could pull this off with the Symfony framework itself.
I remembered [Sculpin](https://sculpin.io) — a Static Site Generator built on Composer, Symfony components and Twig.
Sculpin is a genuinely great project, but it's very much its own thing — structurally and conceptually quite different from the Symfony framework as we know it.

So I was already leaning toward [Next.js](https://nextjs.org), [Gatsby](https://www.gatsbyjs.com) or [Hugo](https://gohugo.io).
Then I stumbled across [Stenope](https://stenopephp.github.io/Stenope/).

This wonderful Symfony bundle turns any Symfony project into a Static Site Generator in no time at all.
And even when rendering static HTML isn't the goal, Stenope's clean content model puts a powerful tool in our hands.
