WordPress schneller machen und Ladezeiten optimieren ⚡

1 Kommentar

Suchmaschinenoptimierer nerven mit Mobile First, WordPress Theme Developer werben mit A+ Ratings bei Pingdom & Co und Webhoster sind eh alle die Besten. Schnelle Ladezeiten sind wichtig und PageSpeed kann man schon mit relativ wenig Aufwand optimieren. Allerdings kommt WordPress von Haus aus schnell an seine Grenzen, sobald die Besucherzahlen steigen. Und da helfen nur 2 Dinge.

* = Affiliatelinks/Werbelinks

Wichtige Basics für schnelle Ladezeiten

Theme und Hosting gehören — wie allgemein bekannt — zu den wichtigsten Faktoren wenn es um schnelle WordPress Ladezeiten geht. Und mit GeneratePress* und HostPress®* habe ich bereits gute Bedingungen zum weiteren Optimieren.

Bilder sind auch bei mir die größten Dateien, die ihr bei einem Besuch meines Blogs herunterladet. Aktuell arbeite ich noch mit JPEGMini oder TinyPNG, bevor ich Bilder hochlade. Was WordPress damit für Thumbnails usw. anstellt, gefällt mir aber nicht.

Daher überlege ich noch ein Plugin zur Bildoptimierung zu installieren. Oder einfach alles von Cloudinary machen zu lassen. Wobei sehr viel für Optimus spricht.

Und um das Ganze abzurunden, darf ein Plugin wie Autoptimize, zum Minifizieren und oder Zusammenlegen von HTML, CSS und JavaScript natürlich nicht fehlen.

Video (englisch): Page Speed Optimization: Metrics, Tools, Improve


Mit Cache wird WordPress erst richtig schnell

Mit einem Cache der die Datenbank, WordPress komplett oder sogar den PHP Parser umgeht, werden Websites mit WordPress als CMS erst wirklich schnell. Weil der Server einfach deutlich weniger zu tun hat. Das ist ja auch allgemein bekannt.

WordPress Cache Performance
Ein Cache & Nginx bringen pure Leistung.
Klicke auf den Tweet ↓ um das Bild zu teilen!

Delicious Brains hat dazu kürzlich recht beeindruckende Benchmark Ergebnisse gezeigt: Ein simpler Cache in Verbindung mit Nginx, schaffte 330 Requests pro Sekunde.

Auf einem VServer für 5$ / Monat. Bei dem normal mit 18 Requests pro Sekunde Schluss war. »Mehr zu den Benchmark Ergebnissen

Mit HostPress®* ist übrigens im kleinsten Paket, ohne Cache, bei ca. 60 Requests Ende. Aber mehr dazu, mit Response Times, später.


Der große Haken von WordPress Cache Plugins

Es gibt ja drei Cache-Arten: Memory (Datenbank), Dynamic (PHP Dateien) sowie statische HTML Dateien. Und die oben erwähnte Config mit Nginx, oder auch CDN Services, benötigen diese statischen HTML Dateien im bzw. als Puffer Speicher.

Dynamische Inhalte durch AJAX

Für alles was dynamisch sein soll, muss zu JavaScript / AJAX gegriffen werden. Und das kann WordPress zwar auch, wird aber kaum in Themes & Plugins genutzt.

AJAX Datenwege und Datenfluss zwischen Browser und Server.
Datenwege und Datenverabeitung zwischen Browser und Server bei AJAX

Eine interessante Lösung könnte das PoP Framework werden, dass die komplette WordPress Seite quasi in AJAX verpacken und alle Anfragen über CDN Anbieter laufen lassen kann. Wie weit das schon ist oder funktioniert, weiß ich aber nicht.

Most content in the website, by nature “dynamic” or mutable, is made “static” or immutable by serving it through a Content Delivery Network (CDN), thus making the best of both worlds: content is dynamically generated through WordPress, but it can be cached as coming from a static site generator.

getpop.org/en/features/development/ > Development features > Content CDN

Dynamischer Cache als unkomplizierter Kompromiss

Vielleicht befassen sich jetzt auch Theme und Plugin Developer wegen dem Gutenberg Editor schon mehr mit JavaScript und AJAX. Als wirklich narrensicher, würde ich aktuell allerdings „nur“ die Datenbank- & dynamischen Caches betiteln.

Weil sie die Datenbank — die Engstelle bei WordPress — bereits erheblich entlasten, sind dort auch schon große Performance Verbesserungen zu sehen. Und ihr müsst euch keine Sorgen machen, dass bestimmte Theme- & Plugin-Features nicht gehen.


Cache-Plugin Test- und Optimier-Odyssee

Eigentlich war ich gerade dabei das GeneratePress Theme* hier erstmal mehr so optisch nach meinem Geschmack zu ändern. Aber irgendwie bin ich dann im Blog von Delicious Brains gelandet und von der NGINX Cache Thematik gehyped wurden.

Aufgrund der kürzlichen Suche nach einem funktionalen aber dennoch schnellen Theme, war ich sowieso noch im PageSpeed-Fieber. Die ganzen Diagramme, Tests und Statistiken zum Thema Ladezeiten sind nunmal einfach ansteckend.

Pseudodynamischer Cache mit Cookieerkennung

Ich wollte auch NGINX Super Turbo Cache für diesen Blog. Aber zwei Mal. Einen für Besucher mit, und einen für Besucher ohne den Cookie vom Cookie Notice Plugin.

  • Bei WP Super Cache funktioniert das einwandfrei mit dem dynamischen PHP Puffer. Aber leider nicht im „Experten Modus“ mit den für NGINX Try Files gewollten HTML Dateien. Um das verarbeiten von PHP zu sparen.
  • WP Rocket hat dafür ein Plugin zum Plugin, um einen gemeinsamen Cache für angemeldete User zu bekommen. Der wurde auch generiert. Manchmal. Und wenn, dann wurde mir selbst mit Custom Cookie und 20 versch. Versuchen in den Einstellungen, nur der normale Cache gezeigt.
  • Der dritte Anlauf war ein Versuch, Cache Enabler zu frisieren. Dieses nützliche Plugin ist nämlich schön minimal gehalten und kompatibel mit Autoptimize & Optimus. Das funktionierte allerdings auch nur teilweise.

Ich vermute ein Problem war auch im Zusammenspiel von Browsercache und von Plugins & .htaccess gesetzten HTTP-Headern. Aber ich hatte kein Bock mehr.


Test: HostPress® + GeneratePress + WP Rocket

Da mein Plan mit den Cookies (noch) nicht funktioniert hat, werde ich mich in der nächsten Zeit auch mehr mit AJAX beschäftigen. Für den Kommentarbereich gibt es dafür zum Glück fertige Plugins. Und andere „Spielereien“ müssen halt warten.

WP Rocket nutze ich jetzt, weil es bei HostPress®* inklusive ist. Ansonsten wäre es wahrscheinlich die Kombi [ Cache Enabler + Autoptimize (+Optimus) ] geworden.

Super Ladezeiten dank HTTP/2

Ladezeit mit HostPress GeneratePress und WP Rocket: 336 Millisekunden

Mich und euch als Besucher, interessieren am Ende eigentlich nur die Ladezeit und Größe einer Webseite. Wenn es nach Pingdom gehen würde, hätte ich durch das zusammenfügen von JavaScript und CSS weniger Requests und eine tollere Note.

Mit HTTP/2 sind kleinere parallel geladene Dateien allerdings schneller. Hier z.B. hatte ich mit zusammenlegen von JS & CSS min. 1.000 ms statt ~400 ms Ladezeit.

Loadtest: Von 0 auf 100 gleichzeitige Besucher in 60 Sek.

Wenn ihr Mal das Limit eurer WordPress Seite herausfinden möchtet, könnt ihr mit Loader.io bis zu 10.000 gleichzeitige Besucher simulieren. Fragt aber bitte vorher euren Webhoster und denkt an Trafficvolumen, bevor ihr so große Tests macht!

Bessere Antwortzeiten und Clientlimits mit WordPress Cache

HostPress Starter*Ohne Cache-PluginMit Cache-Plugin
Max. Clients/sec57Mehr als 100
Max. Response TimeÜber 10.000 msKurz ca. 200, dann 90 ms
Response CountsMax. 5 OK / SekundeMin. 1.000 OK / Sekunde

Die 57 gleichzeitigen Clients ohne Cache Plugin, sprechen schon irgendwie für HostPress*, zeigen aber auch die Schwachstelle von WordPress: Die Datenbank.

Es juckt mir auf jeden Fall auch in den Fingern, Mal die kostenlos maximal 10.000 gleichzeitigen Besucher zu testen, aber das würde mein Trafficvolumen sprengen.

Übrigens: Besucherzahlen bei Google Analytics werden durch Loadtests von Loader.io nicht verfälscht. Das fiel mir erst nach den Tests ein zu prüfen…


Fazit zum WordPress Ladezeiten optimieren

Um WordPress schneller zu machen, braucht man passende Cache-Plugins und gute Hosting Anbieter.

Schnelle Ladezeiten sind kein Hexenwerk. Das Thema ist halt nur sehr umfangreich. Und mit den zahlreichen Tipps & Guides in Foren und Blogs, schafft es früher oder später bestimmt auch jeder seine WordPress Ladezeiten zu optimieren.

Ein vernünftiges WordPress Theme — wie GeneratePress* 😀 — und optimierte Bilder, sind wichtig wenn ihr schnelle Ladezeiten erreichen wollt. Um WordPress auch unter Last schneller zu machen, braucht ihr ein passendes Cache-Plugin, und einen Webhosting Anbieter, der sich hervorragend mit WordPress auskennt.

  • Die Datenbank bremst WordPress am meisten aus und muss soweit es geht (am besten komplett) entlastet werden. Und das erreicht ihr mit Caches.
  • Welches Cache-Plugin und welche Cache-Methode für euch am besten sind, hängt von Zweck & Funktionen eurer Seiten und den genutzten Plugins ab.
  • Ein Webhosting Anbieter der sich mit WordPress auskennt, kann euren Cache, WordPress und Hosting optimal aufeinander abstimmen.
Kinsta WordPress Hosting
HostPress Managed WordPress Hosting

Wie findest du den Beitrag?

Da dir der Beitrag gefallen hat...

Folge mir doch bei Twitter oder Instagram!

Oh.. das ist ja blöd gelaufen.

Helf mir den Beitrag zu verbessern!

Twittern
Pin
Teilen
Reddit
WhatsApp