CMS

Ein Content-Management-System (kurz CMS) ist eine Software zum „Verwalten“ von Inhalten und deren Präsentation.

  1. Content steht für beliebige Inhalte (Text, Bilder, Videos) die in IT Systemen gespeichert werden.
  2. Management steht für die Verwaltung, Verarbeitung (Ausgabe, Präsentation) und Kontrolle (Berechtigungen) der obigen Inhalte.
  3. System steht für, nun ja, System aus Programm, Datenbank und Webserver.

Heute wird mit CMS meist ein Web-Content-Management-System (kurz WCMS, oder WMS) bezeichnet, im Unterscheid zum ECM (Enterprise-Content-Management).

Diese lassen sich grob in 2 „Bereiche“ unterteilen, die bequemer Weise beide über einen Internetzugang mit einem Browser zu erreichen sind:

  1. Das Backend (Passwort geschützt) indem Personen die Inhalte erstellen, verändern oder löschen können.
  2. Das Frontend ist nichts anderes als die Ausgabe dieser Inhalte als HTML Seiten (durch CSS und JS unterstützt).

Inhalt:

Funktion

Es geht primär darum, Webseiten zu erstellen. „Früher“ geschah dies „irgendwie“ (siehe unter Alternativen) lokal auf einem Rechner, und dann wurde die fertige neue Seite per FTP auf den Webserver hochgeladen.

Schematische Darstellung eines CMS aus Sicht der Endanwender bzw. Redakteure

Mit einem CMS (das auf einem Webserver läuft) arbeitet man online mit einem Browser um neue Seiten zu erstellen (Backend). Nach speichern und „Freigabe“ liegt der Text in einer Datenbank, und wird „publiziert“.


Nebenbei kümmert sich das CMS mehr oder weniger automatisch um die Anpassung des Menüs (Navigation) sowie um andere Kleinigkeiten (Aktualisierung der Rubrik „letzte Artikel“, etc.).

Grundlagen

Was ist Content-Management?

Mit Content-Management wird die vom Layout und Darstellung getrennte Verwaltung von Inhalten bezeichnet. Content setzt sich aus der Substanz, also Text, Bild und Audio- oder Video-Informationen, sowie den Metadaten, wie Autor, Erstelldatum oder Veröffentlichungszeitraum zusammen. Diese Informationen werden in Datenbanken gespeichert und können so unabhängig vom Layout, also vom Erscheinungsbild, verwaltet werden.
Durch die Ablage der Daten in einer Datenbank können diese in unterschiedlichen Formaten dargestellt und verwendet werden (HTML, WAP, XML, PDF, E-Mail). Über eine Benutzeroberfläche ist zudem die Verwaltung der Inhalte einfach und effizient möglich. Kenntnisse in einer Programmiersprache sind i.d.R. nicht erforderlich.

Was gehört zum Content-Management?

Neben der Verwaltung der Inhalte ist ein Benutzer- und Rechte-Management nötig. So können Arbeitsprozesse (Workflows) definiert und abgebildet werden. Der Zugriff auf die unterschiedlichen Inhalte wird über Zugriffsrechte geregelt. So kann bestimmt werden, welche Benutzer (Redakteure) Inhalte erstellen, editieren oder löschen dürfen.

Was ist Workflow-Management?

Unter Workflow-Management versteht man das Abbilden von Arbeitsprozessen. Im Zusammenhang mit Content-Management-System ist meist die Definition von Veröffentlichungsabläufen gemeint. Über einen Workflow kann beispielsweise die Erstellung einer Pressemeldung Schritt für Schritt festgelegt werden. Es wird festgeschrieben, wann welche Benutzer(-gruppen) welche Aufgaben oder Aktionen erledigen dürfen oder müssen. Das Workflow-Management ist an die Benutzer- und Rechteverwaltung angelehnt.

Vorteile

Content Management Systeme wurden aus mehreren Gründen beliebt:

  • Technische Hilfestellung wie Versionsführung der Texte, WYSIWYG-Editor, Mehrsprachigkeit der Oberfläche im Backend, Benutzerverwaltung mit Berechtigungskonzept.
  • Zur Erstellung einer Internetpräsenz waren keine HTML, CSS oder Programmiersprachen Kenntnisse erforderlich, zumindest nicht nachdem das CMS einmal „aufgesetzt“ war.
  • Trennung von Inhalt und Präsentation (Design, Layout), siehe weiter unten.
  • Plug-Ins (Extension, Add-On): das CMS liefert das „Grundgerüst“ und Programmierer entwickeln dann „Erweiterungen“ die die Funktionalität in bestimmten Bereichen ausbauen. Zum Beispiel SEO-Plug-Ins (die sich u.a. um die Meta-Daten eine Seite kümmern), Bilder-Galerie Plug-Ins, Shop Plug-Ins, etc.
  • Themes: Solche liefern als sogenannte Templates das Layout der Seiten, sowie allgemeine Formatierungen (Überschriften, Tabellen, Listen, Links, etc.).
  • Fast immer „Open Source“: GNU General Public License
  • In Skriptsprachen wie PHP, Perl, Python geschrieben. Unterstützung der weit verbreiteten DB MySQL (ebenfalls Open-Source-Software).
  • Engagierte Online-Community

Trennung von Inhalt und Präsentation

Ein CMS speichert nicht den HTML Code der erstellten Seiten, sondern erzeugt ihn zur Laufzeit aus den einzelnen Bestandteilen: Texte, Bilder, Template, etc.

Aus Architektur Sicht eine ganz famose Idee. Aus den in der Datenbank abgelegten Text (für jede URL = Unterseite) meistens genau einer, baut das CMS eine komplette Webseite, mit Hilfe seiner inneren Logik und des Templates.

Da sich HTML und CSS Spezifikationen immer noch ändern (wenn auch nicht so gravierend wie noch vor 15 Jahren), reicht es den Kern des CMS und / oder das Template anzupassen, und Schwups, haben alle Unterseiten z.B. statt des alten HTML tag (depriciated) das neue. Auch neue Implementierungen (wie z.B. das für responsive Design unerlässliche meta-tag „viewport“ ) lassen sich so sehr einfach umsetzen.

Multimedia

Die Texte liegen in einer Datenbank. Bild, Video, Audio, PDF, xls Dateien nicht. Diese werden in einem oder mehreren Unterordern (häufig „uploads“ genannt) innerhalb des, auf dem Webserver installierten CMS, gespeichert, und können vom lokalen Rechner, über das Backend per Drag & Drop dort abgelegt werden.

Aus SEO Sicht ist dieses Vorgehen suboptimal, da u.U. sehr wichtige Inhalte einer Unterseite, unter einer völlig anderen URL abgelegt werden.

Nachteile

Sicherheits-Lücken:

alle der bekannteren CMS hatten bereits mehrfach mit Sicherheitsproblemen zu kämpfen. In der Tat ist es so, das Hacker sich fast ausschließlich auf das am weitesten verbreitete CMS, WordPress, stürzen. Damit verbunden ist die quasi die Pflicht zu regelmäßigen Updates, mit vorherigem BackUp.

Stabilität:

Die einzelne Content-Management Systeme sind vom Kern her sehr stabil. Nur gibt es so gut wie keine Installation, die ohne Plug-Ins und Themes auskommt. Und diese werden nicht einmal annähernd in jeder Kombination getestet, und treten sich schon mal gegenseitig auf die Füße.

Ladezeiten:

Viele, wenn auch nicht alle, Content Management Systeme drücken die Ladezeit einer Seite in den Keller. Dies liegt prinzipiell weniger an der Datenbank, als vielmehr an den zahllosen php-Dateien die geladen und ausgeführt werden müssen.

Gerade WordPress ist für seine langsame Performance berüchtigt, weshalb unzählige, sogenannte Caching Plug-Ins existieren, die „statische“ Seiten erzeugen. Doch auch mit deren Einsatz gelingt es kaum eine WP basierte Domain auf unter 1,2 Sekunden zu bringen. Zum Vergleich: reine HTML Seiten laden in 0,2 – 0,3 Sekunden (hängt natürlich auch vom Server, der Anbindung und den Bildern ab).

Überdimensioniert:

Wenn Sie einen Shop mit tausenden von Produkten, oder eine große Informationswebseite mit ebenso vielen Artikeln betreiben, ist ein CMS unerlässlich.

Für die typischen Visitenkarten von Ärzten, Rechtsanwälten, Handwerken etc. die meist aus 5 Unterseiten bestehen, ist ein CMS zu viel des Guten (Nebenbei: aus solchen Seiten sollte man aus SEO Sicht eh einen „One-Pager“ machen).

Die großen Stärken eines CMS kommen hier nicht zum Tragen, wohl aber die Nachteile, insbesondere die Ladezeiten und die Security. Und welcher Selbstständige möchte, das seine gehackte Webseite, seinen Besuchern / Kunden einen Trojaner unterschiebt.
Ab welcher Seitenanzahl ein CMS benötigt wird, lässt sich pauschal nicht beantworten. Es hängt stark davon ab, wie oft sich die einmal erstellten Seiten ändern, und wie häufig neue Seiten dazukommen.
Als Orientierung: Domains mit 200 bis 300 Seiten, die sich selten ändern, lassen sich problemlos ohne CMS betreiben. Voraussetzung ist allerdings das man die sehr mächtigen (u.a. „reguläre Ausdrücke“) Suchen & Ersetzen Funktionen von Editoren wie Notepad++ beherrscht, um in einem Rutsch alle Unterseiten anzupassen (und ohne etwas zu „zerschießen“).

Features

Die Features unterscheiden sich natürlich, aber hier die gängigen Funktionen im Überblick:

  • Trennung Layout und Inhalt
  • Versionsmanagement
  • WYSIWYG-Editor
  • Benutzermanagement
  • Volltextsuche für CMS und Webseite
  • Automatische Updates
  • Kategorien und Verschlagwortung (Tags) von Inhalten
  • Archivierung alter Inhalte
  • Mehrsprachige Benutzeroberfläche (deutsch, englisch, französisch, usw.)
  • Backup-Funktionen
  • Multimedia Verwaltung

Systemanforderungen

Meistens benötigt ein CMS einen Webserver (Apache o.a.) und eine Datenbank (MySQL, o.a.) sowie PHP, Pearl oder Phyton.

Damit der geneigte Anwender / Programmierer Anpassungen auch „offline“ also auf seinem Laptop / PC testen kann, wurde XAMPP ins Leben gerufen.

XAMPP ist ein von Apache Friends entwickeltes kostenloses und quelloffenes plattformübergreifendes Webserver-Paket, das hauptsächlich aus dem Apache HTTP Server, der MySQL-Datenbank und Interpretern für Skripte der Programmiersprachen PHP und Perl besteht.

XAMPP ist nicht für den Einsatz als Produktivsystem (z. B. als öffentlicher Webserver) gedacht, sondern für Entwickler, die möglichst schnell ein kompaktes Testsystem aufsetzen möchten.
Ein Ziel von XAMPP ist einfache Installation der unterstützten Betriebssysteme (Windows, MacOS, Linux). Offiziell beabsichtigten die Designer von XAMPP, es nur als Entwicklungswerkzeug zu verwenden, um Website-Designern und Programmierern zu ermöglichen, ihre Arbeit auf ihren eigenen Computern ohne Zugang zum Internet zu testen. Um dies so einfach wie möglich zu gestalten, sind viele wichtige Sicherheitsfunktionen standardmäßig deaktiviert.

Marktanteile

Marktanteile der Content Management Systeme

Etwa 50% der Top 40 Millionen Websites verwendet entweder kein CMS oder ein unbekanntes. Zum Vergleich: Dreamweaver kommt auf etwa 2,6 Millionen Installationen, und liegt damit in derselben Größenordnung wie Joomala!


Zu den bekanntesten CMS gehören WordPress (2003), Joomla (2005 (vorher Mambo)), TYPO3 (1998), Contao (2006; als TYPOlight) und Drupal (2001). In Klammern ist das Jahr des ersten Release angegeben. Die Links führen zur Wikipedia.

Alternativen

HTML Editoren

In den Anfangsjahren des Internets wurden HTML Seiten entweder manuell erstellt (z.B. mit Notepad++) oder mit Programmen wie Dreamweaver (Adobe), weit seltener mit Frontpage (Microsoft). Diese boten zwar WYSIWYG Unterstützung, aber waren dennoch primär für die Erstellung einzelner Seiten gedacht.

Übrigens: MS WORD kann schon seit 15 Jahren jedes Dokument auch als HTML Datei ausgeben. Der Code ist zwar grusselig, aber es geht. Probieren Sie es einfach mal aus („Speichern unter“ -> Dateityp „Webseite (*.htm,*.html)).

Website-Baukasten

Software wie Zeta Producer (früher auch NetObjects Fusion) werden lokal unter Windows, Mac OS, Linux installiert, und erstellen nicht primär einzelne Seiten, sondern ganze Projekt. Sie sind ebenfalls Template basiert, übernehmen aber auch vollständig der Anpassung der Menüs etc. schlussendlich werden die Seiten per FTP auf den Server hochgeladen.

Online Homepage

Fast alle Hoster bieten einen solchen kostenpflichtig an. Mit diesem können Sie sich ihre Internet-Präsenz zusammen klicken, und dann als HTML Dateien ablegen.

Anbieter wie Wix oder Jimdo bieten auch einen solche, auf der Cloud basierten, Service. Die Grundfunktionen sind kostenfrei. Zudem benötigen sie nicht unbedingt eine eignen Domain, sondern ihren Seiten wird eine Subdomain zugeordnet. Cave: wenn Sie mit Ihren Seiten jemals ernsthaft „gefunden“ werden wollen, ist eine eigene Domain unbedingt erforderlich.

Eigenentwicklung

Etliche große Publisher, wie heise, IBM, MIT, amazon, nutzen Eigenentwicklungen die sich natürlich speziell an deren Bedürfnissen orientieren.

Flat-File-CMS

Damit sind Content Management Systeme gemeint, die keine Datenbank (ein Sicherheitsrisiko weniger) benötigen, und stattdessen Texte in Dateien speichern. Eines der ältesten Flat-File-CMS ist GetSimple CMS, das seit 2009 entwickelt wird. Daneben gibt es noch Pico und das sehr robuste und schlanke Kirby (2009).



Welches CMS?

Da die Auswahl des Systems, mit dem die Seiten ihres Internetauftritts erstellt und gepflegt werden, insbesondere für diejenigen, die dann anschließend dieses System warten & nutzen müssen, eine weitreichende Entscheidung ist, sind hier ein paar grundsätzliche Aspekte erläutert.

Die Großen

Für größere Internetauftritte mit hunderten von einzelnen Seiten planen, ist ein CMS (Content Management System) fast unverzichtbar. Diese, meistens PHP-basierten Programme automatisieren einen Großteil der Verwaltungsaufgaben. Dazu erlauben Sie mehreren Benutzern die Pflege des Inhalts (neue Seiten erstellen oder vorhandene aktualisieren).

Per se kommen diese CMS Systeme mit einem Standard-Layout, das meistens nicht viel hermacht, aber es gibt eine erkleckliche Anzahl von Design-Templates, viele kostenlose, aber auch für kostenpflichtige hält sich die Investition sehr in Grenzen.

Die üblichen Verdächtigen wie Typo3 oder WordPress nutzen eine Datenbank (heutzutage als Standard bei den Hosting-Anbietern mit im Paket) im Hintergrund. Schon seit geraumer Zeit existieren auch sogenannte „flat-file“ CMS wie Stacy oder das sehr moderne Kirby. Diese arbeiten ebenfalls mit PHP nutzen aber keine Datenbank, sondern einfache Textdateien (für den Inhalt) innerhalb einer Ordnerstruktur.

Der Siegeszug der CMS begann mit dem Aufkommen der Blogger, denn eine ihrer Stärken ist das „dynamische“ Aufbereiten der einzelnen Seiten eines Internetauftritts: so ist z.B. der Block „Letzte Kommentare“ (inklusive des Links) automatisch auf allen Seiten (auch wenn es 10.000) innerhalb von Sekunden aktuell.

Doch CMS Systeme haben auch Nachteile: zum einen wird durch die Ausführung des PHP-Codes und dem Zugriff auf die interne Datenbank die Antwortzeit (Ladezeiten sind für Suchmaschinen ein wesentlicher Rankingfaktor) verlängert (hier gibt es Plug-Ins die durch Caching in gewissen Anwendungsfällen Abhilfe schaffen können), zum anderen sind PHP und die Datenbank DAS Einfallstor für Hacker. Der letzte Punkt zwingt quasi die Betreiber zu immer neuen Updates, die nicht immer reibungslos verlaufen.

Die Kleinen

Für kleinere Internetauftritte kann es durchaus sinnvoll sein, die Seiten manuell zu erstellen, oder ein PC-basiertes Programm zu nutzen. Ganz früher bot sich auch Dreamweaver an, heute kommen dafür NetObjects oder Zeta Producer in Frage (auch als Desktop CMS oder WYSIWYG-Editor bezeichnet).

Übrigens: auch Microsoft WORD kann HTML Dateien erstellen (seit mehr als 15 Jahren). Die sind zwar vom Code her aufgeblassen, alles andere als performant, und es ist auch absolut nicht zu empfehlen, aber es geht (einfach mal mit „Speichern unter“ ausprobieren und anschließend die HTML Datei im Lieblingsbrowser laden).

Was nun genau „kleiner“ ist, ist diskutabel. Alles unter 20 Einzelseiten gehört jedoch definitiv dazu.

Sollte diese Zahl überschritten werden, ist noch der Aspekt, wie häufig neue Seiten hinzukommen ganz entscheidend. Ist die Antwort „täglich“, wird ein CMS fast schon wieder Pflicht, es kann aber auch eines wie Kirby sein, das ohne eine Datenbank auskommt.