TYPO3-Cache leeren: welcher Knopf was trifft
Es gibt nicht einen Cache, sondern mehrere Ebenen. Wer weiß, welche davon welcher Knopf trifft, spart sich das wahllose Klicken auf alles.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Gespeichert ist nicht dasselbe wie ausgeliefert
TYPO3 baut eine Seite einmal auf und legt das Ergebnis ab. Beim nächsten Aufruf kommt dieses fertige Ergebnis heraus, und genau deshalb ist eine TYPO3-Website überhaupt schnell. Der Preis dafür ist der Moment, den jede Redaktion kennt: Der Text ist gespeichert, das Backend zeigt ihn korrekt an, und das Frontend zeigt beharrlich den Stand von vorhin.
Verwirrend ist daran, dass es nicht einen Cache gibt, sondern mehrere Ebenen übereinander. Die fertigen Seiten sind die oberste. Darunter liegen zwischengespeicherte Konfiguration, Informationen über vorhandene Klassen und Erweiterungen sowie erzeugte Bildvarianten. Und außerhalb von TYPO3 kommen der Browser, unter Umständen ein vorgelagerter Zwischenspeicher und ein Auslieferungsnetz dazu.
Wer diese Ebenen nicht auseinanderhält, entwickelt eine teure Angewohnheit: Bei jedem Problem wird alles geleert, auch wenn nur eine einzelne Seite betroffen ist. Auf einer großen Website heißt das, dass anschließend jede Seite beim nächsten Aufruf neu gebaut werden muss, und das merkt man in genau dem Moment, in dem viele Leute gleichzeitig unterwegs sind.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Symptom, Ursache, Lösung
Symptom
Du hast einen Text geändert und gespeichert, im Backend steht die neue Fassung, im Frontend die alte.
Ursache
Das ist der Normalfall und kein Fehler. Die betroffene Seite liegt noch als fertiges Ergebnis im Zwischenspeicher. TYPO3 leert diesen Eintrag beim Speichern zwar in der Regel automatisch, aber nicht in jeder Konstellation, etwa wenn der geänderte Datensatz auf einer anderen Seite liegt als die Ausgabe.
Lösung
Leer den Zwischenspeicher für genau diese Seite. Am Seitenbaum gibt es dafür einen eigenen Eintrag im Kontextmenü der Seite, und im Seitenmodul findest du die entsprechende Schaltfläche in der Kopfzeile. Das genügt in den allermeisten Fällen und lässt den Rest der Website unangetastet.
Symptom
Eine Änderung an einem Element, das auf vielen Seiten erscheint, ist nur an einer Stelle zu sehen.
Ursache
Solche Inhalte werden häufig an einer Stelle gepflegt und anderswo eingebunden, etwa Fußzeilenblöcke, Ansprechpartner oder Verweise auf einen zentralen Datensatz. Geleert wird beim Speichern die Seite, auf der der Datensatz liegt, nicht jede Seite, die ihn anzeigt. Deshalb bleibt der alte Stand dort stehen, wo er eingebunden ist.
Lösung
Leer in diesem Fall die Frontend-Caches über den Blitz in der Kopfleiste, denn hier betrifft die Änderung tatsächlich viele Seiten. Wenn solche Fälle regelmäßig auftreten, lohnt sich der Blick der Entwicklung darauf, ob die Abhängigkeit zwischen Datensatz und ausgebender Seite sauber hinterlegt ist.
Symptom
Nach einer neuen Erweiterung, einer geänderten Konfiguration oder neuem Code passiert nichts oder es erscheint eine Fehlermeldung über eine nicht gefundene Klasse.
Ursache
Hier reicht das Leeren der Frontend-Caches nicht. TYPO3 legt neben den fertigen Seiten auch Konfiguration und Informationen darüber ab, welche Klassen und Erweiterungen es gibt. Diese Ebene wird vom Blitz nicht vollständig erfasst, und deshalb arbeitet das System weiter mit dem Bild von vorhin.
Lösung
Nimm den Wartungsbereich der Admin-Werkzeuge und leer dort TYPO3- und PHP-Caches vollständig. Auf der Kommandozeile erledigt das der Befehl typo3 cache:flush, der sich bei Bedarf auf eine bestimmte Gruppe begrenzen lässt. Nach dem Hinzufügen oder Entfernen von Erweiterungen müssen zusätzlich die Autoload-Informationen erneuert werden: In einer Composer-Installation macht das composer dump-autoload, in einer Installation ohne Composer die entsprechende Schaltfläche im selben Wartungsbereich.
Symptom
Du hast alles geleert, und trotzdem kommt der alte Stand, während ein privates Browserfenster oder ein Handy die neue Fassung zeigt.
Ursache
Dann liegt es nicht mehr an TYPO3. Entweder hält dein Browser die Seite fest, oder zwischen Besucher und Server sitzt ein weiterer Zwischenspeicher, etwa ein vorgelagerter Proxy oder ein Auslieferungsnetz wie Cloudflare. Diese Systeme haben eigene Regeln und eigene Laufzeiten und wissen nichts davon, dass du im Backend etwas geleert hast.
Lösung
Prüf zuerst den eigenen Browser mit einem harten Neuladen. Bleibt es dabei, muss der vorgelagerte Zwischenspeicher geleert werden, und das passiert in dessen eigener Oberfläche, nicht in TYPO3. Wer solche Systeme einsetzt, sollte diesen Schritt in die Arbeitsanweisung der Redaktion aufnehmen, sonst sucht bei jeder Änderung jemand an der falschen Stelle.
Symptom
Die Seite bleibt leer oder unverändert, obwohl im Backend alles richtig aussieht und kein Cache mehr etwas hält.
Ursache
In diesen Fällen war der Cache nie das Thema. Häufige Gründe: Das Element ist verborgen, es hat ein Start- oder Enddatum, es wurde in der falschen Sprachfassung bearbeitet, es liegt in einer Arbeitsumgebung und ist noch nicht freigegeben, oder es steht in einer Spalte, die das Layout dieser Seite gar nicht ausgibt.
Lösung
Geh diese fünf Punkte der Reihe nach durch, bevor du weiter am Cache arbeitest. Ein guter Test ist die Vorschau aus dem Backend heraus: Zeigt auch sie den alten oder gar keinen Inhalt, liegt es am Datensatz und nicht an der Auslieferung.
Vier Ebenen und die Regel dazu
- 01 Eine einzelne Seite: der richtige Griff, wenn nur dort etwas fehlt.
- 02 Alle Frontend-Caches: der Blitz in der Kopfleiste für redaktionelle Änderungen.
- 03 Alle Caches inklusive Konfiguration und Klassen: über die Admin-Werkzeuge.
- 04 Alles außerhalb von TYPO3: Browser, vorgelagerter Zwischenspeicher, Auslieferungsnetz.
- 05 Nimm immer die kleinste Ebene, die das Problem vollständig erklärt.
Was du danach im Alltag sicher entscheidest
Die Regel dahinter ist einfach: Nimm die kleinste Ebene, die das Problem erklärt, und geh erst dann eine Stufe höher. Damit löst du fast jeden Fall in einem Schritt und ohne Nebenwirkungen.
Die Ebenen unterscheiden
Du weißt, dass fertige Seiten, Konfiguration und Klasseninformationen getrennt zwischengespeichert werden und dass nicht jeder Knopf alle drei trifft.
Gezielt statt großflächig leeren
Du leerst den Zwischenspeicher einer einzelnen Seite, wenn nur diese betroffen ist, statt die gesamte Website neu aufbauen zu lassen.
Den Fall für die Admin-Werkzeuge erkennen
Du weißt, dass nach Änderungen an Konfiguration, Erweiterungen oder Code der Blitz nicht reicht und warum das so ist.
Erkennen, wann es nicht der Cache war
Du prüfst Browser, vorgelagerte Zwischenspeicher und Auslieferungsnetze, bevor du zum dritten Mal dieselbe Schaltfläche drückst.
Redaktionsrechte richtig setzen
Du kannst erklären, warum ein Redaktionskonto bestimmte Einträge nicht sieht, und weißt, an welcher Stelle das eingestellt wird.
Die Folgekosten einschätzen
Du weißt, was ein vollständiges Leeren auf einer großen Website danach an Last erzeugt, und wählst den Zeitpunkt entsprechend.
KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Was der Blitz in der Kopfleiste tatsächlich macht
Der Blitz oben in der Kopfleiste des Backends ist der Knopf für den Redaktionsalltag. Er leert die Frontend-Caches, also die fertig gebauten Seiten, und genau das braucht man, wenn eine gespeicherte Änderung nicht durchkommt. Für Konten mit Administrationsrechten bietet er zusätzlich das vollständige Leeren an, und dieser Unterschied ist der Grund, warum zwei Personen an derselben Stelle unterschiedliche Einträge sehen.
Wichtig ist die Einordnung dessen, was er nicht macht. Er ist nicht dafür gedacht, eine geänderte Konfiguration wirksam werden zu lassen, und er löst auch keine Probleme, deren Ursache außerhalb von TYPO3 liegt. Wer ihn dafür einsetzt, drückt ihn mehrfach, bekommt kein anderes Ergebnis und wechselt dann zur nächstgrößeren Schaltfläche, statt die Ebene zu wechseln, auf der das Problem liegt.
Für einzelne Seiten gibt es den gezielteren Weg über den Seitenbaum und das Seitenmodul. Auf kleinen Websites ist der Unterschied gleichgültig, auf großen ist er es nicht: Nur die betroffene Seite muss neu gebaut werden, alle anderen bleiben ausgeliefert wie zuvor.
Wann die Admin-Werkzeuge nötig sind
Sobald sich etwas ändert, das nicht Inhalt ist, reicht der Alltagsknopf nicht mehr. Das betrifft neue oder aktualisierte Erweiterungen, Änderungen an der Konfiguration, eigenen Code und alles, was im Dateisystem passiert. TYPO3 legt für diese Dinge eigene Zwischenstände ab, damit nicht bei jedem Aufruf das gesamte System neu eingelesen werden muss, und genau diese Stände müssen dann verworfen werden.
Der Weg dafür führt in den Wartungsbereich der Admin-Werkzeuge, wo sich TYPO3- und PHP-Caches vollständig leeren lassen. Nach Änderungen an Erweiterungen gehört das Erneuern der Autoload-Informationen dazu, das dort ebenfalls angeboten wird. Auf der Kommandozeile übernimmt der Befehl typo3 cache:flush dieselbe Aufgabe, was auf Systemen ohne Backend-Zugriff oder in automatisierten Abläufen der übliche Weg ist.
Ein Nebeneffekt ist beabsichtigt: Nach diesem Schritt ist auch das Backend beim ersten Aufruf langsamer, weil ebenfalls wieder aufgebaut werden muss. Das ist normal und kein Anlass, den Vorgang zu wiederholen.
Warum Redakteure bestimmte Einträge nicht sehen
Das ist keine Fehlfunktion, sondern eine Einstellung. Welche Cache-Einträge ein Konto angeboten bekommt, hängt an den Cache-Optionen im Benutzer-TSconfig unter options.clearCache. Dort gibt es getrennte Schalter: einen für das Leeren einzelner Seiten, einen für alle Frontend-Caches und einen für den Systemcache. Ohne Freigabe sieht ein Redaktionskonto den passenden Eintrag nicht, und weil die Schalter getrennt sind, lässt sich einer Redaktion genau das erlauben, was sie braucht, ohne ihr gleich das Leeren der ganzen Installation zu geben.
Diese Zurückhaltung hat einen guten Grund. Das vollständige Leeren wirkt auf die gesamte Website, und in einer Redaktion, in der es zur Gewohnheit wird, passiert es mehrmals täglich. Die Freigabe für einzelne Seiten dagegen ist meist genau das, was der Redaktion fehlt, und sie hat keine Nebenwirkungen für den Rest der Installation.
Wenn eine Redaktion regelmäßig nach dem Leeren ruft, lohnt der Blick auf die Ursache statt auf die Rechte. Häufig steckt dahinter ein Inhaltstyp, dessen Abhängigkeiten nicht sauber hinterlegt sind, sodass beim Speichern die falsche Seite geleert wird. Das lässt sich einmal richtig einstellen und ist danach für alle Beteiligten erledigt.
Warum ständiges Alles-Leeren eine teure Angewohnheit ist
Nach einem vollständigen Leeren existiert keine fertig gebaute Seite mehr. Jede Adresse, die danach zum ersten Mal aufgerufen wird, wird neu erzeugt, samt Menüs, Datenbankabfragen und Bildverarbeitung. Bei einer Website mit fünfzig Seiten fällt das niemandem auf. Bei mehreren tausend Seiten und gleichzeitig laufender Kampagne entsteht eine spürbare Phase mit deutlich erhöhter Last.
Unangenehm wird es, wenn dieses Leeren mitten am Tag passiert, weil es zur Routine geworden ist. Der Server bekommt dann die volle Erzeugungsarbeit genau dann, wenn ohnehin die meisten Besucher unterwegs sind. Für große Installationen lautet die Regel deshalb: gezielt leeren im Tagesgeschäft, vollständig leeren nach technischen Änderungen und möglichst zu einer ruhigen Zeit.
Und noch ein Hinweis für den Umgang mit Kollegen: Wenn jemand berichtet, eine Änderung sei nicht sichtbar, lohnt zuerst die Frage, wo genau er hinschaut, in welcher Sprachfassung und mit welchem Gerät. Ein erheblicher Teil dieser Meldungen erledigt sich mit dieser Frage, bevor überhaupt ein Cache im Spiel war.
Dazu passende Kurse
Wenn solche Fragen bei euch regelmäßig auftauchen, ist das meist ein Zeichen für fehlende Grundlagen im Team, dagegen hilft TYPO3-Grundlagen aufbauen .
Wie sicher bist du beim Thema wirklich?
Lesen fühlt sich schnell nach Können an. Ein kurzer Test zeigt dir, was davon schon sitzt und wo sich ein Kurs lohnt. Kostenlos, ohne Anmeldung, mit einer Erklärung zu jeder Antwort.
Wo du genau das übst
Sehr kompetente und freundliche Trainerin. Die Inhalte wurden gut strukturiert und anhand von anschaulichen Beispielen vermittelt.
Häufige Fragen
Muss ich nach jeder Änderung den Cache leeren?
Was ist der Unterschied zwischen Frontend-Caches und allen Caches?
Kann das Leeren des Caches etwas kaputtmachen?
Wir haben Cloudflare davor. Was ändert sich dadurch?
Deine Ansprechpartner
Du bist dir nicht sicher, welcher Kurs oder welches Level zu dir passt? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Hilft dir, aus dem TYPO3-Programm den passenden Kurs für deinen Stand zu finden.
Norbert Jansen
Beratung & Inhouse
Plant mit dir Inhouse-Trainings, die auf eure Abläufe und euren Datenbestand zugeschnitten sind.
Im Backend sicher werden, statt zu raten
Wer den Aufbau aus Seitenbaum, Inhaltselementen und Zwischenspeicherung einmal vollständig verstanden hat, löst solche Fälle selbst, und genau dort setzen die TYPO3-Kurse bei cmt an.