Nehmen Sie Kontakt auf.

Sie benötigen weitere Informationen zu einer bestimmten Leistung?
Sie haben eine konkrete Projektanfrage oder möchten einen Gesprächstermin vereinbaren?

Dann sind Sie hier genau richtig. Schreiben Sie uns ein paar Zeilen und wir melden uns schnellstmöglich bei Ihnen.

Ja, ich habe die Datenschutzerklärung zur Kenntnis genommen und bin damit einverstanden, dass die von mir angegebenen Daten elektronisch erhoben und gespeichert werden. Meine Daten werden dabei nur streng zweckgebunden zur Bearbeitung und Beantwortung meiner Anfrage benutzt.

Mit dem Absenden des Kontaktformulars erkläre ich mich mit der Verarbeitung einverstanden.

Web Performance Optimization (WPO)

Hintergrund

Web performance ist neben SEO ein entscheidender Faktor für die Zufriedenheit der Webseitenbesucher. Während Nutzer früher bereit waren bis zu 6 Sekunden auf eine Webseite zu warten, geben heute die meisten nach 2 Sekunden das Warten auf. Untersuchungen bei Yahoo haben ergeben, dass ein um 400 Millisekunden schnellerer Seitenaufbau 9% mehr Traffic generiert. Auch Google, Bing und Amazon haben derartige Untersuchen zur Performance ihrer Webseiten durchgeführt und kommen zu ähnlichen Ergebnissen.

Schnelle Antwortzeiten vermitteln dem Nutzer Zuverlässigkeit, ein schneller Seitenaufbau impliziert eine technisch gut realisierte Website und spiegelt damit auch die Qualität des Anbieters wider. Durch eine höhere Zufriedenheit des Nutzers können WPO-Maßnahmen indirekt auch den Umsatz und die Bekanntheit eines Unternehmens steigern.

Ladezeiten aller Komponenten von Webseiten
Komponenten einer Website
Zeiten um die Inhalte zu Parsen

Optimierungsmaßnahmen

WiRo Consultants optimieren Ihre Webseite durch eine Reihe von Maßnahmen im Frontend und im Backend Ihrer TYPO3-Installation.

Auszug möglicher Optimierungsmaßnahmen:

  • HTTP-Anfragen reduzieren
    (Skripte, CSS und Bilder/Sprites zusammenfassen)
  • Automatische Komprimierung der Dateien
    (Gzip, compressionLevel, Bildoptimierung)
  • Valides und strukturiertes HTML-Markup ohne die Seite beim Aufbau zu blockieren
    (CSS im Kopf, JS im Seitenfuß, link statt @import etc.) 
  • Minimalisieren der JS- und CSS-Dateien
  • Seiten- und Proxy-Cache
    (TYPO3-Seitencache, ETags, Expires-Header, proxy-header, etc.)
  • Subdomains für statische Inhalte
    (Cookie-Free Domains)
  • u.v.m.

Beispiel: Browsercache

Ruft ein Webbrowser eine Seite auf, so werden neben der eigentlichen HTML-Seite eine Vielzahl an weiteren Dateien geladen und verarbeitet. Am Beispiel unserer Website www.wiro-consultants.com werden 29 HTTP-Anfragen (235,9 KB Übertragungsgröße) beim erstmaligen Aufruf der Startseite vom Webserver abgerufen. Durch ein mehrstufiges Caching werden die dabei ausgelieferten Dateien so gekennzeichnet, dass der Webbrowser bei der nächsten abgerufenen Seite nur noch die Inhalte nachläd, die nicht bereits geladen wurden. Dies reduziert die Daten beim zweiten Aufruf auf 0,3 KB - was einer Übertragungsreduzierung um fast 800% entspricht.

Wichtig hierbei ist, dass nicht alle Dateien gleich behandelt werden dürfen. Beispielsweise dürfen statische Dokumente mehrere Tage oder auch Wochen im Cache behalten werden, wärend eine Seite mit News-Meldungen praktisch immer aktualisiert werden muss.

Über die Meta-Einträge in den ausgelieferten HTML-, CSS-, JavaScript- und Bild-Dateien lässt sich genau festlegen, was zwischengespeichert werden darf und wann eine Datei erneut vom Server heruntergeladen werden muss. Zusätzlich lassen sich sogenannte Prüfsummen von Dateiversionen vergleichen, um (fast) ohne Datenübertragung zu entscheiden, ob die Datei wirklich erneut geladen werden muss oder ob es sich noch die alte, bereits geladene Version dieser Datei handelt.

Seitenaufruf vor und nach dem Caching
  1. # Browser caching für z.B. JavaScript- und CSS-Dateien
  2. <FilesMatch "\.(ico|js|css|jpg|jpeg|png|gif)$">
  3. <IfModule mod_expires.c>
  4. ExpiresActive on
  5. ExpiresDefault "access plus 50 days"
  6. </IfModule>
  7. FileETag MTime Size
  8. </FilesMatch>

Beispiel: TYPO3-Cache

Im TYPO3 wird jede Seite aus unterschiedlichen Bausteinen zusammengestellt und das Ergebnis in der Datenbank gespeichert, sodass die Seite beim zweiten Aufruf direkt aus der Datenbank ausgelesen werden kann. Da dies bei dynamischen Seiten nicht gewünscht wird, können auch Teile (z.B. Ausgaben von Extensions) vom Cache ausgeschlossen werden.

Damit ein Plugin unterschiedliche Inhalte auf einer Seite (eindeutige Seiten-ID) anzeigen und zwischenspeichern kann, gibt es in TYPO3 einen speziellen Parameter. Dieser Parameter ergibt sich u.a. aus der Seiten-ID und dem Sicherheitsschlüssel (zu finden in der localconf.php) und bildet eine Prüfsumme. Liegt eine Prüfsumme bereits in der Datenbankbank, kann die dazugehörige Seite direkt aus der Datenbank ausgeliefert werden.

  1. // cHash Typolink Konfiguration
  2. // Parameter, die in den Hash einfließen festlegen
  3. $wiroConf = array(
  4. 'parameter' => $GLOBALS['TSFE']->id,
  5. 'useCachHash' => true,
  6. 'additionalParams' => '&tx_wiroext_pi1[wiroParam]=543'
  7. );
  8. // Link um Text legen und erstellen
  9. $wiroTypolink = $this->cObj->typolink($this->getLL('wiroLabelForDetailLink'), $wiroConf);
  10. $wiroLink = $this->cObj->lastTypoLinkUrl;

Beispiel: Varnish-Proxy

Varnish ist ein Web-Beschleuniger für Websites. WiRo Consultants setzen diesen zur Beschleunigung und Lastverteilung von dynamischen Webseiten in Kombination mit TYPO3 ein. Dabei legen wir die einmal generierten Webseiten im Arbeitsspeicher des Servers ab, was einen erneuten Zugriff auf diese Webseite erheblich beschleunigt.

Selbst die schnellsten SSD-Festplatten sind rund 4000x langsamer als der Arbeitsspeicher des Webservers. Konventionelle Festplatten sind rund 5x langsamer als SSD-Festplatten. Hier liegt also ein erhebliches Beschleunigungspotenzial! Dies gilt insbesondere dann, wenn nicht jede Serveranfrage bis in das TYPO3 Kernsystem vordringen muss und somit keine komplexen Datenbankabfragen und Festplattenzugriffe erfolgen müssen.

Selbst wenn einzelne Komponenten der Website über cookie-free Domains (z. B. libs.wiro-consultants.com) ausgeliefert werden können, wird der Webserver entlastet und die Seiten zügiger dargestellt.

Die Geschwindigkeit ist sowohl für Nutzer als auch für Suchmaschinen ein wichtiges Merkmal für gute Websites. Je schneller die Seite ist, desto zufriedener sind die Besucher.

Seitenaufruf mit und ohne dem Varnish-Proxy
Grafik: Vergleich der Ladezeiten mit und ohne Varnish-Proxy