Webdesign & -entwicklung

Content-Management-System (CMS): Was ist das eigentlich?

Content-Management-System (CMS)
Veröffentlicht am:
Lesedauer:
9 Minuten

In diesem Artikel möchte ich euch zeigen, was ein Content-Management-System überhaupt ist, wie es genau funktioniert und wo die Vor- und Nachteile gegenüber statischem HTML liegen.

Schauen wir uns einmal an, was passiert wenn wir eine Webseite aufrufen. Wir gehen in unseren Webbrowser und tippen die Adresse ein. Wenn wir jetzt auf Enter drücken, versucht der Browser die Domain (deutsch: Bereich) beim DNS-Server (Domain-Name-System - abgekürzt: DNS - deutsch: Bereichs-Namens-System) in eine IP-Adresse aufzulösen. DNS Lookup Tool - DNS Tools - MxToolbox

Der Browser kontaktiert dann den Webserver unter der über die Adresse aufgelösten IP-Adresse und „fragt“, was unter der Adresse abgelegt ist. Der Webserver schaut nach und liefert den HTML-Code für die Webseite zurück.

Der Browser interpretiert den HTML-Code und zeigt die Webseite an.

Der Webserver liefert immer HTML-Code, egal ob wir ein CMS verwenden oder nicht. HTML bedeutet Hypertext Markup Language (deutsch: Hypertext-Auszeichnungssprache) und ist eine textbasierte Auszeichnungssprache für elektronische Dokumente (Webseiten). Hypertext Markup Language – Wikipedia

Es gibt verschiedene Webbrowser (Browser auf deutsch: stöbern, schmökern), aber das Prinzip ist in allen dasselbe. Egal ob Google Chrome, Microsoft Edge, Mozilla Firefox, Apple Safari…

Eine der Herausforderungen in der Webentwicklung haben wir damit auch schon identifiziert, der Browser interpretiert den HTML-Code und das macht jeder ein bisschen anders. Deswegen muss man bei der Entwicklung darauf achten, dass man seine Seite in allen Browsern auf Darstellungsfehler überprüft.

Kommen wir nun zu den Arten von Webseiten, ganz grob lässt sich das einteilen in statische Webseiten und dynamische Webseiten.

Eine statische Webseite ist in HTML geschrieben, während eine dynamische Webseite ein Content-Management-System verwendet. Eine statische Seite liegt fix und fertig auf dem Server und wird genau so ausgeliefert, während eine dynamische Webseite zum Zeitpunkt des Aufrufs vom CMS zusammengebaut und dann erst ausgeliefert wird.

statisches HTML

Was ist das?

Arten von Webseiten
Arten von Webseiten

Eine Webseite die in statischem HTML geschrieben ist, hat für jede Seite, Unterseite, Blog-Übersicht, Artikel… eine eigene HTML-Datei (.hmtl). In dieser ist der gesamte HTML-Code für diese Seite gespeichert.

Wie funktioniert das?

statisches HTML
statisches HTML

Die Benutzer fragen über den Browser beim Webserver an, was unter der angegebenen Adresse abgelegt ist, der Webserver findet die HTML-Datei und liefert diese an den Browser aus.

Die Entwickler erstellen für jede Seite eine HTML-Datei, die die komplette Seite inkl. Header (Kopfzeile), Navigation, den eigentlichen Inhalt, Footer (Fußzeile) enthält und das für jede Seite, Unterseite, Artikel… Diese HTML-Dateien laden sie auf den Webserver.

Vorteile

  • Geschwindigkeit: Die HTML-Datei liegen fertig auf dem Webserver und werden nur ausgeliefert. Das geht rasend schnell.
  • einfach: Gerade für ganz kleine Projekte mit nur einer Seite, wäre ein CMS völlig überzogen.
  • ressourcenschonend: Der Webserver muss keinen Programm-Code ausführen. Damit wird kein leistungsstarker Server benötigt.

Nachteile

  • wiederholende Elemente: Sich wiederholende Elemente wie Header, Footer, Navigation müssen in jede Datei eingebaut werden.
  • unkomfortabel bei Änderugen: Wird z. B. die Navigation geändert, müssen alle Dateien einzeln bearbeitet werden, da die Navigation in jeder Datei enthalten ist.
  • Einheitlichkeit: Werden bei Änderungen von sich wiederholenden Elementen einzelne Dateien vergessen, ist die einheitliche Ansicht der Seite dahin.
  • HTML-Kenntnisse erforderlich: Der Inhalt der Seiten kann nur geändert werden in dem man den HTML-Code bearbeitet.

Fazit

Eine Webseite in statischem HTML bietet eine hohe Geschwindigkeit und kommt mit geringen Hardware-Ressourcen zurecht. Für kleine Projekte mit ganz wenigen oder vielleicht sogar nur einer Seite ist das völlig ausreichend.

Wenn eine Webseite aber mehrere Seiten und vielleicht Blog-Artikel oder ähnliches haben soll, wird statisches HTML auf Grund der sich wiederholenden Elemente schnell unpraktisch und arbeitsintensiv für die Entwickler.

Dazu kommt: Vom Laien ist der Inhalt nicht änderbar.

Content-Management-System

Was ist das?

Arten von Webseiten
Arten von Webseiten

Eine dynamische Webseite wird vom Content-Management-System (abgekürzt: CMS - deutsch: Inhaltsverwaltungssytem) zum Zeitpunkt des Aufrufs zusammengebaut und der generierte HTML-Code an den Browser ausgeliefert. Auf dem Webserver sind keine fertigen HTML-Dateien gespeichert.

Die Hauptaufgabe eines CMS ist die Trennung von Inhalt (Content) und Layout. Das wird über die Template-Technik erreicht.

Dabei wird der gesamte HTML-Code nur einmal in verschiedenen Templates (deutsch: Vorlagen) gespeichert. Jedes Element (Header, Navigation, Footer) bekommt eine eigene Template-Datei. In diesen Templates sind Platzhalter für die Variablen (Titel, Logo, Navigationselemente, Inhalt der Seite, Titelbild) enthalten.

Der eigentliche Inhalt der Webseite wird in der Regel in einer Datenbank gespeichert. Alle Seiten, Artikel und Einstellungen werden in Tabellen der Datenbank verwaltet.

Wie funktioniert das?

Content-Management-System (CMS)
Content-Management-System (CMS)

Das CMS wird auf dem Webserver installiert. Auf dem Datenbank-Management-System (abgekürzt: DBMS) wird die Datenbank eingerichtet und mit dem CMS auf dem Webserver verbunden.

Zum Zeitpunkt des Aufrufs der Webseite werden vom CMS die Templates und der Inhalt aus der Datenbank dynamisch zusammengesetzt. Also die Platzhalter im Template durch die aus der Datenbank abgerufenen Inhalte ersetzt und der so generierte HTML-Code an den Browser übermittelt.

Dieser Prozess stellt das Frontend (deutsch: Vorderseite) des CMS dar. Das Frontend ist also die eigentliche Webseite.

Die Entwickler greifen über den Browser auf eine Administrationsoberfläche zu. Dort können die Einstellungen des CMS geändert, das Design angepasst und die Inhalte gepflegt werden.

Diese grafische Oberfläche nennt man auch Backend (deutsch: Rückseite).

Welche CMS gibt es?

Arten von CMS

  • auf dem eigenen Webserver installiert:
    WordPress, Joomla, Drupal, Typo3
  • aus der Werbung bekannte Baukästen mit Hosting:
    Wix, Jimdo
  • eigene Entwicklung:
    PHP, JavaScript, ASP.NET

Top 10 CMS

[Content-Management-Systeme (CMS) - Marktanteile 2021 | Statista](https://de.statista.com/statistik/daten/studie/320670/umfrage/marktanteile-der-content-management-systeme-cms-weltweit/)
[Content-Management-Systeme (CMS) - Marktanteile 2021 | Statista](https://de.statista.com/statistik/daten/studie/320670/umfrage/marktanteile-der-content-management-systeme-cms-weltweit/)

Vorteile

  • Trennung von Inhalt und Layout: Durch die Trennung von Inhalt und Layout können Änderungen am Design einfach vorgenommen werden. Dafür wird das entsprechende Template geändert und die Änderung ist für alle Seiten wirksam.
  • viele Features: Die meisten CMS bringen viele Features schon mit. Verschiedene Inhaltstypen (Seiten, Artikel, Projekte), Taxonomien (Kategorien, Tags), Kommentare, Benutzerverwaltung, Medienverwaltung (Grafiken, Videos)…
  • Themes & Plugins: Durch die Installation von Themes und Plugins kann das CMS erweitert werden.
  • keine HTML-Kenntnisse erforderlich: Der Inhalt der Seiten (Texte & Grafiken) kann über die Administrationsoberfläche in einem WYSIWYG-Editor bearbeitet werden.
  • kontrollierte Veröffentlichung: Ein Blog-Artikel kann automatisch zu einem angegebenen Zeitpunkt veröffentlicht werden.

Nachteile

  • Installation & Konfiguration: Ein CMS muss auf dem Webserver installiert, und konfiguriert werden. Dazu gehört auch die Einrichtung und Verbindung mit der Datenbank.
  • komplex: Die Features von CMS sind in den letzten Jahren sprunghaft angestiegen, dazu kommen extrem mächtige Themes und viele Plugins.
  • ressourcenhungrig: Durch die hohe Komplexität eines CMS braucht es viele Hardware-Ressourcen. Die Anforderungen an den Server sind gerade bei WordPress sehr hoch.
  • Sicherheit: Je komplexer ein System ist, umso wahrscheinlicher sind Sicherheitslücken. Je verbreiteter eine Software (CMS) ist, umso mehr Menschen suchen und finden diese Sicherheitslücken.
    Auch SQL ist ein beliebtes Ziel für böswillige Angriffe. Mit SQL-Injections versuchen Angreifer, eigene Befehle in die Datenbank einzuschleusen und so Daten auszuspähen und zu manipulieren.
  • Performance: Durch die hohe Komplexität und den damit verbundenen Hunger nach Hardware-Ressourcen braucht es einen potenten Server um hier eine gute Performance (Ladezeit) zu erzielen.
    Diese ist aber sehr wichtig um gute Suchmaschinen-Positionen zu erreichen.

Fazit

Für eine größere Webseite, einen Blog oder Shop ist ein CMS unverzichtbar. Durch die Trennung von Inhalt und Layout können Änderungen am Design schnell vollzogen werden.

Je nach verwendetem CMS kann auf eine Vielfalt von Themes und Plugins zurück gegriffen werden. Dadurch ist die Umsetzung eines Projekts oftmals schnell und einfach.

Die Inhalte können auch von Laien mit Editoren erstellt und gepflegt werden.

Das Hosting-Paket bzw. der Webserver muss in seiner Leistung dem CMS angepasst sein. Gerade bei komplexeren Systemen ist die Performance sonst einfach mies.

Um die Sicherheit zu gewährleisten muss dass gesamte System ordentlich konfiguriert sein. Mit den nach der Installation gesetzten Standard-Einstellungen ist das oft nicht der Fall. Außerdem müssen das CMS, die Themes und Plugins regelmäßig aktualisiert werden.

Welches CMS soll ich verwenden?

Das CMS muss zu dem Projekt passen. Wie wir gesehen haben ist WordPress extrem weit verbreitet. Es gibt dafür massenweise Themes und Plugins, dadurch gibt es fast keine Funktion, die man mit WordPress nicht umsetzen kann. Nicht umsonst setzen weltbekannte Unternehmen wie das Time Magazine, Walt Disney, Sony Music, Mercedes Benz oder Microsoft auf WordPress.

Für eine kleinere Webseite ist zu überlegen ob nicht statisches HTML ausreicht oder ob statt dem schweren überwältigenden WordPress auch ein leichteres CMS ausreicht.

Am Ende kommt es darauf an einen gesunden Mix aus benötigten Funktionen für mein Projekt, Ressourcenbedarf des CMS und Leistungsfähigkeit des verwendeten Servers bzw. Hosting-Pakets zu finden. - Sonst leidet der PageSpeed (Ladezeit) und damit das Ranking in Suchmaschinen.

Nicht umsonst bieten viele Hosting-Unternehmen spezielle Hosting-Paket für WordPress an. Diese bieten wesentlich mehr Performance, kosten aber auch deutlich mehr. - Passt dieser Preis dann auch zu der Anzahl an Aufrufen für mein Projekt?

Static Site Generator

Eine Mischform zwischen CMS und statischem HTML sind so genannte Static Site Generatoren. Dabei wird zwar ein CMS verwendet, aber am Ende die Seiten als HTML-Dateien exportiert und diese HTML-Dateien werden dann vom Webserver ausgeliefert.

Damit nutze ich den Komfort eines CMS, habe aber die Performance von statischem HTML. Das funktioniert aber nur mit einfacheren Seiten. Wenn die Webseite programmierten Funktionen hat, werden diese im statischen HTML nicht mehr ausgeführt. Beispielsweise eine Suchfunktion, Kontaktformular…

Schlagwörter:
CMSHTML