TYPO3 is one of the most widespread Content Management Systems, with a history dating back to 2000. The CMS is pretty complex, so it's mostly used in the world of big business

TYPO3 was created by the Danish developer Kasper Skårhøj in 1997. In 2000, the first public beta version was released. More than ten years later, the first LTS version of TYPO3 was published. LTS guarantees a long term support for three years. In 2012, TYPO3 published its own PHP-framework called "TYPO3 Flow". And in December 2013, the new lightweight Version "TYPO3 Neos" was released. The TYPO3 Association is located in Switzerland.

TYPO3 counts more than 500,000 installations all over the world. It defines itself as an "enterprise" CMS and provides its own certification system for developers and implementation partners.

For Content Managers

TYPO3 is a complex CMS for enterprise websites and advanced content managers. It ships with a full blown control panel with a huge range of features and options. As a non-technical content manager, it might be a bit harder for you to get your head around the concept of TYPO3.

Different from other CMS, TYPO3 has two sidebars on the left and a content area on the right. The sidebar on the outer left provides different views and functions for the actual webpage. The menu options are:

The sidebar on the inner left provides a tree structure to navigate through your website and to create new pages. Adding a new page is done with simple drag and drop.

In the content area on the right site, you will find a "grid view" of your content page. The grid view matches the frontend layout and allows the content manager to arrange elements on the webpage with drag and drop. If you want to edit the content of an element, you have to enter the edit mode with another click.

The concept of TYPO3 is very feature-rich and flexible. But it provides a pretty technical view on content as "data" and a less intuitive way for authors to work with the content. The possibilities are probably endless, but many workflows require more clicks, than you might be used to from most other CMS.

For Developers

Like most other CMS, TYPO3 provides an installation routine. The steps are:

TYPO3 has some special requirements for the server that will be checked just before the installation routine starts. With a fresh XAMPP-version, you have to activate or change resources, like soap, execution times, and memory space. Most of the settings are easily done in your php.ini. The configuration of openSSL can be a bit trickier. You can follow the description on the TYPO3 wiki page.

When it comes to theme developement, you will face a pretty steep learning curve. First of all, you will work a lot in the administration backend of TYPO3, although it is possible to swap most of your code work to your favourite code editor. You have to handle quite a lot of abstraction layers, if you create your own theme or themplate. Remember, that TYPO3 defines itself as an "enterprise content management system" and provides its own certification for developers, so it is not an easy system to work with.

Templating in TYPO3 is basically done with so called "markers" and "subparts", in combination with the templating language "TypoScript". Markers and subparts are placeholders in your HTML template. Markers are single values and subparts are blocks with starting points and ending points. For example:


<p>This block will be replaced with the METANAV-content later.</p>

The markers and subparts will be replaced with a content structure, that is created with TypoScript. A TypoScript for the replacement of the meta navigation might look like this:

page.10.subparts {
  METANAV.wrap = <ul>|</ul>
  METANAV.special = list
  METANAV.special.value = 80, 81

    NO = 1
    NO {
      allWrap = <li>|</li>

There is another template engine for TYPO3 called "Fluid". Fluid allows a more common theme structure with layouts, templates, and partials. Fluid also works with TypoScript files, but it does not need markers and subparts. Instead, Fluid reminds me a litte bit of Twig and combines template tags in {curly brackets} with opening () and closing (</f:...>) fluid tags. A simple example might look like this:

<f:alias map="{employees: {0: {first_name: 'Stefan', city: 'Lindlar'},1: {first_name: 'Petra', city: 'Lindlar'},2: {first_name: 'Sascha', city: 'Remscheid'},3: {first_name: 'Patrick', city: 'Bonn'},4: {first_name: 'Sven', city: 'Gummersbach'},5: {first_name: 'Andrea', city: 'Wuppertal'}}}">
  <table cellpadding="5" cellspacing="0" border="2">
    <f:for each="{employees}" as="employee" key="entrynumber">
        <th colspan="2">Eintrag: {entrynumber}</th>

These are, of course, only some very basic principles of the developement with TYPO3. If you want to learn more, just read the documentation that is linked in the fact sheet below.

For Non Coders

You will probably not be able to install TYPO3 without some basic technical knowledge. So do not think about using TYPO3 without deep coding skills. TYPO3 is clearly an enterprise system for specialized agencies and advanced developers.


TYPO3 is open source. However, you will have to hire some developers or one of the (many) specialized agencies to implement the system in your company.

Recommendation: When to use it?

TYPO3 is mainly used for complex corporate websites. The theme development, the administration, and the content creation is pretty complex and more complicated, than you might be used to from a mid-range CMS. For small companies and simple requirements, there are probably more appropriate solutions out there.

However, TYPO3 is very widespread and there are a lot of big companies and famous brands running their websites with TYPO3. Examples are Lufthansa, Airbus, Roche, Sixt, Congstar, and many more.