Content blocks in the CMS.
200 sections reduced to 85 blocks, without a single page changing.
- Role
- Concept and implementation
- Year
- 2026
- Technology
- Astro Sveltia CMS Cloudflare
Try the editor.
On the left is a page as a list. On the right is the page as it then looks. That was impossible before: the order was fixed in the template, so in the code.
Each entry names its block and carries its own text. Moving, copying, removing and adding sections works without a developer.
This is a demo. The pages and texts in this demo are made up, not the ones from Delta Akustik. The colours are those of this site. There is no CMS and no repository behind it, and nothing is saved.
Things to try: Move a section up, add a new one, change a heading and watch the page change on the right.
The interface of this demo is in German.
Redaktion, Beispielinhalte
Abschnitte
src/content/seiten/leistungen.md
Die Maske wird geladen.
Die Bausteine selbst stehen nicht in der Maske. Ein Baustein ist Markup, kein Inhalt. Dazu kommt ein harter Grund: Das CMS schneidet beim Speichern den Leerraum am Rand jedes Textfelds ab, und die Bausteine tragen ihren Leerraum mit Absicht. Ein einziges Speichern hätte 37 Seiten um zwei Zeichen verschoben. Die Redaktion wählt darum aus dieser Liste.
So sieht die Seite aus
4 Abschnitte
Die Vorschau wird geladen.
Mit erfundenen Texten. Die Seiten und Sätze oben sind erfunden, nicht die von Delta Akustik. Gezeigt ist die Bauart. Gespeichert wird nichts, es gibt kein CMS und kein Repo hinter dieser Demo.
The rebuild in numbers
- 200
- sections in the existing site, spread across 50 pages
- 85
- blocks afterwards. One of them appears 37 times
- 0
- differences in 95 delivered HTML files
- Cut A tool splits every page after each section and renumbers the placeholders in each piece.
- Reassemble The same tool rebuilds every page from the blocks. If one page differs, it writes nothing.
- Cross-check Not with the tool’s own comparison, but with diff -r across the entire output folder. Not a single difference.
- Safeguard The blocks stay out of the editing screen. A single save would have shifted 37 pages by two characters.
The figures come from the Delta Akustik website and have been re-measured.
The starting point
The Delta Akustik website has 94 pages. 50 of them each depended on their own template. The editors could change text, but they could not move a section or add a new one. The order was fixed in the code.
What visitors see of the website is shown in a separate work sample: Website for Delta Akustik.
What I did
Each of these 50 pages is now a list. Each entry names its block and carries its own text. Around 200 sections became 85 blocks.
The part I am proud of
The rebuild did not change a single page. I did not check with my own
comparison tool, but against the entire output folder. I copied it before the
rebuild and compared it afterwards with diff -r.
Result: not a single difference in 95 HTML files. Only the editing screen changed.
A decision against the obvious
The blocks themselves are not in the editing screen. A block is markup, not content. There is also a hard reason: when saving, the CMS trims the whitespace at the edges of every text field. That whitespace is the gap between two sections in the delivered HTML. A single save would have shifted 37 pages.
So the editors choose the block from a list. That is not more convenient, but it is safe.
What I did not convert
The home page and the reference projects stay as they were. Their block types do not appear on any other page. A rebuild that does not pay off does not happen.