Von Contao 4 auf 5 — was tatsächlich passiert.
Der Sprung ist geordneter als sein Ruf, wenn man ihn in der richtigen Reihenfolge angeht. Die Überraschungen stecken selten im Kern, sondern in Templates, eigenem Code und einzelnen Erweiterungen.
In dieser Reihenfolge: PHP anheben, dann Abhängigkeiten aktualisieren, dann Datenbank abgleichen, dann Templates und eigenen Code nachziehen. Alles in einer Testumgebung, nie live. Die größte Nacharbeit entsteht bei eigenen Templates, weil sich die Templating-Schicht weiterentwickelt hat — und bei Erweiterungen, die den Sprung nicht mitmachen.
Website down oder gehackt? Schreib mir per WhatsApp oder E-Mail mit Domain und kurzer Beschreibung — ich melde mich in der Regel innerhalb weniger Stunden, auch am Wochenende, wenn es brennt. Zugangsdaten bitte nie in der ersten Nachricht, sondern erst nach Absprache über einen sicheren Weg.
Vorher klären.
- Ausgangsversion genau feststellen, nicht schätzen.
- PHP-Version des Servers und verfügbare Alternativen.
- Erweiterungsliste mit Versionen und Herstellern.
- Eigene Templates auflisten — wie viele, wie stark angepasst?
- Eigener Code: Gibt es ein Projektpaket oder Anpassungen im Kern?
- Angebundene Systeme notieren.
- Zugänge klären: Kommandozeile vorhanden oder nur Dateizugriff?
Punkt sieben entscheidet über den Weg. Mit Kommandozeilenzugriff ist ein Contao-Update ein geordneter Vorgang. Ohne wird es umständlich — dann lohnt es, den Hoster zu fragen oder das Update in einer lokalen Umgebung vorzubereiten und das Ergebnis hochzuladen.
Punkt fünf ist wichtig für die Risikoeinschätzung: Anpassungen im Kern sind der klassische Grund, warum ein Update scheitert — sie werden beim Aktualisieren überschrieben, und was dann fehlt, merkt man erst im Betrieb.
Testumgebung.
Nicht verhandelbar. Ein Contao-Hauptversionssprung wird nie direkt am laufenden System gemacht — die Datenbankanpassung ist nicht umkehrbar, und ein Rückweg besteht dann nur über die Sicherung.
Üblich ist eine Kopie auf einer Subdomain oder lokal: Dateien und Datenbank klonen, Adressen anpassen, vor Suchmaschinen sperren. Dort läuft das Update, dort wird geprüft, und erst wenn alles sitzt, wird der Vorgang auf dem Live-System wiederholt oder die Kopie umgeschaltet (Testumgebung einrichten).
Schritt 1: PHP.
Contao 5 verlangt eine aktuelle PHP-Fassung. Hebe die Version zuerst an, solange noch Contao 4 läuft — dann siehst du getrennt, was an PHP liegt und was am Versionssprung.
Was dabei typischerweise bricht: alte Erweiterungen mit überholter Syntax, eigener Code mit nicht mehr erlaubten Konstrukten, Funktionen, die entfernt wurden. Die Fehlermeldungen sind dabei meist eindeutig und nennen Datei und Zeile.
Wenn der Hoster die Version nicht je Projekt umschalten lässt, ist das ein eigenes Thema — und manchmal der Anlass, über den Hoster nachzudenken (Hoster wechseln).
Schritt 2: Abhängigkeiten.
Contao verwaltet seine Bestandteile über eine Abhängigkeitsverwaltung. Beim Hauptversionssprung wird die Anforderung in der Projektdatei angehoben und die Auflösung angestoßen.
Hier entstehen die meisten Abbrüche, und sie haben fast immer dieselbe Form: Eine Erweiterung verlangt eine Fassung, die mit der neuen Hauptversion unvereinbar ist. Die Meldung nennt die beteiligten Pakete — sie zu lesen lohnt sich, auch wenn sie unübersichtlich wirkt.
Vorgehen bei einem Konflikt: Prüfen, ob es eine neuere Fassung der Erweiterung gibt. Wenn nein, ob die Erweiterung noch gebraucht wird. Wenn ja, ob es einen Ersatz gibt. Erst danach über eine eigene Anpassung nachdenken.
Zwei praktische Hinweise: Der Vorgang braucht Arbeitsspeicher — auf knapp bemessenen Servern scheitert er daran und nicht an den Paketen. Und die erzeugte Sperrdatei gehört in die Versionsverwaltung, damit auf allen Umgebungen dasselbe läuft.
Schritt 3: Datenbank.
Nach dem Aktualisieren der Dateien wird die Datenbankstruktur angeglichen. Contao bietet dafür einen Abgleich, der die nötigen Änderungen vorschlägt.
Wichtig: Die vorgeschlagenen Befehle vorher lesen. Der Abgleich schlägt auch das Löschen von Tabellen und Spalten vor, die er nicht zuordnen kann — und das sind manchmal Daten einer Erweiterung, die gerade nicht installiert ist. Werden diese Löschungen bestätigt, sind die Daten weg.
Also: Sicherung vorher, Vorschläge durchsehen, im Zweifel Löschungen nicht ausführen und erst klären, wozu die Tabelle gehört.
Schritt 4: Templates.
Die größte Nacharbeit bei stark angepassten Installationen. Contao 5 setzt verstärkt auf eine moderne Templating-Schicht; die alte Form wird weiterhin unterstützt, aber das Umfeld hat sich verändert.
Praktisch heißt das: Eigene Templates, die von Kerntemplates abgeleitet wurden, können veraltete Strukturen enthalten. Sie funktionieren teils noch, geben aber nicht mehr dasselbe aus — und dann fehlen Elemente oder die Gestaltung verrutscht.
Vorgehen: Alle eigenen Templates auflisten, mit der neuen Kernfassung vergleichen, Anpassungen gezielt übertragen statt die alte Datei weiterzuschleppen. Das ist Fleißarbeit, aber überschaubar — und ein guter Zeitpunkt, Templates wegzulassen, die nur eine Kleinigkeit ändern.
Schritt 5: Eigener Code.
Anpassungen im Kern sind der klassische Problemfall. Sie werden beim Update überschrieben, und was sie bewirkt haben, fehlt danach. Deshalb gilt: Vor dem Update die Kerndateien mit dem Original vergleichen und jede Abweichung dokumentieren.
Sauber umgesetzte Anpassungen liegen in einem eigenen Projektpaket und bleiben erhalten — müssen aber auf geänderte Schnittstellen geprüft werden. Zwischen Hauptversionen werden veraltete Funktionen entfernt, und was in Contao 4 nur eine Warnung erzeugte, ist in 5 ein Fehler.
Wenn es ein Projektpaket gibt, prüf auch die Konfigurationsdateien: Deren Format und Ablageort haben sich im Zuge der Entwicklung verändert.
Typische Fehlermeldungen.
| Fehlerbild | Übliche Ursache |
|---|---|
| Abhängigkeiten lassen sich nicht auflösen | Erweiterung ohne Fassung für Contao 5 |
| Abbruch beim Aktualisieren | Arbeitsspeicher oder Laufzeit zu knapp |
| Weiße Seite nach dem Update | Fehler im Code, Protokoll ansehen |
| Backend lädt ohne Gestaltung | Dateien nicht neu veröffentlicht |
| Klasse nicht gefunden | Entfernte Funktion oder fehlende Erweiterung |
| Datenbankfehler | Abgleich nicht ausgeführt |
| Einzelne Elemente fehlen | Veraltetes eigenes Template |
Bei Zeile drei gilt derselbe Weg wie immer: Fehlerprotokoll ansehen, statt zu raten. Die Meldung steht dort im Klartext mit Datei und Zeile (Weiße Seite).
Durchprüfen.
- Jeden Seitentyp aufrufen, nicht nur die Startseite.
- Alle Inhaltselemente, die tatsächlich verwendet werden.
- Formulare absenden und prüfen, ob die Mail ankommt.
- Geschützte Bereiche mit einem Testzugang.
- Suche ausprobieren.
- Backend: Anlegen, Bearbeiten, Dateiverwaltung, Rechte.
- Mehrsprachigkeit, falls vorhanden.
- Mobil gegenprüfen.
Umschalten.
Zwei Wege. Entweder die geprüfte Testumgebung wird zur Live-Fassung — dann müssen zwischenzeitlich entstandene Inhalte übernommen werden. Oder das Update wird auf dem Live-System wiederholt, nach demselben Ablauf und mit frischer Sicherung.
Die zweite Variante ist bei redaktionell aktiven Websites meist praktikabler: Man weiß dann genau, was passiert, weil man es schon einmal gemacht hat. Leg dafür ein Zeitfenster mit wenig Betrieb fest und kündige der Redaktion eine kurze Pause an.
Nacharbeit.
- Cache vollständig leeren, auf allen Ebenen (Cache leeren).
- Suchindex neu aufbauen.
- Zeitgesteuerte Aufgaben prüfen — laufen sie noch?
- Mailversand testen (Mailversand).
- Fehlerprotokoll die ersten Tage beobachten.
- Tempo messen — Contao 5 mit aktuellem PHP ist meist spürbar schneller (Ladezeit).
- Redaktion kurz einweisen, wenn sich im Backend etwas geändert hat.
Der letzte Punkt kostet eine halbe Stunde und erspart eine Woche Rückfragen.
Wenn du nicht weiterkommst.
Wenn der Versionssprung ansteht und du ihn nicht am laufenden System ausprobieren willst. Ich finde die Ursache, behebe sie und erkläre dir, was passiert ist. Bei einem laufenden Ausfall hilft der Notfall-Support, dauerhaft begleitet die Contao-Wartung.
Ursache finden, Website wieder zum Laufen bringen, kurzer Bericht — meist am selben Tag.
Für Anpassungen, Fehlerbehebung und Beratung nach Aufwand, abgerechnet in 15-Minuten-Schritten.
Updates, Backups, Sicherheitscheck, Monitoring — Kleinigkeiten inklusive.
Orientierungswerte, keine Fixpreise — nach einem kurzen Gespräch bekommst du ein Festpreisangebot.
Wer hilft.
Ich bin Manuel Killert, Webentwickler aus Quakenbrück. Content-Management-Systeme sind mein Fachgebiet — ich arbeite seit Jahren damit, unterrichte das Thema als Dozent und kenne die Systeme nicht nur aus der Anwendung, sondern von innen: Datenmodell, Rechtekonzept, Templating, Erweiterungsarchitektur, Betrieb.
Das ist bei Contao besonders nützlich, weil es auf demselben Unterbau aufsetzt wie andere professionelle Systeme. Wer versteht, wie Abhängigkeitsverwaltung, Zwischenspeicherung und Konfigurationsebenen zusammenspielen, findet Fehler schneller — unabhängig davon, welcher Name über dem Backend steht.
Was du von mir bekommst: eine Diagnose in verständlicher Sprache, eine Behebung, die nicht nur das Symptom wegräumt, und eine ehrliche Einschätzung dazu, ob dein System weiterbetrieben, aktualisiert oder abgelöst gehört. Auch wenn die Antwort lautet, dass alles so bleiben kann.
Echte Projekte — live ansehen.
WordPress-Websites, die ich gebaut habe oder laufend betreue.

Markenfest
Stärkerer Online-Shop — Webdesign, Content und individuelle Shop-Funktionen.
Website ansehen ↗
KT Bodenteam
Professioneller Auftritt für einen Bodenleger — Vorher-Nachher-Slider und regionale SEO.
Website ansehen ↗
Potassco Solutions
Klare Website für ein KI-Unternehmen, die komplexe Technologie verständlich macht.
Website ansehen ↗FAQ — Update auf Contao 5.
In welcher Reihenfolge läuft ein Update auf Contao 5?
PHP anheben, Abhängigkeiten aktualisieren, Datenbank abgleichen, Templates und eigenen Code nachziehen — und das alles in einer Testumgebung, nie direkt am laufenden System.
Warum zuerst PHP?
Weil du dann getrennt siehst, was an der Laufzeitumgebung liegt und was am Versionssprung. Hebe die PHP-Version an, solange noch Contao 4 läuft.
Was ist beim Datenbankabgleich zu beachten?
Die vorgeschlagenen Befehle vorher lesen. Der Abgleich schlägt auch das Löschen von Tabellen vor, die er nicht zuordnen kann — und das sind manchmal Daten einer gerade nicht installierten Erweiterung.
Warum scheitert die Aktualisierung der Abhängigkeiten?
Meist weil eine Erweiterung keine Fassung für Contao 5 hat. Die Meldung nennt die beteiligten Pakete. Zweithäufigster Grund: zu knapper Arbeitsspeicher auf dem Server.
Was passiert mit eigenen Templates?
Sie müssen geprüft werden. Von Kerntemplates abgeleitete Dateien können veraltete Strukturen enthalten und geben dann nicht mehr dasselbe aus. Anpassungen gezielt übertragen statt die alte Datei weiterzuschleppen.
Was ist nach dem Update zu tun?
Cache auf allen Ebenen leeren, Suchindex neu aufbauen, zeitgesteuerte Aufgaben und Mailversand prüfen, das Fehlerprotokoll beobachten und die Redaktion kurz einweisen.
Das bin ich – rechts im BildErzähl mir, was an deinem Contao klemmt.
Schreib mir die Adresse, die Contao-Version und was passiert ist. Bei einem laufenden Ausfall schreib das in die erste Zeile — dann sehe ich es sofort.
Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de