Ein Content-Management-System (kurz CMS, ) ist eine Software oder ein Service zur gemeinschaftlichen Erstellung, Bearbeitung, Organisation, Darstellung und Auslieferung digitaler Inhalte (Content) zur Verwendung in Webseiten, Apps, Digital Signage und anderen Medienformen.

Neben den Autoren, die Inhalte damit verwalten und veröffentlichen, und dem Publikum dieser Medien (oder Kunden dieser Unternehmen) wird ein solches System von weiteren Nutzergruppen genutzt. Entwickler passen die Funktionen des Systems für den Nutzungszweck an, und der Betrieb sorgt für die reibungslose und sichere Nutzbarkeit für alle Nutzergruppen. Bei größeren Systemen für Unternehmen können weitere Rollen zur Planung oder Einhaltung von hiermit verbundenen (Unternehmens-)Zielen hinzukommen.

Je nach Umfang und Ausrichtung der Systeme variieren die Funktionen für diese Nutzergruppen oder überlassen sie teilweise anderen Software-Systemen. Die Qualität eines Content-Management-Systems misst sich besonders in der reibungslosen und unabhängigen Nutzung durch diese sehr unterschiedlichen Nutzergruppen (Leser/Kunden, Autoren, Entwickler, Betrieb etc.) im ununterbrochenen Einsatz dieser Systeme. Je nach Zweck können Ausfälle oder geplante Betriebsunterbrechungen erhebliche Zielkonflikte darstellen. Daher liegt für viele (größere) Systeme und Anbieter ein Fokus auf Ausfallsicherheit und Skalierbarkeit.

Systeme dieser Art existieren in einer großen Bandbreite von vielen Entwicklern, Open-Source-Projekten und Technologieunternehmen jeder Größe. Ihr Umfang und ihre Architektur variieren stark und unterliegen seit spätestens den 1990er Jahren einem starken Wandel.

Viele CMS legen besonderen Wert auf eine medienneutrale Datenhaltung, die das Erstellen von Inhalten neben HTML auch für andere Medienformate unterstützt. Viele der Systeme verwenden für die interne Speicherung klassische relationale Datenbanken. Daneben gibt es Flat-File-Content-Management-Systeme, bei denen die Inhalte in Dateien gespeichert werden, oder hochskalierbare Systeme, die Filehosting nutzen.

Per Januar 2023 weist WordPress einen Marktanteil von über 63 % unter den Web-CMSs in Deutschland auf.Market share yearly trends for content management systems, w3techs.com, Stichtag: jeweils 1. Januar; abgerufen am 3. Juli 2023. Zu den bekanntesten und meistverwendeten Web-CMS im gleichen Zeitraum zählten außerdem Joomla, TYPO3, Drupal, Wix.com, Shopify und Adobe.Usage of content management systems for websites Weitere bekannte CMS sind GoDaddy, Squarespace, Webflow, Umbraco, OpenCart, PrestaShop, Magento oder Jimdo.

Begriff Obwohl vom Web-Content-Management-System (kurz WCMS) gesprochen werden müsste, wird der weitere Begriff CMS im verbreiteten Sprachgebrauch für Systeme verwendet, die hauptsächlich dem Erstellen von Websites oder digitalen Diensten dienen. Dies ist bei weitem der überwiegende Einsatz.

Sehr viel weniger verbreitet sind Content-Management-Systeme, die nicht auf das Web, sondern Print oder Radio ausgerichtet oder im Allgemeinen als Unternehmensinterne Lösungen (Enterprise-Content-Management) eingesetzt werden.

Funktionen Content-Management-Systeme müssen beispielsweise Folgendes leisten: Möglichkeit, unterschiedliche Rollen und Verantwortlichkeiten an verschiedene Nutzer und Content-Kategorien/Typen zu vergeben. Identifizieren der möglichen Nutzer und ihrer Rollen Definition der Verarbeitungsprozesse als Workflow Möglichkeit, Nachrichten (z. B. per E-Mail) an Verantwortliche zu senden, sobald sich am Content bestimmter Unterlagen etwas ändert Nachhalten und Verwalten verschiedener Versionen einer Unterlage Semantisches Ordnen der Inhalte Veröffentlichen des Contents in einer Ablage (z. B. einer Datenbank). Export des Contents in eine andere Arbeitsumgebung oder Import aus einer solchen Effizienter Umgang mit großen Contentmengen und verschiedenen Formaten Responsives Webdesign für eine optimale User Experience auf jedem Gerät Content Targeting: Informationen personalisieren Integriertes Webreporting: Optimierung des Angebots Mehrsprachigkeit: Verschiedene Sprachversionen in einer Umgebung pflegen Suchmaschinenoptimierung: Hinzufügen von Meta-Daten für die Vorschau in Suchmaschinen-Ergebnisseiten (SERPs)

Darstellung Die Hauptaufgabe eines CMS ist die Verwaltung und zielgruppengerechte sowie barrierefreie Darstellung von Text- oder Multimediainhalten für Webbrowser auf unterschiedlichen Geräten. Technisch trennen Content-Management-Systeme die Darstellung mit Skins von den Datenquellen ab. Neben der Darstellung auf Personal Computern sind auch die kleineren Formate und unterschiedliche Bedienmöglichkeiten von Smartphones und anderen alternativen Geräten zu beachten. Content-Management-Systeme nutzen hierzu Skins in Responsive Webdesign oder bieten eine spezielle mobile Website an. Zusätzlich sollen Inhalte mit einer Druckversion gut druckbar sein.

Zusätzlich zum Hauptinhalt einer Seite werden weitere Inhalte mit eingebunden, so z. B. eine Möglichkeit zur Internationalisierung (z. B. Inhalte in verschiedenen Sprachen, unterschiedliche Währungen und Preise, rechtliche Informationen) Metainformationen wie Veröffentlichungsdatum, Autor, Inhaltsverzeichnis, Mehrfachverwendung von Inhalten durch Transklusionen und externe Datenquellen wie z. B. Kalender, Karten oder Nutzerdaten (z. B. Gravatar) über dritte Programmierschnittstellen (API) oder Webservices wie Web-Feeds.

Neben der Darstellung einzelner Inhalte bietet das CMS automatisch alternative Inhaltsaggregation an: Gruppierungen zu Kategorien, zeitliche Veränderung und neu erstellte Inhalte, maschinenlesbare Ausgabe von Inhalten für Web-Feeds (z. B. Atom, RSS), Mikroformate oder Programmierschnittstellen zur Integration in andere Dienste (z. B. als JSON), ähnliche, eventuell für den Leser interessante, Inhalte.

Durch das integrierte Content-Life-Cycle-Management können Inhalte automatisch zeitlich begrenzt veröffentlicht oder archiviert werden.

Integrierte Suchmaschinen ermöglichen darüber hinaus dem User, die Inhalte einer Webseite auch zu durchsuchen. Diese Suchmaschinen sind entweder schon in der Software integriert oder werden als externe Dienste eingebunden. OpenSearch erlaubt den Zugriff auf die Suchfunktion auch von außerhalb der Webseite. Nicht zu verwechseln sind diese Möglichkeiten mit denen sogenannter Metasuchmaschinen.

Editieren Das Erstellen und Bearbeiten von Inhalten erfolgt meist über ein Online-Textverarbeitungs-Modul (sog. Inline Editing bzw. In Place Editing) oder Dateien direkt auf dem Webhost; ältere Systeme bieten noch gesonderte Clientsoftware zur Bearbeitung an. mini|Backend von WordPress 6.2 im Jahr 2023 Bei der Online-Textverarbeitung wird entweder ein gesondertes Backend angeboten oder Berechtigte können direkt in der Darstellung bearbeiten. Die Texteingabe erfolgt, je nach Kenntnisstand des Bearbeiters beziehungsweise Umfang des Content-Management-Systems, entweder über einen WYSIWYG- oder einen Texteditor. Dabei können Inhalte in vereinfachter Auszeichnungssprache (zum Beispiel Markdown) oder reinem HTML hinterlegt werden. Um den Inhalt in seiner endgültigen Version zu sehen, wird meist eine Vorschaufunktion geboten. Zusätzlich werden Assistenten zum dynamischen Einbinden von Hyperlinks, Computergrafiken und anderen Elementen angeboten.

Mit einer integrierten Versionsverwaltung wird der Erstellungsprozess gleichzeitig archiviert und protokolliert. Bestimmte Versionen können so im Fehlerfall wiederhergestellt werden.

Berechtigung Um unberechtigte Änderungen zu verhindern und um Änderungen nachvollziehen zu können, müssen sich Bearbeiter authentifizieren und werden anhand eines Berechtigungskonzepts Benutzerrollen zugewiesen. Benutzer werden meist hierarchisch unterschieden. So können etwa bestimmte Editoren Artikel anlegen. Diese müssen aber von Administratoren freigeschaltet werden. Ein vertikales Rollensystem erlaubt dann bestimmten Benutzergruppen nur in bestimmten Bereichen zu arbeiten (z. B. Abteilung). Diese Rollen- und Rechtestruktur kann einfache Freigaben nach dem Vier-Augen-Prinzip oder komplexe Workflows abbilden. An solchen Workflows können sich mehrere Personen mit verschiedenen Aufgaben beteiligen, z. B. Autoren, Editoren und Webmaster, die Inhalte erzeugen, genehmigen oder freischalten. Hier spricht man von Redaktionssystemen.

Benutzerinteraktion Vor allem Social-Media-Webseiten, wie z. B. Blogs, zeichnen sich durch die Möglichkeit der inhaltlichen Einbindung des Users aus. User können Einträge in Gästebüchern, Kommentare zu speziellen Inhalten hinterlassen oder externe Trackbacks setzen. Bei User-generated content vermischen sich Userinteraktion und Inhaltserstellung.

Neben der Benutzerfreundlichkeit müssen Funktionen zu Userinteraktion vor allem leistungsfähig gegen Suchmaschinen-Spamming sein. Das wird vor allem mit Captchas, nofollow und DNS-based Blackhole List erreicht.

Technische Funktionen In Zusammenarbeit mit dem Webserver können CMS teilweise auch Aufgaben der Übertragung und des URL-Aufbaus übernehmen. Vor allem Weiterleitungen, Clean URLs und Permalinks werden im CMS konfiguriert. Auch Fehlerseiten (404) können von einem CMS ausgeliefert werden.apache.org – ErrorDocument

Durch Mandantenfähigkeit können mehrere unabhängige Webseiten betrieben werden.

Um CMS möglichst individuell erweitern zu können, werden meist Plug-ins angeboten.

Werden weitere komplexere Funktionen abgebildet, spricht man von einer Webanwendung.

Technik Content-Management-Systeme sind größtenteils plattformunabhängig, da sie in Skriptsprachen oder in der plattformunabhängigen Programmiersprache Java geschrieben werden. Alle gängigen Skriptsprachen wie PHP, Ruby, Perl, Python oder JavaScript werden von den gängigsten Webservern (Apache, IIS, nginx) unterstützt. ASP.NET benötigt zusätzlich als Laufzeitumgebung das .Net-Framework oder mono. Die eigentlichen Inhalte werden oft in Datenbanken gespeichert, da diese schnellere Zugriffe erlauben und Datenbankindizes für Kategorien, Listen und Feeds zur Verfügung stellen. Kleinere CMS können Inhalte aber auch in Textdateien speichern. MySQL als Datenbank wird von praktisch allen CMS unterstützt, aber häufig finden auch PostgreSQL oder Microsoft SQL Server Verwendung. Content-Management-Systeme verknüpfen die gespeicherten Inhalte mit Formatvorlagen und übergeben diese an den ausliefernden Webserver. Softwarearchitektonisch kommt meist das Entwurfsmuster Model View Controller zur Anwendung. Aufgrund der engen Verbindung und Abhängigkeit zwischen diesen Softwareelementen werden diese meist gemeinsam installiert. Für Open-Source-CMS gibt es die Bundles LAMP und für Entwicklungsumgebungen XAMPP. Physisch laufen CMS auf Hosts, die aber von Hostern als Webhosting oder auch als Application Service angeboten werden. Vor allem Open-Source-CMS versuchen nicht alle möglichen oder gewünschten Funktionen nativ anzubieten, sondern durch serverseitige Hooks und clientseitige Standardbibliotheken (z. B. jQuery) die Integration von Plug-ins zu ermöglichen.

Content-Management-Framework Ein Content-Management-Framework (CMF) ist ein Framework zur Entwicklung von Content-Management-Systemen. Innerhalb des Frameworks (= Ordnungsrahmen) existieren Software-Bausteine wie zum Beispiel ein Zugriffsschutz, eine Datenbankschnittstelle, eine Template-Engine oder auch diverse Suchfunktionalitäten. Die meisten CMF sind mittels Skriptsprachen abgebildet und dienen hauptsächlich der Entwicklung netzbasierender Content-Management-Systeme.

Beispiele für Content-Management-Frameworks sind ProcessWire, SilverStripe, Apache Cocoon, BlueWonder, DbXwebApp, Drupal, eZ Publish, Midgard, MODX, Nuxeo EP, Orchard, TYPO3, Zikula und Zope.

Website-Baukasten