Direkt zu den Inhalten springen
  • TYPO3

Mehr Geschwindigkeit für TYPO3: Ihr Guide zur Website-Performance

Min Lesezeit

Ein umfassender Leitfaden zur TYPO3-Performance-Optimierung: von Server und Caching über Frontend und Code bis zu Monitoring und Performance-Budget.


In der heutigen digitalen Landschaft, in der Nutzer innerhalb von Millisekunden über das Verweilen auf oder Verlassen einer Website entscheiden, ist die Performance einer Website zu einem kritischen Erfolgsfaktor geworden. TYPO3-basierte Websites stehen dabei in einer besonderen Position, da dieses leistungsstarke Content-Management-System bei richtiger Konfiguration außergewöhnliche Geschwindigkeiten erreichen kann.

TYPO3 zeichnet sich als Enterprise-Content-Management-System besonders durch seine Fähigkeit aus, selbst bei großen Websites mit zahlreichen Unterseiten und hohem Verkehrsaufkommen zuverlässig und schnell zu funktionieren. Namhafte Unternehmen wie HiPP, Danone, TUI, Raben und Uvex setzen TYPO3 aufgrund seiner herausragenden Leistungsfähigkeit ein. Beeindruckend ist dabei, dass fast 45 % der TYPO3-basierten Websites innerhalb einer Sekunde geladen werden und damit andere beliebte CMS-Plattformen wie Wix, Squarespace, Joomla und WordPress übertreffen.

Dieser Leitfaden beleuchtet die verschiedenen Aspekte der TYPO3-Performance-Optimierung – von der Serverumgebung über Caching-Strategien bis hin zur Frontend-Optimierung und Code-Bereinigung.

Grundlagen der TYPO3-Performance-Optimierung

TYPO3 basiert auf PHP und verwendet typischerweise MySQL als Datenbank. Bei jedem Seitenaufruf durchläuft das System mehrere Verarbeitungsschritte: Datenbankabfragen werden ausgeführt, PHP-Code interpretiert, HTML generiert und schließlich an den Browser gesendet. Jeder dieser Schritte bietet Potenzial für Optimierungen.

Ein zentrales Element ist das integrierte Caching-Framework, das bereits verarbeitete Inhalte zwischenspeichert und so die Notwendigkeit reduziert, bei jedem Seitenaufruf dieselben Berechnungen erneut durchzuführen. In Version 10.1 wurde das Caching-Framework weiter verbessert: Der Speichertyp für Caches ist seitdem konfigurierbar – je nach Umgebung kann ein im Dateisystem gespeicherter Cache schneller sein als die standardmäßige Datenbankspeicherung.

Typische Performance-Probleme lassen sich in mehrere Kategorien einteilen:

  • Serverbedingte Probleme: Unzureichende Serverressourcen, suboptimale PHP-Konfiguration oder ineffiziente Datenbankabfragen.
  • Code-bedingte Probleme: Übermäßiger oder ineffizienter TypoScript-Code, schlecht optimierte Erweiterungen sowie unnötige Logs und Debug-Funktionen.
  • Frontend-bedingte Probleme: Nicht optimierte Bilder, unkomprimierte CSS- und JavaScript-Dateien sowie eine ineffiziente Ladereihenfolge.
  • Caching-bedingte Probleme: Eine falsche oder fehlende Cache-Konfiguration, sodass Seiten bei jedem Aufruf neu generiert werden.

Laut einer Studie von Google erhöht sich die Absprungrate um 32 %, wenn die Ladezeit von 1 auf 3 Sekunden steigt. Für E-Commerce-Websites bedeutet jede zusätzliche Sekunde Ladezeit einen Rückgang der Conversion-Rate um durchschnittlich 7 %. TYPO3 bietet dazu integrierte Tools wie den TYPO3-eigenen Performance-Analyzer sowie Erweiterungen wie PageSpeed Insights, TYPO3 Extension Compatibility Report und Zabbix Client, um Engpässe zu identifizieren.

Optimierung der Serverumgebung für TYPO3

Die Serverumgebung bildet das Fundament für die Performance einer TYPO3-Website. Selbst die beste Code- und Frontend-Optimierung kann eine unzureichende Serverinfrastruktur nicht vollständig kompensieren.

Auswahl des richtigen Hosting-Anbieters

Ein guter Hosting-Anbieter für TYPO3 sollte folgende Kriterien erfüllen: Unterstützung der neuesten PHP-Versionen, ausreichend RAM und CPU-Leistung, SSD-Speicher für schnelle Datenbankzugriffe, gute Netzwerkanbindung mit geringen Latenzzeiten sowie Spezialisierung auf bzw. Erfahrung mit TYPO3-Hosting. Empfehlenswerte Anbieter sind unter anderem Amazon Web Services (AWS), jweiland.net, mittwald.de und ipax.at. Mit zunehmender Größe kann ein Wechsel von Shared Hosting zu einem dedizierten Server oder einer Cloud-Lösung sinnvoll sein.

Konfiguration des Webservers für optimale Performance

Für Apache empfehlen sich: Aktivierung des mod_deflate-Moduls zur Komprimierung von HTML, CSS und JavaScript, Konfiguration von ETags und Expires-Headers für Browser-Caching, Optimierung der KeepAlive-Einstellungen sowie die Verwendung von HTTP/2. Für Nginx: Aktivierung der Gzip-Komprimierung, Konfiguration des FastCGI-Cachings für PHP, Optimierung der Worker-Prozesse sowie Browser-Caching über Expires-Header.

Eine besonders effektive Maßnahme ist die Gzip-Komprimierung in der .htaccess-Datei, die die Bandbreite um 50–80 % reduzieren kann:

<FilesMatch "\.js\.gzip$">
  AddType "text/javascript" .gzip
</FilesMatch>
<FilesMatch "\.css\.gzip$">
  AddType "text/css" .gzip
</FilesMatch>
AddEncoding gzip .gzip

PHP-Beschleuniger und PHP-Konfiguration optimieren

PHP-Beschleuniger wie OPcache speichern kompilierten PHP-Code zwischen und reduzieren so die Ausführungszeit bei jedem Seitenaufruf. Die PHP-Konfiguration sollte für TYPO3 optimiert werden: Erhöhung des memory_limit auf mindestens 256M, Optimierung der max_execution_time, Anpassung der realpath_cache_size, Konfiguration von OPcache sowie die Aktualisierung auf moderne PHP-Versionen (PHP 8+).

Laut Messungen kann PHP 8.2 die Performance um bis zu 41 % gegenüber PHP 7.0 steigern. Der TYPO3-Core ist seit Version 11.3 mit PHP 8.0 kompatibel und wird kontinuierlich für neuere PHP-Versionen optimiert.

Optimierung der Datenbankserver-Konfiguration

Zur Verbesserung der Datenbankperformance gehören: Optimierung der Zwischenspeichergröße für schnelleren Lesezugriff, Anpassung der Redo-Log-Größe, Konfiguration der parallel möglichen Datenbankverbindungen, Optimierung des Query Cache sowie regelmäßige ANALYZE TABLE- und OPTIMIZE TABLE-Läufe für bessere Indexnutzung.

Content Delivery Networks (CDNs) für TYPO3

Ein CDN speichert statische Inhalte wie Bilder, CSS und JavaScript auf Servern weltweit und liefert sie vom jeweils nächstgelegenen Standort aus, was die Ladezeiten insbesondere für internationale Zielgruppen deutlich reduziert. Vorteile sind unter anderem Verfügbarkeit über verschiedene Domains, Pre-Caching von Dateien, hochleistungsfähige, verteilte Infrastrukturen, integrierte Versionskontrolle sowie Nutzungsanalysen.

TYPO3-Caching-Strategien für maximale Geschwindigkeit

1. Internes TYPO3-Caching-System aktivieren und konfigurieren

Die einfachste und wirkungsvollste Maßnahme ist die Aktivierung des internen Caching-Systems über TypoScript:

config.no_cache = 0

Der Standardwert ist bereits 0, kann aber in Entwicklungsumgebungen deaktiviert worden sein. Seit Version 10.1 ist der Speichertyp für Caches konfigurierbar – ein im Dateisystem gespeicherter Cache kann unter Umständen schneller sein als die Datenbankspeicherung. Seit Version 10.0 ermöglicht Symfonys Service Container zudem die direkte Injektion von Cache-Objekten anstelle des CacheManagers.

2. Static File Caching mit nc_staticfilecache

Für Websites mit vielen statischen Seiten bietet die Erweiterung nc_staticfilecache erhebliche Vorteile: Sie erzeugt statische HTML-Dateien und liefert sie direkt aus, anstatt bei jeder Anfrage SQL-Abfragen und PHP-Logik zu durchlaufen. Nach der Installation über das TYPO3 Extension Repository (TER) sollte definiert werden, welche Seiten gecacht werden und welche dynamischen Inhalte davon ausgenommen bleiben.

3. Cache-Konfiguration für verschiedene Anwendungsfälle optimieren

Wichtige Aspekte sind: Konfiguration der Cache-Lebensdauer für verschiedene Inhaltstypen, Definition von Cache-Tags zur gezielten Invalidierung, der Einsatz von Varnish oder Redis als externe Cache-Systeme sowie Edge-Side-Includes (ESI) für teilweise dynamische Seiten. Für komplexe Installationen bietet sich ein mehrstufiges Caching-System an: statischer File-Cache für öffentliche, selten geänderte Seiten, dynamischer Cache für personalisierte Inhalte, Datenbank-Cache für komplexe Abfragen und Opcode-Cache für PHP-Skripte.

4. Browser-Caching konfigurieren

Durch die richtige Konfiguration von Expires-Headers werden Ressourcen wie Bilder, CSS und JavaScript im Browser zwischengespeichert. Das erfolgt typischerweise über die .htaccess-Datei:

ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType image/gif "access plus 6 months"
ExpiresByType image/jpeg "access plus 6 months"
ExpiresByType image/png "access plus 6 months"
ExpiresByType application/font-woff "access plus 6 months"

Ab TYPO3 Version 7 ist dieser Code bereits standardmäßig in der .htaccess-Datei enthalten, sollte aber überprüft und angepasst werden.

5. Monitoring und Wartung des Cache-Systems

Dazu gehören die Überwachung der Cache-Größe und -Nutzung, die regelmäßige Überprüfung der Cache-Trefferrate, die automatische oder manuelle Invalidierung nach Inhaltsänderungen sowie die periodische Bereinigung veralteter Einträge. TYPO3 bietet im Backend Werkzeuge zur Cache-Verwaltung; für umfassendes Monitoring eignen sich zusätzlich Tools wie New Relic oder Blackfire.

Frontend-Optimierung für schnellere TYPO3-Websites

1. Bildoptimierung und -komprimierung

Bilder haben oft den größten Einfluss auf die Ladezeit. Möglichkeiten sind die manuelle Komprimierung vor dem Upload (z. B. über compressjpeg.com, compresspng.com oder tinyjpg.com), die automatische Größenanpassung mit Fluid Templating (<f:image src="..." width="100c" height="100c" />) sowie die Anpassung der JPEG-Qualität in der LocalConfiguration.php ($TYPO3_CONF_VARS['GFX']['jpg_quality'] = '65';). Zusätzlich sollten moderne Bildformate wie WebP in Betracht gezogen werden, die TYPO3 ab Version 9 nativ unterstützt.

2. Minimierung und Zusammenführung von CSS und JavaScript

TYPO3 bietet integrierte Funktionen zur Komprimierung (config.compressCss = 1, config.compressJs = 1) und Zusammenführung (config.concatenateCss = 1, config.concatenateJs = 1 ab TYPO3 7; zuvor config.concatenateJsAndCss = 1). Diese Einstellungen reduzieren die Anzahl der HTTP-Requests und die übertragene Datenmenge.

3. Optimierung der Ladereihenfolge

CSS sollte möglichst früh geladen werden, JavaScript-Dateien lassen sich mit config.moveJsFromHeaderToFooter = 1 in den Footer verschieben, um das Rendering nicht zu blockieren.

4. Reduzierung von HTTP-Requests

Neben der Zusammenführung von CSS- und JavaScript-Dateien helfen: CSS-Sprites für Symbole und kleine Grafiken, die Einbettung kleiner Bilder als Data-URIs, der Verzicht auf unnötige externe Ressourcen sowie die Konsolidierung von Schriftarten mit Subset-Fonts.

5. Lazy Loading für Bilder und Videos

Lazy Loading lädt Bilder und Videos erst, wenn sie im sichtbaren Bereich erscheinen – etwa über das nativ unterstützte loading="lazy"-Attribut, JavaScript-basierte Lösungen wie lazysizes oder lozad.js, oder entsprechende TYPO3-Erweiterungen.

6. Optimierung des kritischen Rendering-Pfads

Wichtige Maßnahmen sind die Inline-Einbettung kritischer CSS-Styles, das verzögerte Laden nicht-kritischer CSS-Dateien, das asynchrone Laden nicht kritischer JavaScript-Dateien sowie die Priorisierung des sichtbaren Inhalts (Above-the-fold-Content).

Code- und Erweiterungsoptimierung

Bereinigung und Optimierung des TypoScript-Codes

Dazu gehören die Entfernung unnötiger Code-Blöcke, die Vermeidung alternativer if-Bedingungen, die Beseitigung überflüssiger Leerzeichen und Kommentare sowie die Modularisierung von TSConfig und TypoScript, etwa über:

<INCLUDE_TYPOSCRIPT: source="FILE:EXT:extkey/Configuration/TypoScript/root.ts">

Reduzierung und Optimierung von TYPO3-Erweiterungen

Empfehlenswert sind die Deaktivierung oder Deinstallation ungenutzter Erweiterungen, regelmäßige Updates, die Konsolidierung mehrerer spezialisierter Erweiterungen zu einer Lösung sowie die Überprüfung der Kompatibilität mit der eingesetzten TYPO3-Version.

Best Practices für performante TYPO3-Extensions

Dazu zählen die Verwendung des Dependency-Injection-Patterns anstelle des Singleton-Patterns, die Nutzung des Cache-Frameworks für rechenintensive Operationen, effiziente und indexierte Datenbankabfragen, die Vermeidung unnötiger Hook-Registrierungen sowie Lazy Loading für Objekte und Ressourcen. Seit TYPO3 Version 10.1 lassen sich alle Core-Caches als Dependency-Injection-Services direkt in Klassen-Konstruktoren injizieren.

Optimierung der Datenbankabfragen

Wichtige Maßnahmen sind die Verwendung von Indizes für häufig abgefragte Felder, der Verzicht auf SELECT * zugunsten spezifischer Feldauswahl, die Optimierung komplexer JOIN-Operationen sowie Query-Caching für wiederkehrende Abfragen. TYPO3 bietet dazu Werkzeuge wie den SQL-Debugger.

Deaktivierung unnötiger Logs und Debug-Funktionen

In Produktivumgebungen sollten Logging- und Debug-Funktionen deaktiviert werden, etwa in der LocalConfiguration.php:

$TYPO3_CONF_VARS['SYS']['enableDeprecationLog'] = '0';
$TYPO3_CONF_VARS['SYS']['sqlDebug'] = false;
$TYPO3_CONF_VARS['SYS']['no_pconnect'] = '1';

Messung und Monitoring der TYPO3-Performance

Tools zur Performance-Messung

Zu den wichtigsten Tools zählen Google PageSpeed Insights, Lighthouse, WebPageTest und GTmetrix sowie TYPO3-spezifische Erweiterungen wie EXT:performance_analyzer, EXT:crawler und EXT:zabbix_client.

Interpretation von Performance-Metriken

Relevante Kennzahlen sind Time to First Byte (TTFB), First Contentful Paint (FCP), Largest Contentful Paint (LCP, eine der Core-Web-Vitals-Metriken), Cumulative Layout Shift (CLS), Total Blocking Time (TBT) sowie der Speed Index.

Kontinuierliches Monitoring der Website-Geschwindigkeit

Da sich die Geschwindigkeit durch neue Inhalte, Updates, Änderungen an der Serverinfrastruktur oder Besucherschwankungen verändern kann, sind regelmäßige automatisierte Tests, Real User Monitoring (RUM), Alarme bei Überschreitung von Schwellenwerten sowie manuelle Überprüfungen wichtig.

A/B-Testing von Performance-Optimierungen

Beim A/B-Test werden die aktuelle und eine optimierte Variante einer Seite anhand von Ladezeit, Absprungrate und Conversion-Rate verglichen, um die Wirksamkeit einer Maßnahme objektiv zu bewerten.

Performance-Budget für TYPO3-Projekte

Ein typisches Performance-Budget könnte umfassen: maximale Seitengröße 2 MB, maximal 50 HTTP-Requests, First Contentful Paint unter 1,5 Sekunden, Largest Contentful Paint unter 2,5 Sekunden, Cumulative Layout Shift unter 0,1 sowie ein Google-PageSpeed-Score von mindestens 85. Diese Werte sollten an die spezifischen Anforderungen der Website angepasst und regelmäßig überprüft werden.

FAQs zur Maximierung der TYPO3 Website Performance

  • Die neuesten PHP-Versionen bieten in der Regel die beste Performance für TYPO3. Aktuell ist PHP 8.x die empfohlene Version, da sie erhebliche Leistungsverbesserungen gegenüber älteren Versionen bietet – laut Messungen kann PHP 8.2 die Performance um bis zu 41 % gegenüber PHP 7.0 steigern.

    Der TYPO3-Core ist seit Version 11.3 mit PHP 8.0 kompatibel und wird kontinuierlich für neuere PHP-Versionen optimiert. Bei einem Upgrade sollte jedoch immer die Kompatibilität aller eingesetzten Erweiterungen geprüft werden. Neuere PHP-Versionen bieten zudem verbesserte Sicherheitsfunktionen und neue Sprachfeatures.

  • Es gibt verschiedene Anzeichen und Methoden, um Performance-Probleme zu identifizieren:

    • Messung der Ladezeit mit Tools wie Google PageSpeed Insights, Lighthouse oder WebPageTest – Ladezeiten von mehr als 3 Sekunden deuten auf Optimierungsbedarf hin.
    • Überwachung der Serverauslastung: Eine hohe CPU- oder Speicherauslastung kann auf ineffizienten Code oder unzureichende Serverressourcen hinweisen.
    • Analyse der Datenbankabfragen: Eine hohe Anzahl oder lange Ausführungszeit von Abfragen kann die Performance beeinträchtigen.
    • Überprüfung des TYPO3-Logs auf häufige Fehler oder Warnungen.
    • Nutzer-Feedback zu langsamen Ladezeiten oder träger Reaktion der Website.
    • Eine überdurchschnittlich hohe Absprungrate.
  • Grundsätzlich kann jede Erweiterung die Performance beeinträchtigen, insbesondere wenn sie nicht optimal entwickelt wurde oder nicht mit der eingesetzten TYPO3-Version kompatibel ist. Besonders anfällig sind: komplexe Suchfunktionen, Statistik- und Tracking-Tools, Social-Media-Integrationen, schlecht optimierte Bildergalerien und Slideshows sowie Shop-Systeme mit komplexer Produkt- und Bestellverwaltung.

    Um Auswirkungen zu minimieren, sollten nur notwendige Erweiterungen installiert, regelmäßig aktualisiert und bei Bedarf durch leichtgewichtigere Alternativen ersetzt werden.

  • Zur mobilen Optimierung gehören: responsives Design mit Fluid-Templates und CSS-Frameworks, ein Mobile-First-Ansatz, responsive Bilder über das <picture>-Element oder das srcset-Attribut, eine Reduzierung des JavaScript-Einsatzes, gegebenenfalls Accelerated Mobile Pages (AMP), ausreichend große und gut platzierte Touch-Elemente sowie die Priorisierung des sichtbaren Bereichs mit Lazy Loading für den Rest.

  • Für große TYPO3-Websites mit hohem Besucheraufkommen eignet sich eine mehrstufige Caching-Strategie: Reverse-Proxy-Caching (z. B. Varnish) vor dem Webserver, Static File Caching über die Erweiterung nc_staticfilecache, Optimierung des TYPO3-internen Datenbank-Caches, In-Memory-Caching mit Redis oder Memcached, CDN-Integration für statische Ressourcen, Browser-Caching über Expires-Header sowie Edge-Side-Includes (ESI) für teilweise dynamische Seiten.

  • Bei hohem Besucheraufkommen helfen: eine skalierbare Serverinfrastruktur (Cloud-Hosting, Load Balancing), die Verteilung der Last auf mehrere Server, ein robustes mehrstufiges Caching-System, die Optimierung der Datenbankperformance (z. B. Replikation oder Sharding), ein CDN für statische Inhalte, asynchrone Verarbeitung rechenintensiver Prozesse, umfassendes Monitoring mit automatischer Skalierung sowie ein Notfallplan für Spitzenlasten.

Fazit

Die Maximierung der TYPO3-Website-Performance ist ein vielschichtiger Prozess, der verschiedene Aspekte der Webentwicklung und -administration umfasst. Besonders hervorzuheben sind:

  • Die Aktualisierung auf moderne PHP-Versionen (PHP 8+), die allein eine Leistungssteigerung von bis zu 41 % bringen kann.
  • Die Implementierung einer mehrstufigen Caching-Strategie aus internem TYPO3-Caching, Static File Caching und Browser-Caching.
  • Die Optimierung von Bildern und anderen Medien, die oft den größten Teil des Datenvolumens ausmachen.
  • Die Minimierung und Zusammenführung von CSS- und JavaScript-Dateien sowie deren optimale Positionierung.
  • Die kritische Überprüfung und Optimierung des TypoScript-Codes und der eingesetzten Erweiterungen.
  • Die Einrichtung eines kontinuierlichen Monitorings, um die Performance langfristig auf hohem Niveau zu halten.

Google hat mit den Core Web Vitals Performance-Metriken bereits zu offiziellen Ranking-Faktoren erklärt – ein Trend, der sich voraussichtlich fortsetzen wird. Für Betreiber von TYPO3-Websites ist es daher ratsam, die Performance-Optimierung nicht als einmalige Aufgabe, sondern als kontinuierlichen Prozess zu betrachten.

Bilder müssen Textalternativen haben, die die Informationen oder Funktionen des Bildes beschreiben. Diese Feld sollte nur für rein dekorative Bilder leer sein.
Beispiel einer Platzhaltergrafik für Demo- und Testzwecke. © BRUNS_digital