Skip to main navigation Skip to main content Skip to page footer
TYPO3 v14: Asset-Handling wird schlanker – Was sich für Integratoren ändert

TYPO3 v14: Asset-Handling wird schlanker – Was sich für Integratoren ändert

Artikel vorlesen lassen

Loading the Elevenlabs Text to Speech AudioNative Player...
| TYPO3 | Geschätzte Lesezeit : min.

Breaking Changes in TYPO3 v14: Asset-Concatenation und HTTP-Kompression fallen weg. Die gute Nachricht – viele Instanzen sind nicht betroffen, und die Alternativen sind besser.

Nach den strategischen Neuerungen und praktischen Features in TYPO3 v14 ist es Zeit, über Breaking Changes zu sprechen. Konkret: TYPO3 räumt beim Asset-Handling auf und entfernt Funktionen, die seit Jahren als problematisch galten.

Das Gute: Viele Instanzen sind nicht betroffen. Und wer betroffen ist, bekommt bessere Alternativen. Hier der Überblick.

Was wird entfernt?

TYPO3 v14 verabschiedet sich von zwei fest eingebauten Funktionen:

  1. HTTP Response Compression – TYPO3 komprimiert keine HTTP-Antworten mehr (weder Frontend noch Backend)
  2. Asset Concatenation & Pre-Compression – CSS und JavaScript werden nicht mehr zusammengefasst oder vorkomprimiert

Beide Features mussten immer explizit aktiviert werden. Viele Instanzen haben sie nie genutzt.

Warum diese Änderung?

HTTP Response Compression ist Webserver-Aufgabe

Bisher konnte TYPO3 seine HTTP-Antworten mit $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] und $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] komprimieren. Das war immer ein Workaround.

Das Problem: Wenn sowohl TYPO3 als auch der Webserver komprimieren, gibt es Kollisionen. Moderne Webserver unterstützen effizientere Algorithmen wie Brotli und Zstandard, die TYPO3 nie implementiert hat.

Die Lösung: Webserver übernehmen die Kompression. Apache und nginx machen das standardmäßig – und besser.

Asset Concatenation war fehleranfällig

Die Idee: Mehrere CSS- und JavaScript-Dateien werden zu einer einzigen Datei zusammengefasst und optional vorkomprimiert. Das sollte HTTP-Requests reduzieren.

Warum das nicht mehr gebraucht wird:

  • HTTP/2 und HTTP/3 erlauben parallele Requests (Multiplexing). Mehrere Assets gleichzeitig zu laden ist kein Problem mehr.
  • Fragile Implementierung: CSS-Pfade mussten angepasst werden, @charset-Statements kollidierten, externe Assets wurden bei jedem uncached Request neu geladen – Performance-Albtraum bei INT-Elementen.
  • Parallele Systeme: Die Fluid ViewHelpers f:asset.css und f:asset.script haben Concatenation nie unterstützt. Zwei Asset-Systeme, zwei Verhaltensweisen – verwirrend.
  • Minimaler Gewinn: Moderne Webserver komprimieren kleine Assets on-the-fly ohne nennenswerten Overhead.

Das Core-Team hat Issues in diesem Bereich seit Jahren mit "Won't fix" geschlossen. Jetzt zieht TYPO3 die Konsequenz.

Was bedeutet das für dich?

Wenn du betroffen bist

Du bist betroffen, wenn in deiner Instanz folgende Einstellungen aktiv sind:

  • $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] oder $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] auf Werte > 0 gesetzt
  • TypoScript-Config config.concatenateCss, config.concatenateJs, config.compressCss oder config.compressJs aktiviert

So prüfst du, ob du betroffen bist:

  1. Schau in deine settings.php oder additional.php nach compressionLevel-Einträgen
  2. Suche in deinem TypoScript nach config.concatenate oder config.compress
  3. Nutze das TYPO3 Backend: System → Configuration → $GLOBALS['TYPO3_CONF_VARS'] und suche nach compressionLevel

Wenn du nichts findest, bist du nicht betroffen.

Was du tun musst:

  1. Prüfe deine Webserver-Konfiguration: Stelle sicher, dass HTTP-Kompression aktiviert ist. Bei Apache und nginx ist das meist Standard.
  2. Nutze moderne HTTP-Protokolle: Aktiviere HTTP/2 oder HTTP/3 in deiner SSL-Konfiguration.
  3. Erwäge Build-Tools: Wenn du wirklich Asset-Bundling brauchst, nutze moderne Tools wie Vite oder Webpack – nicht TYPO3.

Apache-Beispiel: HTTP/2 aktivieren

<IfModule http2_module>
    Protocols h2 http/1.1
</IfModule>
# Optional: Pre-compressed Assets ausliefern
AddEncoding gzip .gz
AddType "text/javascript" .js.gz
AddType "text/css" .css.gz
<FilesMatch "\\.(js|css)\\.gz$">
    ForceType text/plain
    Header set Content-Encoding gzip
</FilesMatch>

nginx-Beispiel: HTTP/2 aktivieren

server {
    listen 443 ssl http2;
    server_name [example.com](<http://example.com>);
    ssl_certificate /etc/ssl/certs/example.crt;
    ssl_certificate_key /etc/ssl/private/example.key;
    # Pre-compressed Assets ausliefern, falls vorhanden
    gzip_static on;
    # Optional: On-the-fly Kompression
    gzip on;
    gzip_types text/css application/javascript;
    [...]
}

Alternativen für Asset-Bundling

Falls du wirklich Asset-Concatenation brauchst:

  • Vite oder Webpack: Moderne Bundler, die während des Build-Prozesses arbeiten. Es gibt eine TYPO3-Extension: Vite AssetCollector
  • sgalinski/scriptmerger oder t3/min: Community-Extensions, die Script- und Stylesheet-Merging übernimmt
  • CDN: Für Traffic-intensive Projekte – Assets werden von Edge-Servern ausgeliefert

Meine Empfehlung:

  • Für moderne Projekte mit Build-Pipeline: Nutze Vite oder Webpack. Das ist der professionelle Standard und gibt dir volle Kontrolle.
  • Für bestehende Projekte ohne Build-Setup: sgalinski/scriptmerger oder t3/min können eine schnelle Lösung sein, wenn du Asset-Concatenation wirklich brauchst.
  • Für die meisten Fälle: Verlass dich auf HTTP/2 und Webserver-Kompression. Das reicht meist völlig aus und ist wartungsärmer.

Was ändert sich in der PHP-API?

Falls du Extensions entwickelst, die mit Assets arbeiten:

Entfernte Methoden (Auszug):

  • PageRenderer->disableConcatenateCss()
  • PageRenderer->enableConcatenateCss()
  • PageRenderer->disableCompressCss()
  • PageRenderer->enableCompressJavascript()
  • und weitere...

Entfernte Konfigurationspunkte:

  • $GLOBALS['TYPO3_CONF_VARS']['FE']['cssConcatenateHandler']
  • $GLOBALS['TYPO3_CONF_VARS']['FE']['jsConcatenateHandler']
  • und weitere...

Entfernte Hooks:

  • $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_div.php']['minifyJavaScript']

Der Extension Scanner findet betroffene Extensions automatisch.

Die Strategie dahinter

Diese Breaking Changes passen ins Gesamtbild von TYPO3 v14:

  • Klare Verantwortlichkeiten: Webserver komprimieren, TYPO3 generiert Content
  • Moderne Standards nutzen: HTTP/2, HTTP/3, Brotli, Zstandard
  • Weniger Maintenance-Last: Fehleranfällige Features werden entfernt, nicht repariert

Das ist kein Feature-Verlust, sondern ein Aufräumen. Die Alternativen sind besser.

Wie du vorbereitet bleibst

TYPO3 v14 ist noch in Entwicklung, aber die Richtung ist klar: Weniger Legacy, mehr moderne Standards.

Ich filtere weiter die relevanten Änderungen aus dem ChangeLog und stelle sie hier im Blog vor. Wenn du Updates direkt bekommen willst, trag dich in meinen TYPO3-Newsletter ein.

Zu TYPO3 v14 wird es natürlich wieder einen umfassenden Videokurs geben – sobald die Version näher an der Veröffentlichung ist.


Quellen & Links

Breaking #107943 – Frontend and backend HTTP response compression removed

https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/14.0/Breaking-107943-FrontendAndBackendHTTPResponseCompressionRemoved.html

Breaking #108055 – Removed Frontend Asset Concatenation and Compression

https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/14.0/Breaking-108055-RemovedFrontendAssetConcatenationAndCompression.html

Breaking #108055 – Removed PageRenderer related hooks and methods

https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/14.0/Breaking-108055-RemovedPageRendererRelatedHooksAndMethods.html

Vite AssetCollector Extension

https://extensions.typo3.org/extension/vite_asset_collector

Zurück

Wer schreibt hier?

Hi, ich bin Wolfgang.

Seit 2006 tauche ich tief in die faszinierende Welt von TYPO3 ein – es ist nicht nur mein Beruf, sondern auch meine Leidenschaft. Mein Weg führte mich durch unzählige Projekte, und ich habe Hunderte von professionellen Videoanleitungen erstellt, die sich auf TYPO3 und seine Erweiterungen konzentrieren. Ich liebe es, komplexe Themen zu entwirren und in leicht verständliche Konzepte zu verwandeln, was sich auch in meinen Schulungen und Seminaren widerspiegelt.

Als aktives Mitglied im TYPO3 Education Committee setze ich mich dafür ein, dass die Prüfungsfragen für den TYPO3 CMS Certified Integrator stets aktuell und herausfordernd bleiben. Seit Januar 2024 bin ich stolz darauf, offizieller TYPO3 Consultant Partner zu sein!

Meine Leidenschaft endet aber nicht am Bildschirm. Wenn ich nicht gerade in die Tiefen von TYPO3 eintauche, findest du mich oft auf meinem Rad, während ich die malerischen Wege am Bodensee erkunde. Diese Ausflüge ins Freie sind mein perfekter Ausgleich – sie halten meinen Geist frisch und liefern mir immer wieder neue Ideen.

Der TYPO3 Newsletter

TYPO3-Insights direkt in dein Postfach! 
Hol dir monatliche Updates, praktische Tipps und spannende Fallstudien. 
Übersichtlich, zeitsparend, ohne Spam. 
Bist du dabei? Jetzt für den Newsletter anmelden!

Trage dich hier ein, um den Newsletter zu erhalten.