Monat: Mai 2014

TYPO3 mit XClass und Hooks erweitern

TYPO3 lässt sich vielfältig erweitern, als Bordmittel für Modifikationen stehen auf PHP-Ebene Hooks und die XClass Funktionalität bereit. Hooks erlauben Eingriffe in den Verarbeitungsablauf der Daten an definierten Punkten. Mit XClass können gleich ganze Klassen überschrieben werden. Wie fast immer haben beide Lösungen Ihre Vorzüge und Schwächen. Hooks gelten als das Standardmittel für Erweiterungen. Der Einsatz von XClass im Allgemeinen ist nur dann ratsam, wenn Hooks, Services, userFunc oder bei ExtBase Erweiterungen auch SignalSlots nicht als Lösung in Frage kommen.

Was sind Hooks?

Hooks sind ein weit verbreitetes Konzept, neben TYPO3 wird dies auch in der Shoplösung Magento und dem Blog-CMS WordPress genutzt. Es handelt sich dabei um Schnittstellen, die mit eigenen Extensions genutzt werden können, um Daten oder den Programmablauf in Fremd-Extensions oder Core-Dateien zu manipulieren. Der eigentliche TYPO3- oder Extension-Code muss dazu nicht verändert werden.

Weiterlesen

Pagespeed Optimierungen für TYPO3

Die Seitenladegeschwindigkeit und die Zeit, die ein Browser zum Rendern einer Website benötigt, beeinflusst maßgeblich die Usability einer Homepage. Das wissen auch die Suchmaschinen. Inbesondere Google hat die Seitenladegeschwindigkeit zum Ranking-Kriterium gemacht und gibt Webmastern mit den Pagespeed Tools Entwicklerwerkzeuge für Speed-Optimierungen an die Hand. Mit den folgenden Tipps und Tricks können Typo3 Webseiten meist einfach bessere Werte im Speedtest erzielen.

Optimieren der Serverkonfigurationen

Vielfach liegen die Schwächen gar nicht bei Typo3 selbst. Für gute Ergebnisse beim Pagespeed ist eine gute Serverkonfiguration nötig. Bei Apache Servern erfolgt dies in der Regel über die .htaccess-Datei. Die Kandidaten für die Optimierung sind die Aktivierung der GZIP Komprimierung per mod_deflate und das Senden der Headerdaten per mod_headers oder mod_expires.

GZIP Komprimierung aktivieren

Das Apache Modul mod_deflate komprimiert Daten vor dem Transfer. Ist ein solches aktives Modul in der Webserver-Software installiert, genügen zur Aktivierung der mod_deflate Komprimierung wenige Zeilen. Um HTML, XML, Javascript und CSS zu komprimieren, reichen die folgenden Zeilen in der mod_deflate-Sektion einer .htaccess-Datei:

AddOutputFilterByType DEFLATE text/plain 
AddOutputFilterByType DEFLATE text/html 
AddOutputFilterByType DEFLATE text/xml 
AddOutputFilterByType DEFLATE text/css 
AddOutputFilterByType DEFLATE application/xml 
AddOutputFilterByType DEFLATE application/xhtml+xml 
AddOutputFilterByType DEFLATE application/javascript 
AddOutputFilterByType DEFLATE application/x-javascript

Bekannte problematische Browser allgemein werden so ausgeschlossen:

BrowserMatch ^Mozilla/4 gzip-only-text/html 
BrowserMatch ^Mozilla/4\.0[678] no-gzip 
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

Für den passenden Umgang mit Proxys empfiehlt es sich, noch die folgene Zeile in der .htaccess zu ergänzen:

Header append Vary User-Agent env=!dont-vary

Weiterlesen