Dies ist die wichtigste Komponente eines CMS: die Trennung von Layout und Inhalt wird in der Regel mit Hilfe eines Template-Systems realisiert. Ein Template enthält normalerweise den HTML-Code, der allgemein das Layout einer Webseite beschreibt.
Für verschiedene Ausgabemedien werden oft verschiedene Templates definiert. Hier ist es durchaus möglich, dass auch Templates erstellt werden, die keinen HTML-Code enthalten, sondern eine beliebige andere Sprache, die für das jeweilige Ausgabemedium geeignet ist (beim eMail-Versand zum Beispiel reinen Text, oder LATEX-Code um PDF-Dateien zu erzeugen).
An bestimmten Stellen in den Templates werden Platzhalter eingebaut, die verschiedene Aktionen auslösen können.
Bei einfachen CMS wird hier lediglich der konkrete Inhalt von Objekten, die zu einer Seite gehören, eingesetzt, z.B. anklickbare Überschriften aktueller Nachrichten, die Nachrichten selbst, usw.
Komplexere CMS bieten oft Schlüsselwörter oder eine eigene Sprache an, die zusätzlich andere Aktionen ausführen können, z.B. das Einsetzen der aktuellen Uhrzeit oder des Inhalts eines anderen Templates an dieser Stelle. Damit kann ein komplexes Layout in mehrere Bestandteile zerlegt werden. Eine Seite, die ein Benutzer auf seinem Web-Browser betrachtet, wird intern in einer Objekthierarchie gespeichert, deren Bestandteile wiederverwendbar sind. Das kann so aussehen wie in Abbildung 1 auf der nächsten Seite.
Im Beispiel sieht man, wie das main-Template in einer Ebene verschiedene Untertemplates aufruft. Das Hauptbereich-Template enthält nochmals drei Untertemplates, der verschiedene Newskategorien aufnehmen können. Der Redakteur kann hier die einzelnen Nachrichten bearbeiten und muss sich um den aufwändigen HTML-Rahmen nicht kümmern.
Für die Ablage der Template-Daten und auch der konkreten Textbestandteile einer Seite gibt es zwei Varianten:
Diese Abspeicherungsvarianten können je nach System für die Templates und Fülldaten auch abweichen. Sie müssen nicht unbedingt beide am gleichen Ort liegen. Häufig werden die Templates im Dateisystem und die einzufüllenden Daten in einer Datenbank gespeichert.
Manche CMS bauen die fertige HTML-Seite in Echtzeit aus den Templates zusammen, während andere die Seiten beim Ändern der Templates oder Hinzufügen/Abändern einer einzelnen Seite einmalig zusammenbauen und dann als fertige HTML-Datei auf dem Server ablegen. Hier ist es dann auch oft möglich, dass der Produktions- und der Live-Server zwei getrennte Rechner sind4.
Wenn das Design einer Webseite geändert werden soll, kann ein CMS seine Stärken ausspielen: man ändert lediglich die Templates, so dass sie das neue Design darstellen und lässt - falls das verwendete CMS nach diesem Verfahren arbeitet - alle Seiten neu generieren. Schon ist eine komplexe WWW-Präsenz auf eine neue Optik umgestellt (ganz so einfach ist es natürlich nur, wenn keine grundlegenden Änderungen an der Strukturierung der Webseite und ihrer Inhalte vorgenommen werden).