Schlagwort-Archive: performance

WordPress Website-Performance = Website Ladezeit

Die Ladezeit Deiner Website ist ein wichtiger Erfolgsfaktor

Da hat mir hosteurope ja einen schönen Strich durch die Rechnung gemacht. Nach einer angemeldeten Server Umstellung stieg die Ladezeit einer meiner Seiten durchschnittlich auf über 3 Sekunden. Und es ist serverseitig auch keine Besserung in Sicht – einzig ein Paketupgrade soll Abhilfe schaffen. Da ich keine Lust auf noch mehr Kosten habe, war basteln angesagt.

Ladezeit unterhalb 1 Sekunde

Nach zahlreichen Optimierungen habe ich die Ladezeit für viele Unterseiten wieder unterhalb einer Sekunde drücken können. Meine liebste Seite lädt jetzt in 871 ms, das tut sie nicht immer und nicht von jedem Kontinent aus, aber es ist wieder im vertretbaren Rahmen.

Ladezeit wird immer wichtiger für die Suchposition bei google

Besucher wollen ungern warten und ab einer Ladezeit von größer fünf Sekunden springen viele Besucher schon ab, oder kehren unverrichteter Dinge zur Suche zurück. Gemessen habe ich mit den pingdom tools. Versuch’s doch auch einmal für Deine Website.

Deine Seite lädt langsam?

Dann wirst Du im Verhältnis zu Deinen Wettbewerbern bei google im Suchergebnis schlechter positioniert.

Du suchst Hilfe bei der Performance-Optimierung Deiner Vereins- oder Karateseite

Dann kannst Du gerne – ich schaue mir Deine Seite gerne an, stelle Dir ein paar technische Fragen und gebe Dir anschließend Tipps zur Optimierung.

Update 25.01.2017

Heute habe ich eine weitere Konfigurationsänderung beim Hoster vorgenommen und nun geht es ab wie Schmitz-Katze mit der Websiteauslieferung. Durch Zufall habe ich eine für wordpress sehr brauchbare Option entdeckt. Ein Bericht aus dem gedruckten t3n Magazin hat mich zum experimentieren veranlasst und siehe da, sogar wptouch performed jetzt ordentlich. 

Update 08.03.2017

Ein guter Schritt nach vorne, ist der Betrieb von wordpress unter php7, das zündet den Turbo 🙂 Grund für die Performanceverbesserung: php7 benötigt viel weniger Ressourcen. Bei den shardehosting Angeboten ist Speicher ja immer ein Problem und so wird das Gesamtsystem Deiner Instanz unter geringerer Last betrieben.

google macht den mobilen Index übrigens zum Hauptindex, da sind für das ranking weitere Optimierungen außerhalb der Ladezeit angesagt! stay tuned.

Update 08.03.2017

Ein weiterer, guter Grund ungenutzte Plugins in WordPress zu deaktivieren: Das Laden der zugehörigen CSS und Javascript Dateien entfällt und blockiert die Anzeige der Seite nicht mehr.

Zudem habe ich mir heute die Mühe gemacht, das CSS der meisten Plugins in eine einzelne Datei zu packen und aus den „Controllern“ das Registrieren (wp_enqueue_style) der Styles rausgeworfen. Das muss ich jetzt zwar nach jedem Plugin Update erneuern, ging aber zügig und hat sich, besonders für mobile Geräte, sehr gelohnt.

Die Maßnahmen haben die Laufzeit noch einmal gut gedrückt, gemessen mit den pingdom tools

pingdom tools

Die Seite die hier gepimpt wird ist übrigens mein Test-, Spiel- und Lieblingsprojekt karate-kampfkunst.de .

Update 09.03.2017

Habe eben noch einmal googles pagespeed insights angeschmissen, Fazit: Es bleibt noch genug zu tun 🙂

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)
load_javascript

WordPress Performance – laden von Javascript

Eine Sache, die mir bei WordPress überhaupt nicht gefällt, daß Javascript und CSS von Plugins und Widgets geladen werden, die auf einer Seite gar keine Verwendung finden. Bisher kenne ich keine elegante Alternative, das zu unterbinden.

Für ein paar wenige Plugins gibt es ergänzende Optimizer – selbst eingesetzt habe ich bisher nur den Optimizer für die nextgen gallery.

Dabei wird das Laden der Seite durch „nicht genutzten Code“ unnötig verzögert – besonders bei schlechter Verbindung ein Ärgernis. Auch Nutzer von Volumentarifen wird es nicht freuen, wenn eine Seite grundlos hunderte Kilobytes lädt.

Eigentlich wäre es Sache der Plugin Entwickler, hier für Abhilfe zu sorgen, denn das Laden ließe sich von vornherein an diverse Bedingungen knüpfen (Shortcode enthalten, Widget enthalten usw.).

Beschleunigung durch Codeanpassung

Aus zuvor benannten Gründen habe ich mich auf die Suche gemacht, wo die einzelnen Plugins denn Javascript und CSS beisteuern. Dabei habe ich mich über eine Volltextsuche auf die Funktionen wp_enqueue_script und wp_enqueue_style konzentriert.

Nun kann man zum Beispiel an entsprechender Stelle prüfen, ob es sich bei der auszugebenden Seite um „Home“ ( is_home() ), die „Frontpage“ ( is_front_page() ) oder eine andere beliebige Seite ( is_page($page ) handelt und wo es sinnvoll erscheint, den Aufruf der o.a. Funktionen dementsprechend unterbinden.

Natürlich sind alle Funktionen die WordPress bietet geeignet, um relevante Seiten / Kategorien Posts etc. zu bestimmen (Stichwort „is_“ in der Funktionsreferenz).

Ökonomische Eleganz

Es ist Unsinn, jedes Plugin anzufassen und dann im Quellcode lästig jeweils Bedingungen zu ergänzen, also ist der nächste Schritt mit der Frage verbunden: Wie lässt sich das sinnvoll lösen?! To be continued.

Konkatenieren und Komprimieren

In der Datei wp_includes script_loader bin ich auf folgende Funktionen gestoßen:

  • CONCATENATE_SCRIPTS
  • COMPRESS_SCRIPTS
  • COMPRESS_CSS

Tatsächlich lässt sich für diese in der wp-config.php eine entsprechende Konstante setzen (mit Wert true/false) und so das Ausliefern von CSS und Javaskript Dateien beeinflussen, ohne ein Plugin zu installieren.

 

VN:F [1.9.22_1171]
Rating: 4.3/5 (6 votes cast)

WordPress beschleunigen – WordPress Performance

Und das in 3 einfachen Schritten (Für WordPress ab Version 3.3).

Was mir dabei wichtig ist: In der Kürze liegt die Würze. Neben zahlreichen Gründen aus SEO Sicht und Benutzer Zufriedenheit, gefällt es mir persönlich auch ganz gut, wenn die Site schnell ausgeliefert wird.

Vor der Optimierung kann man z.B. mit den Pingdom-Tools messen, wie lange die Auslieferung dauert. Geht natürlich auch mit yslow, google pagespeed und anderen Tools, aber pingdom speichert die Ergebnisse in einer Historie. So lässt sich später auch prüfen, ob die Ladezeit vielleicht vom Hoster, Server oder tageszeitabhängig beeinflusst wird.

Schritt 1: Auf unnötige Plugins verzichten

Welche dabei unnötig sind, lässt sich einfach mit dem Plugin P3 (Plugin Performance Profiler) feststellen. Nach der Plugin Installation lässt sich über Tools / Werkzeuge ein Ladeprofil erstellen, welches die Ladezeit der auf dem Server ausgeführten php Skripte erfasst. Meiner Meinung nach sind alle Plugins unnötig, die einen schlechten Einfluss auf die Ladezeit haben. Es gibt nicht viele Zusatzfunktionen, die dem Besucher auf einer „langsamen“ Website wieder ein Lächeln entlocken.

Also: Alle Plugins die nicht zur Kernfunktionalität gehören und langsam sind zumindest zum Test deaktivieren, gegen schnellere mit gleicher Funktion austauschen, oder darauf verzichten.

Schritt 2: Die Auslieferung von CSS und Javascript Dateien optimieren

Das lässt sich sehr einfach mit dem Plugin Better WordPress Minify realisieren. Nach der Installation lässt sich unter Settings / Einstellungen – BWP Minify festlegen, wie CSS und Javascript Dateien zu behandeln sind.

Schritt 3: Worpress um Cache Funktionalitäten „erweitern“

Und dazu lässt sich z.B. einfacherweise das Plugin WP Super Cache verwenden. Nach der Installation lässt sich unter Settings/ Einstellungen – WP Super Cache festlegen, wie die Seiten zu cachen sind. Die Cache Funktionalität ist übrigens schon in WordPress enthalten (ohne Persistenz, für die sorgt z.B. das Plugin) und ist hier beschrieben Class Reference/WP Object Cache. (define('WP_CACHE', true) in der wp-config.php einzutragen ist seit Version 2.6 unnötig, da diese Konfiguration nicht mehr zieht)

Noch nicht genug? Dann gibt es noch weitere Möglichkeiten

Schritt 4: Ein schnelles Template verwenden

Nicht jedes Template ist leichtgewichtig und nicht jedes gut designed. Es lohnt sich auf jeden Fall ein paar Templates zu probieren und sich die Ladezeiten anzusehen.

Schritt 5: Bilder später laden

Mit dem Plugin jQuery Image Lazy Load WP kann man erreichen, daß Bilder erst geladen werden, wenn sie im Viewport sichtbar sind, sprich, wenn der Besucher in der Seite soweit runter scrollt, daß das Bild angezeigt wird. Bringt aber nur was, wenn die Seite überhaupt Content in geeigneter Form darstellt.

Weiterlesen

VN:F [1.9.22_1171]
Rating: 4.8/5 (30 votes cast)

Seitenzugriff unter apache beschleunigen

Wer einen apache Server betreibt, oder bei seinem Webhoster einen apache Server nutzt, kann das Ladeverhalten einer Website maßgeblich beeinflussen. Obwohl der Browser selber entscheidet, welches Element er neu lädt, lässt sich über die Nutzung des expires_modul eine entsprechende Direktive für die Elemente einer Website setzen. Der „Erstbesucher“ hat von dieser Optimierung zunächst nichts, erst beim Wiederholten Aufruf macht sich diese Konfiguration bemerkbar.

Weiterlesen

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

Website Performance Tuning

Googles Pagespeed gibt es schon seit einiger Zeit als Online Version und sogar mit Tests für mobile Websites. Wer also seine Website auf Vordermann bringen will, kann jetzt schnell und unkompliziert einen Chek ausführen.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Windows im Detail – Sysinternals

Mit den Tools der Sysinternals Suite lassen sich auf Windows Betriebssystemen Verwaltungsaufgaben erledigen sowie Probleme diagnostizieren und beheben.

  • Dateien, Datenträger

    Dienstprogramme zur Anzeige und Überwachung von Dateien und Datenträgern und deren Verwendung

  • Netzwerk

    Tools für Aufgaben im Bereich Netzwerk

  • Prozesse und Threads

    Prozessdiagnose und Ressourcenüberwachung

  • Sicherheit

    Konfiguration und Verwaltung der Systemsicherheit, Rootkit- und Spywaresuche

  • Systeminformationen

    Anzeige der Verwendung und Konfiguration von Systemressourcen

  • und weitere

zur Microsoft Sysinternals Website

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Website schneller machen

Es gibt eine ganze Reihe von Optimierungsmöglichkeiten, um die Anzeige der Website im Browser des Besuchers zu beschleunigen.

Schwieriger umzusetzen sind z. B.:

  • GZIP Komprimierung serverseitig einschalten
    • dazu benötigt man Zugriff auf die Serverkonfiguration
    • ggf. muss ein Servermodul aktiviert werden
  • Verteilung der Ressourcen auf mehrere (Sub)-Domains
    • hierdurch können mehrere Verbindungen gelichzeitig genutzt werden
  • Javaskript Dateien zusammenfassen
  • CSS Dateien zusammenfassen
  • unbenötigten Code entfernen

Sehr leicht lassen sich aber die folgenden Tipps realisieren:

  • CSS Dateien im HTML so weit wie möglich oben verlinken
    • hierdurch positioniert der Browser Elemente direkt an der richtigen Stelle, das spart Zeit
  • Javascript Dateien und (Skript-) Code im HTML soweit wie möglichen unten verlinken / einfügen
    • hierdurch lädt der Browser zunächst die zur Anzeige erforderlichen Elemente und wird nicht durch das Laden größerer Skripte blockiert

Um einen Eindruck davon zu erhalten, was die Website „so langsam“ macht, lassen sich im Firefox die Tools Yslow von Yahoo und google Pagespeed einsetzen, mehr lesen .

Und wieder mal Firebug

Firebug lässt sich dazu verwenden, nicht zum Zuge kommende CSS Anweisungen zu finden. Dafür (nach Installation von Firebug) einfach einen Rechtsklick auf ein Element der Website durchführen und „Element untersuchen“ auswählen. Firebug zeigt dann rechts im Fenster unter „Styles“ CSS Anweisungen die nicht berücksichtigt werden durchgestrichen an. Diese könnte man aus seiner CSS Definition entfernen.

Valider HTML Code

Auf jeden Fall sollten HTML Fehler vermieden werden. Erster Einstiegspunkt: Fehler finden.

Browser rendern die „Website“ trotz HTML Fehlern und das benötigt Zeit. Je mehr Fehler, um so aufwändiger wird für den Browser das Rendern und umso langsamer wird die Seite aufgebaut. Nimmt man z.B. den Firefox und schaut sich den Quelltext an, sieht dieser häufig anders aus als im Original. Elemente werden je nachdem entfernt oder modifiziert.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

speedlimit

Mit Speedlimit lässt sich simulieren, wie eine Website bei eingeschränkter performance geladen wird. Der Download ist kostenlos.
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Windows Hardware bereinigen

Wer seinen Rechner längere Zeit verwendet, schließt auch immer wieder neue oder andere Geräte an. Spätestens seit USB müllt damit aber auch der Rechner zu. Geräte die deaktiviert oder nicht verfügbar sind, werden im Gerätemanger nicht angezeigt, sind aber im System vorhanden und in der Registry verankert.

So kann es sein, daß man mit 3 bis 4 mobilen Datenträgern (Kamera, USB Stick, MP3 Player) schon mal 9 bis 12 Geräte zusätzlich (nicht) betreibt, denn jedesmal, wenn man einen anderen USB Port verwendet, kommt eine neue Instanz dazu und wer nimmt schon immer den gleichen Anschluss.

Ausgeblendete Geräte

Man kann im Gerätemanager (Ansicht / ausgeblendete Geräte) eine Anzeige der Geräte aktivieren. Allerdings ist das nur von Erfolg gekrönt, wenn auch die Registry darauf getrimmt ist. Wie man die Geräteanzeige anpasst kann man hier nachlesen.

Ausgeblendete Treiber

Nicht jeder Treiber gehört zu einem Stück Hardware. Auch Software wie Virenscanner u. a. hinterlassen Spuren im Gerätemanager (im Zweig Nicht-PNP-Treiber). Es ist also nicht verwunderlich, daß ein neu aufgesetztes System meist schneller ist als eines, daß schon 5 Jahre läuft.

120 Leichen in zwei Jahren

Mein aktuelles Lieblingsnotebook kam nach 2 Jahren auf 120 Treiberleichen, die ohne weiteres gelöscht werden konnten.

Und der Effekt?

Muss ich darauf hinweisen, daß der Rechner anschließend schneller bootet und über mehr freie Ressourcen verfügt? Da ich auch die nicht verwendeten Volumen Schattenkopien gelöscht habe (die auch nach Entfernen von Wiederherstellungspunkten als Leiche erhalten bleiben), musste der Rechner einmal extra neu gestartet werden. Im Anschluss sucht er aber nicht mehr nach Hardware, die er gar nicht finden kann. In meinem Fall war ein USB / seriell Adapter an dem ein altes Wacom Tablet hing ein echter Störer. Nach dem Login dauerte es aufgrund der fehlenden Hardware ca. 3 Minuten, bis der Dekstop zu sehen war. Jetzt dauert es (wie zu Anfang, als das NB neu war) 2 Sekunden.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Windows entschlacken

Dienste und Protokolle die die Welt nicht braucht – wer einen Rechner ohne Verbindung zum Firmen- oder Heimnetz benutzt benötigt zahlreiche Dienste und Protokolle nicht. Dabei geht es beim Heimnetz nicht um die Verbindung mit dem Internet, sondern um die Frage ob, man zwischen mehreren PCs zu Hause über das Netzwerk Daten austauscht, ist das nicht der Fall, kann man auf folgende Dienste und Protolle verzichten:

Dienste (Systemsteuerung / Verwaltung / Dienste)

  • Arbeitststationsdienst
  • Computervrowser
  • Server

Die Dienste lassen sich beenden und sollten auf Startart „deaktiviert“ gesetzt werden.

Netzwerkprotokolle (Systemsteuerung / Netzwerkverbindungen)

  • Client für Microsoft Netzwerke
  • Datei- und Druckerfreigabe für Microsoft Netzwerke

Einfach das Häkchen rausnehmen, dann werden die Protokolle nicht mehr mit geladen.

Und was nun

Alles wie gehabt. Ihr Rechner startet schneller und hat mehr freie Ressourcen. Zu beachten ist das Microsofts Baseline Security Analyzer ohne die o.a. Dienste seine Arbeit nicht verreichtet. Das Toll ist aber kein Standard (muss manuell installiert werden) und wird wenig verwendet.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)