Contao

cms

Symfony-based PHP CMS with fine-grained user permissions, built-in newsletter and event modules, and a structured page tree. Popular in German-speaking Europe for institutional and corporate sites requiring strict editorial control

#cms#php#symfony#newsletter#self-hosted
Alternative to WordPressDrupalTYPO3

Quick Start

composer create-project contao/managed-edition contao && cd contao && php bin/console contao:install-web-dir

Overview

Contao is a Symfony-based PHP CMS that has been in active development since 2006. It is most widely used across German-speaking Europe for institutional websites, corporate intranets, and association portals — contexts where editorial control, structured content, and strict user permissions matter more than ease-of-use for casual editors.

The permission system is one of Contao’s most distinctive features. User groups can be given access to specific page branches, individual modules, content elements, and backend sections. A regional editor can be confined to their section of the site tree without any visibility into other areas. This level of granularity is overkill for small sites but exactly what regulated organisations need when managing content across multiple editorial teams.

Several common site features are built into the core rather than relying on third-party extensions. The newsletter module handles subscriber lists, campaigns, and unsubscribes. The events module manages a calendar with recurring events. Form generation, file management, and search indexing are all included. For organisations that want a coherent, maintained feature set rather than assembling plugins from different authors, this is an advantage.

Contao is built on Symfony, which gives developers a familiar, modern PHP foundation for extensions and customisation. The framework abstracts away much of the CMS internals cleanly.

Outside German-speaking Europe, the community is smaller and English-language resources are thinner than WordPress or Drupal equivalents. With 426 GitHub stars, the project is maintained but niche. Teams without German-language community access may find troubleshooting slower.

Contao: Pros & Cons

Pros (The Wins)Cons (The Friction)
Granular permissions:
Page-level and element-level
access control per user group.
Niche outside Europe:
Thin English community
and documentation.
Built-in modules:
Newsletter, events, forms,
and search included.
Steeper learning curve:
Page tree and module model
takes time to internalise.
Symfony foundation:
Modern PHP framework;
structured extension model.
Small extension market:
Custom requirements often
need custom development.
LGPL licence:
Commercial use permitted
without copyleft obligations.
Composer install required:
Not a simple one-file
or one-click deployment.

Use Cases

Specific ways to use Contao for your workflow.

01
Run an institutional or corporate site where different editors manage different page sections with strict permission boundaries
02
Manage a newsletter list and send campaigns from the same CMS that handles your site content, without a separate email tool
03
Build an events-driven site for a club, association, or university that needs a calendar module built into the CMS
04
Deploy a multi-language site for a European organisation where content editors work in separate language trees

Deployment Strategy

Recommended ways to host Contao in your own environment.

docker
self-hosted