TYPO3 CMS ist ein kostenloses und freies Content-Management-System für Webanwendungen, das von Kasper Skårhøj unter dem ursprünglichen Namen TYPO3 entwickelt und im Jahr 2001 veröffentlicht wurde. Heute wird die Software durch die TYPO3 Association weiterentwickelt und überwiegend im deutschsprachigen Raum eingesetzt.
Im April 2025 hat die Digital Public Goods Alliance TYPO3 als Digitales Öffentliches Gut (engl. Digital Public Good) anerkannt.
Der Kern von TYPO3 CMS ist in der Skriptsprache PHP mithilfe des Webframeworks Symfony programmiert. Die Ausgabe im Browser erfolgt mit HTML und JavaScript. Als Datenbank können gängige SQL-basierte Datenbanken, wie z. B. MySQL, MariaDB eingesetzt werden, die Anbindung erfolgt hier abstrakt über Doctrine DBAL.
Zahlreiche Funktionen von TYPO3 CMS können mit Erweiterungen (Extensions) integriert werden, ohne dass ein eigener Programmcode geschrieben werden muss. Die derzeit etwa 9000 Erweiterungen stammen zum größten Teil von Fremdanbietern und sind zum Großteil kostenlos verfügbar. Erhältlich sind unter anderem Erweiterungen für Blogs, E-Mail-Marketing, Programmierschnittstellen zu Fremdanbietern oder auch Diskussionsforen. Das System bietet sowohl Mehrsprachigkeit als auch Multi-Site-Fähigkeiten.
TYPO3 CMS gehört neben Drupal, Joomla und WordPress zu den bekanntesten Content-Management-Systemen aus dem Bereich der freien Software.
Namensherkunft Der Name TYPO3 stammt daher, dass Kasper Skårhøj bei der Entwicklung durch einen Tippfehler (englisch „typing error“, kurz „typo“) einen Teil seiner Arbeit verlor. Die Zahl „3“ wurde dem Namen schließlich angehängt, nachdem die dritte Version von TYPO durch ihren Erfolg als eine Art Marke bekannt wurde.
Im Jahre 2015 wurde das bis dahin parallel von der TYPO3-Association entwickelte Systeme Neos von TYPO3 getrennt. Seitdem trägt TYPO3 den Namenszusatz CMS.
Verwendung Laut der Statistik-Plattform builtwith wird TYPO3 CMS aktuell (Februar 2024) von über 218.000 öffentlich erreichbaren Websites weltweit eingesetzt.
Die Version 11 des Government Site Builder (GSB) der deutschen Bundesregierung basiert auf TYPO3 CMS. Im Jahr 2023 wurde angekündigt, alle Webseiten der Bundesregierung von proprietären Systemen auf TYPO3 CMS umzustellen. Als Kosten für die Umstellung wurden insgesamt 108 Millionen Euro veranschlagt.typo3.com Government Site Builder & TYPO3
Bedienung TYPO3 CMS wird auf einem Webserver installiert. Die Bearbeitung der Website erfolgt in einem Webbrowser.
Das System ist unterteilt in Backend und Frontend. Im Backend von TYPO3 CMS können Anwender, Einstellungen vornehmen und Inhalte einbringen. Mit Hilfe von HTML und der systemeigenen Konfigurationssprache TypoScript können Vorlagen erstellt werden, die das gewünschte Webdesign umsetzen. Zur Pflege der Inhalte dient ein im Webbrowser laufender WYSIWYG-Editor. Das Frontend erzeugt daraus die Ansicht, die Besucher der Website zu sehen bekommen.
Funktion und Architektur Verwaltung der Inhalte, Rechte, Gestaltung und Datenbasis Zu den Funktionen gehören unter anderem zeitliche Steuerung zum Ein- und Ausblenden von Inhalten, ein Rollen-, Workspaces und Rechtesystem (Benutzerverwaltung), eine Suchfunktion für statische und dynamische Inhalte, suchmaschinenfreundliche URLs, URL Weiterleitungsoptionen, Backend Dashboard, Extension Manager, ein Datei-Verwaltungssystem, Formulare, Aufgaben-Planer (Scheduled Tasks), Mehrsprachigkeit, Content Security Policy sowohl für das Backend als auch das mehrsprachenfähige Frontend. Weitere, über verschiedene Erweiterungen (sogenannte Extensionsextensions.typo3.org TYPO3 Extensions Datenbank) integrierbare Funktionen sind beispielsweise ein Newsextensions.typo3.org EXT:news / Blogextensions.typo3.org EXT:blog -System, Login-Bereich, Grid-Systemextensions.typo3.org EXT:container, Formulare, Adressen-Listenextensions.typo3.org EXT:tt_address, Gästebuch, verbesserte Suche mit Facettenextensions.typo3.org EXT:solrtypo3-solr.com Apache Solr für TYPO3, das Verfassen und der Versand eines Newsletters oder eine Statistik für Seitenaufrufe. Videomaterial, Bilder, Texte, Tabellen, Animationen sowie externe Datenquellen können in TYPO3 CMS (zum Teil nur über extra Erweiterungen) verwaltet werden.
Templates, in denen Seitenaufbau und Formate definiert werden, erleichtern die Darstellung von Inhalten. Inhalte werden über frei konfigurierbare Eingabemasken eingegeben, zum Beispiel in Form des enthaltenen Rich-Text-Editors, der über eine an gängige Textverarbeitungen angelehnte, WYSIWYG-artige Oberfläche verfügt. Eine integrierte Bildverarbeitung ist vorhanden. Der Objektmanager gestattet es, grafische Elemente zu skalieren, zu drehen, Rahmen hinzuzufügen etc., wobei TYPO3 CMS in Verbindung mit dem Bildkonverter ImageMagick und GDLib eine modifizierte Bilddatei im neuen Format erzeugt.
TYPO3 CMS wird intern über verschiedene PHP-Arrays gesteuert. Sie enthalten alle Informationen, die notwendig sind, um aus den in einer Datenbank gespeicherten Inhalten über TypoScript-Befehle oder FLUID-Ausgaben HTML-Code zu erzeugen.
Die Inhalte und Parameter werden in einer relationalen Datenbank gespeichert und stehen unabhängig von dem jeweils verwendeten Template zur Verfügung. Dadurch kann das Erscheinungsbild einer Website theoretisch allein durch Austausch des Templates vollständig geändert werden. Ebenso können dieselben Inhalte in unterschiedlichen Layouts oder Ausgabeformaten (zum Beispiel XML, RSS oder LaTeX) präsentiert werden.
Während in früheren Versionen die MySQL-Datenbank direkt angesprochen wurde, ist inzwischen der Database Abstraction Layer DBAL vorgeschaltet, um andere Datenbanksysteme wie PostgreSQL oder Oracle nutzen zu können.
Ein integriertes Caching-System speichert Ergebnisse vorher definierter Datenbankaufrufe zwischen. Dadurch wird gerade bei hoch frequentierten Websites die Server- (CPU)-Belastung gesenkt und die Anzahl der Datenbankabfragen verringert.
Gestaltungselemente Gestaltung und Programmierung von Webseiten mit TYPO3 CMS erfolgt über: Seitenbaum: Darstellung und Veränderung der Struktur und Eigenschaften der Seiten einer Website Konstanten: Universell gültige Konfigurationsparameter Template: Traditionell wurden früher einfache HTML-Dateien mit Platzhaltern, sog. Markern (zum Beispiel ###MARKER###) und Bereichsmarkierungen, sog. Subparts verwendet. Inzwischen wird innerhalb von TYPO3 und in sogenannten Extensions bevorzugt die Template-Engine FLUID verwendet. Das Fluid-Framework wurde 2008 entwickelt und wird sowohl von TYPO3 als auch von dem abgespaltenen Projekt Neos verwendet. TypoScript: Mit dieser internen Konfigurationssprache wird beschrieben, wie TYPO3 die Inhalte ermittelt, formatiert und ausgibt. Die Ausgabe von Seiten ist auch ohne HTML-Templates – mit reinem TypoScript-Code – möglich. Erweiterungen: Die Funktion von TYPO3 erweiternde, zusätzliche Plug-ins / Extensions. PHP: Die Funktionen von TYPO3 CMS sind in PHP und den PHP Framework Symfony geschrieben und können von Anwendern, die besondere Zusatzfunktionen realisieren wollen, geändert oder ergänzt werden. Hervorzuheben ist hierbei die XCLASS-Funktionalität, die es ermöglicht, Klassen und Methoden zu überschreiben. In der Regel werden aber Hooks eingesetzt.
TypoScript Die Ausgabe von Inhalten im Frontend wird über die Metasprache TypoScript gesteuert. Was in TypoScript definiert ist, wird in ein systemweites PHP-Array umgewandelt (geparst). Dieses wiederum steuert, welche PHP-Funktionen beim Aufruf der Seite ausgeführt werden. Damit können Eigenschaften und Erweiterungen global für die gesamte Website verwaltet werden. TypoScript ist (bezogen auf die Syntax) objektorientiert.docs.typo3.org TypoScript Reference
Code-Beispiel Das folgende Beispiel verdeutlicht, wie mit TypoScript eine „Hello World“-Ausgabe (Hallo-Welt-Programm) erzeugt werden kann. Voraussetzung für eine Ausgabe ist das Erzeugen eines PAGE-Objektes:
TypoScript-Code page = PAGE page { 10 = TEXT 10.value = Hello, world! 10.wrap = <h2>|</h2> }
Ausgabe <h2>Hello, world!</h2>
Weitere wichtige TypoScript-Objekte sind CONTENT zum Auslesen von Inhalten aus der Datenbank und FLUIDTEMPLATE zum Rendern eines HTML-Templates.
TypoScript bezeichnet der Regel die in den TypoScript-Templates festgelegte Konfiguration zur Frontend-Ausgabe; es gibt aber auch Backend-Konfigurationen, die (abgesehen von wenigen Ausnahmen) mit der gleichen Syntax notiert werden. Sie werden User TSconfig (Einstellungen für einen Backend-Benutzer oder -Benutzergruppe) und Page TSconfig (Einstellungen für das Backend, die für einzelne Seiten und deren Unterseiten gelten) genannt und werden unter dem Begriff TSconfig zusammengefasst.
Für die Entwicklungsumgebung PhpStorm gibt es seit Mai 2014 ein Plugin, welches TypoScript als Sprache integriert. Dies gibt es auch für FLUID Templating. Dieses bietet neben Syntax-Highlighting auch Unterstützung für Auto-Vervollständigung, Auto-Formatierung und diversen anderen Funktionen.
Entwicklung Erfinder und ehemaliger Chefprogrammierer von TYPO3 ist der Däne Kasper Skårhøj. Die Entwicklung des Systems wird derzeit von Benni Mack (TYPO3 Project Lead) geleitet.
mini|Startseite der Demo-Website „Introduction Package“ Im Rahmen von Version 4.4, die am 22. Juni 2010 veröffentlicht wurde, ist das Design auf Basis der Ergebnisse der sogenannten User Experience Week (T3UXW) aus dem Vorjahr speziell hinsichtlich der Benutzerfreundlichkeit erneut verbessert worden. Zudem wurde mit dieser Version erstmals eine Demo-Website (genannt Introduction Package) ausgeliefert, die es Erstnutzern ermöglicht, sich schneller mit den Funktionen des Systems vertraut zu machen. Mit TYPO3 4.5 wurden die wichtigsten Bearbeitungsformulare neu strukturiert. In neueren Versionen wurde das Interface weiter aufgeräumt und unter anderem für die Darstellung auf mobilen Geräten optimiert.
Da die Version 5.0 über mehrere Jahre parallel zum 4.x-Zweig komplett neu entwickelt wurde, wurden neue Hauptversionen im Rahmen der TYPO3-Branch 4.x veröffentlicht. Die Nummerierung der Versionen wich aufgrund dieser Eigenheit von der sonst üblichen ab. Ab Version 4.0 sind bereits mehrere Hauptversionen mit neuen Features veröffentlicht worden. Innerhalb der jeweiligen Unter-Zweige gilt der sogenannte „Feature-Freeze“; es werden also mit kleineren Updates keine neuen Funktionen hinzugefügt, sondern lediglich Fehler behoben und Sicherheitslücken geschlossen.
Nachdem sich mehr und mehr zeigte, dass der ursprünglich als TYPO3 5.0 geplante Nachfolger sich von seinem Funktionsumfang und den möglichen Einsatzgebieten her nicht als Nachfolger eignet, sondern eher ein eigenständiges Produkt neben TYPO3 bildet, wurde im März 2012 beschlossen, diese Entwicklung auch durch einen anderen Namen deutlich zu machen: Als Arbeitstitel von TYPO3 5 wurde „Phoenix“ gewählt. Der offizielle Name lautete ab dann „TYPO3 Neos“. Um Verwirrung bei der Bezeichnung der folgenden TYPO3-Releases zu vermeiden, folgte auf TYPO3 4.7 als nächste Version nicht TYPO3 5.0, sondern direkt TYPO3 6.0. TYPO3 Neos ist in einer eigenständigen Version 1.0 auf den Markt gekommen, die Versionsnummer 5 wurde vollständig aus dem Versionszyklus des TYPO3-Projektes gestrichen. 2015 wurde bekannt gegeben, dass Neos in Zukunft unabhängig von der TYPO3 Association weiterentwickelt werden solle.
Wichtige Versionen