Architecture
A backend that writes a C-Muster site.
The authoring side and the delivered side are two different programs. The first is Laravel 13. The second is a handful of files.
The two halves
A classic content system answers every request by booting a framework, loading a route, querying a database and rendering a template. CDPCMS does that work once — when you press publish — and never again.
Authoring runs on Laravel 13: blocks and fields, revisions, media processing, roles and two-factor login, the queue for scheduled publishing, and the read and write API. It lives behind the login and is never in the visitor’s path.
Delivery is a C-Muster site. The document root contains only directories beginning with C and a single index.php:
example.com/ ├── components/ shared header and footer ├── config/ constants and navigation, never public ├── content/ one directory per address, each with index.php ├── core/ assets and the 403 / 404 / 50x pages └── index.php the only entry point
The front controller turns the address into a path below content/, buffers that file, and wraps it in the shared head and footer. There is no router table, no template compiler and no ORM in that path. A page is a file, and the file is what the visitor gets.
Why this is fast
The measurable part is not clever, it is small. One request for the document, one for the stylesheet, one for the font. Assets carry a version in the address and are sent with a one-year immutable cache. Nothing blocks the first render, so the largest contentful paint is essentially the time it takes to download the document.
certthor.com is built exactly this way and scores 100 for performance, accessibility, best practices and SEO on mobile, measured on the live domain.
Can the CMS itself be built like the C-Muster?
The public half already is — that is the point of the design. The authoring half cannot be, and should not be: it needs sessions, a database, a queue, an upload pipeline and a permission model, and Laravel 13 exists precisely so that this does not have to be written by hand.
So the split runs along the line where it belongs:
- Everything a visitor touches is C-Muster — flat, absolute addresses, one stylesheet, no framework.
- Everything an editor touches is Laravel — behind the login, on its own hostname, where a few hundred milliseconds cost nothing.
The publish step is the bridge: it renders every page once and writes the C-Muster tree, including the error pages, the sitemap and the search index. Rolling back a release means putting the previous tree back in place.
What the platform provides
CDPCMS does not manage servers. ControlDeskPanel creates the vhost, issues the certificate, sets HSTS and HTTP/3, and runs the mail. CDPGuard filters the traffic in front of it. CTPFDNS answers the names. CDPCMS only writes files into a document root that already exists.