Icon for WordPress Performance and Cacheing Optimization

WordPress langsam? 9 Tipps zur Performance-Optimierung

Durch die richtigen Einstellungen in WordPress, deinem Theme und dem Cache kannst du die Ladezeit beschleunigen, den Page Speed optimieren und deine Google Rankings verbessern.

Die Geschwindigkeit deiner Website ist ein wichtiger Rankingfaktor: Neben einer einfacher Bedienung, ansprechenden und umfangreichen Inhalten sowie positiver Reputation sind schnelle Ladezeiten das A und O um besser in der Suchmaschine gefunden zu werden.

4 Sekunden sollte deine Website maximal laden. 1 Sekunde Ladezeit und ein PageSpeed von über 85% ist das Ziel.

Die Ladezeit deiner Seite kann sich auch auf den finanziellen Erfolg deiner Seite auswirken, wie folgendes Beispiel zeigt: Für jede 100 Millisekunden, die Amazon schneller lädt, steigt der Umsatz des Online Händlers um ein Prozent (Quelle). Das ist aber ein Extrembeispiel. Um deine WordPress-Seite zu beschleunigen, habe ich dir die wichtigsten Tipps zur Performance Optimierung zusammengestellt.

Performance-Tests

Zu Beginn deiner Performance Optimierung solltest du erstmal feststellen, wie schnell deine Seite überhaupt ist. Das geht am einfachsten mit den Google PageSpeed Insights) und den zwei anderen Tools WebPagetest oder Pingdom. Denn wenn du nur mit einem Tool einen Performance Test machst, kann das die Aussagekraft verfälschen, da jedes Tool seine Besonderheiten hat:

Screenshot fast website through Google PageSpeed test
Screenshot aus Google

Googles‘ PageSpeed Test hat nur sehr bedingt Aussagekraft. Er sagt dir zwar, ob die Suchmaschine deine Seite als schnell befindet, allerdings sind die Optimierungsvorschläge zum Großteil nicht im CMS umsetzbar. Bitte nur den Desktop-Score beachten, da der mobile Score seit dem letzten Update Mitte 2018 kaum Aussagekraft mehr hat:

Google will seit Mitte letzten Jahres mit Hilfe des sog. Lighthouse-Projekts, anhand dessen die mobile Ladezeit gemessen wird, primär Accelerated Mobile Pages pushen – eine Art Website-Template von Google für mobile Seiten. Diese Technologie ist aber aktuell nur für Newsportale geeignet und bringt diesen neben super schnellen Ladezeiten in eine stärkere Abhängigkeit von Google. Normale Webseiten und Blogs sollen sich Google zufolge auf „Progressive Web Apps“ konzentrieren (Hybride zwischen mobiler Website und nativer App), allerdings werden die von kaum einem aktuellen Browser unterstützt und sind daher genauso wenig konstruktiv einsetzbar. Selbstverständlich habe ich unterschiedliche Progressive Web App-Ansätze ebenfalls für diesen Artikel geprüft, nur bringen die nichts in Sachen Ladezeit.

WebPagetest ist zwar etwas unübersichtlich, dafür kannst du durch die zahlreichen Auswahlfunktionen zur Standortwahl die Geschwindigkeit deiner Seite an unterschiedlichen Orten messen. Ist deine Seite nur auf Deutsch, reicht der Test mit einem der deutschen Anbieter aus. Ist deine Seite auch auf anderen Sprachen verfügbar, solltest du die Geschwindigkeit auch an anderen Standorten messen, um zu erfahren, ob du vielleicht in einem Land auf ein separates Hosting oder ein Servernetzwerk (sogenanntes Content Delivery Network, kurz: CDN) gehen solltest. Für mich ist WebPagetest der beste Anbieter, wenn es um die Messung der realen Ladezeit und Bewertung der Geschwindigkeit nach (amerikanischen) Schulnoten geht, da jede Website exklusiv und unter realistischen Bedingungen getestet wird.

Screenshot from WebPagetest for a fast website
Screenshot aus WebPagetest

Ich nutze Pingdom wegen der konstruktiven Optimierungsvorschläge, vor allem aber um in den Diagrammen weiter unten nachzuschauen, welche Dateien eine Seite ausbremsen:

Screenshot from Pingdom website speed test
Screenshot aus Pingdom

Leider ermittelt das Tool aber auch bei einer Messung aus Deutschland stets schlechtere Ladezeiten als in der Realität, was ich darauf zurückführe, dass Pingdom keine exklusiven Tests macht, sondern parallel viele Seiten prüft und daher selber langsamer ist. Die Wartezeit auf das Ergebnis ist aber schneller als bei WebPagetest.

Ganz wichtig für deine Analysen ist, deine Seite vor allem zu Stoßzeiten zu messen. Also dann, wann du am meisten Besucher hast. Außerdem sind Messungen vor der Optimierungen, am besten nach jedem Teil-Schritt und nach der Optimierung sehr empfehlenswert, damit du die Erfolge und ggf. Misserfolge aufzeichnen kannst. Die nachfolgend aufgezeigten Methoden funktionieren zwar zu 99%, aber es gibt immer auch Ausnahmen.

WordPress-Einstellungen

Einer der größten Performance-Killer von WordPress ist das Avatarsystem in den Kommentaren. Denn hierfür wird standardmäßig ein externer Dienst namens Gravatar eingesetzt. Dieser ist nicht nur langsam, sondern auch datenschutzrechtlich bedenklich. Wenn du Kommentare aktiviert hast (in den Einstellungen unter Diskussion), solltest du dringend die Avatare deaktiveren:

WordPress Avatare

Durch die Einstellungen von paginierten Kommentaren („Kommentare in Seiten umbrechen…“) und Archiven kannst du meist zusätzliche Ladezeit auf entsprechenden Seiten einsparen. Um die Archive zu paginieren, gehst du auf Einstellungen > Lesen und wählst dann die Anzahl der Beiträge aus, die Blogseiten maximal zeigen dürfen.

Ich bin bei kleinen Webseiten kein Fan von paginierten Kommentaren, da diese in WordPress ziemlich blöd „umgebrochen“ werden und manchmal nur ein einziges Kommentar sichtbar ist. Deswegen würde ich hier erst ab dem Zeitpunkt Paginierungen einstellen, wenn du öfters über 10 Kommentare pro Seite bzw. Beitrag hast und diese länger zu drohen werden als die eigentlichen Inhalte. Dann würde ich das Limit auf 10 Stück stellen.

Bei den Blogseiten limitiere ich die Anzahl der Beiträgen auf maximal 25 Stück pro Seite.

Theme-Einstellungen

Weitere wichtige Stellschrauben finden sich meist schon im WordPress-Theme: Hattest du dich in der Vergangenheit für Slider, viele Plugins und Widgets sowie Google-Schriftarten entschieden, ist es jetzt an der Zeit auszumisten:

  • Verzichte auf Slider, da sie nicht nur performancehungrig sind, sondern die unsichtbaren Slides von Google aus SEO-Perspektive abgewertet werden (nicht völlig aber die Priorität ist niedriger als bei sichtbaren Inhalten.
  • Gleiches gilt für überflüssige Plugins und Widgets, also diejenigen, die nicht konzeptentscheidend sind. Hinterfrage den Nutzen jedes Plugins und Widgets. Entferne oder deaktiviere alle, die keinen echten Mehrwert darstellen: Archive, Galerien, Kategorien und Kalender interessieren Nutzer kaum und lenken nicht nur ab, sondern verschwenden auch noch Ladezeit. Abgesehen davon stellen Plugins auch die Haupt-Sicherheitsrisiken von WordPress dar und sollten demnach immer auf das Nötigste beschränkt werden. Im Zweifel prüfst du Widgets und Plugins mit Hilfe von deiner Webstatistik (das zu erklären sprengt hier aber den Rahmen).
  • Verwende maximal 1 Google-Schriftart und hoste Google Fonts ausschließlich lokal, um keine Datenschutz-Risiken einzugehen. Das lokale Google Fonts Hosting geht mit dem Webfonts Helper und ein bisschen CSS-Programmierung recht einfach. Hast du keine Programmierkenntnisse, installiere das plugin Autoptimize und aktiviere in den erweiterten Einstellungen die Option „Fonts kombinieren und asynchron laden mit webfont.js“. Das hilft auch schonmal. Übrigens: Systemschriftarten wie Helvetica und Arial oder Georgia und Times sind gar nicht so schlimm (verwende ich hier auch). In Grafiken kannst du beliebig Schriften einsetzen. So macht das übrigens auch Amazon.
  • Verwende eine Lazy-Load-Funktion für YouTube Videos und lasse die Filme aus Datenschutzgründen nur noch über YouTubes nocookie-Damain einbetten.

Mit ein bisschen Programmierwissen kannst außerdem über die Functions.php-Datei deines WordPress-Themes bestimmte Skripte, Emojis und Stylesheets für Ausdrucke sowie Einbettungsfunktionen deaktivieren. Smileys schauen dann zwar nicht mehr „so schön“ aus, aber eingebettete YouTube-Videos funktioneren weiterhin, sofern du nicht nur den YouTube-Link, sondern den Einbettungscode der Videos einsetzt. Ich habe dir hier die Skripte zur WordPress-Performance-Optimierung bereit gestellt. Diesen Code kopierst du und fügst ihn einfach am unteren Ende deiner functions.php-Datei ein.

Bildkompression

Bilder zählen zu den größten Performance-Killern. Sie machen meist bis zu 80% der Ladezeit aus und können kaum durch Plugins komprimiert („gezippt“) werden. Falsch eingesetzt kannst du mit ihnen den PageSpeed jeder guten Seite kaputt machen.

Achte deswegen zunächst darauf, Bilder in den richtigen Dimensionen und im richtigen Dateiformat in deiner Website abzuspeichern:

  • Fotos und Bilder mit hoher Farbvielfalt als JPGs (möglichst mit reduzierter Qualität für’s Web)
  • Grafiken als PNGs oder SVGs (Vektorgrafiken) – Für SVGs benötigst du allerdings aktuell eine Codeerweiterung deiner functions.php-Datei oder ein extra Plugin, welches die Funktionalität in WordPress zulässt. Überflüssige Plugins wollen wir aber eigentlich vermeiden.
  • Animationen als animierte GIFs oder animierte SVGs. Letztere sind bei animierten Grafiken um ein vielfaches kleiner und schöner als GIFs, benötigen aber oft ein bisschen vorab Testen. Wir setzen übrigens auch auf animierte SVGs (klick einfach mal ins Hauptmenü oben und schau dir die Animationen für jede Seite an).

Achte außerdem schon beim Exportieren deiner Bilder für das Web (z.B. in Photoshop) auf die Dateigröße deiner Bilder durch prozentuale Reduzierung. Ich gehe sogar soweit, dass ich für jedes Bild die Anzahl der (möglichen) Farben auf das Minimum runter schraube. Deswegen gibt’s übrigens in meinen Artikelbildern fast immer nur Grafiken mit wenig Farben. Diese Einstellungen variieren je nach Bildbearbeitungsprogramm.

Dann komprimierst du die Bilder mit ImageOptim oder Compressor.io. Erst dann dürfen Bilder in WordPress hochgeladen werden. Denn nachträgliche Komprimierungen sind nicht nur aufwändig, sondern können auch deiner Bilder-SEO schaden.

Cacheing

Anschließend solltest du den Server- und Browser-Cache (Zwischenspeicher) benutzen, um deine WordPress Seite schneller laden zu lassen. Der Vorteil von so einem Cache ist, dass alle wichtigen Dateien direkt an der richtigen Stelle für deine Besucher bereitgehalten und somit deine Inhalte viel schneller dargestellt werden.

Setze dafür ein Caching Plugin ein. Es gibt hier unterschiedliche Lösungen, die sich teils stark in dem Resultat – der Geschwindigkeit – unterscheiden.

Vorweg Wichtig: Du kannst meinen Einstellungen vom folgenden Screenshot folgen oder auch andere Plugins ausprobieren. Bitte führe aber nach jeder Einstellung einen Funktionstest und einen Performance-Test deiner Website durch, um so dein ideales Setup rauszufinden. Denn nicht alle Einstellungen nutzen jeder Seite pauschal.

Muster Einstellungen für WP Fastest Cache. Screenshot aus dem Plugin.
Muster Einstellungen für WP Fastest Cache. Screenshot aus dem Plugin.

Ich setze bei fast allen Seiten von uns WP Fastest Cache ein. WP Fastest Cache gibt’s in einer kostenlosen und in einer Premium Variante. Die Premium Version kann noch ein paar Millisekunden mehr rausholen. Mir persönlich als Ladezeit-Fetischisten ist der Unterschied das Geld wert, ansonsten kann man sich das aber sparen. Dieses Plugin ist bei unseren Seiten, die mit unterschiedlichen visuellen Editoren ausgestattet sind, meist schneller und einfacher einzurichten als Cache Enabler, WP Rocket und W3 Total Cache.

WP Rocket ist ein reines Premium Plugin und kostet somit immer Geld. Es erzielt meinen Messungen zufolge fast dasselbe Ergebnis wie WP Fastest Cache. Mit folgender Ausnahme kannst du dir das Geld sparen: wenn dein Server von Grund auf sehr langsam ist, oder deine Seite im Ausland zu langsam geladen wird (s. WebPagetest-Screenshot „First Byte Time“, wenn schlechter als C oder Pingdom-Hinweis unter Punkt 1), solltest du deine Inhalte (vor allem die Bilder) über ein Servernetzwerk (engl. Content Delivery Network, kurz: CDN) oder ein anderes Hosting auslagern.

Plugin-Vergleich

Ich habe die folgenden Plugins nach ihrem Google PageSpeed auf unserer Website und auf Praxis-Breitenberger.de getestet. Jedes Plugin hatte das gleiche bestmögliche Setup und alle anderen Caching Plugins waren zum Test entfernt. Und jetzt schau dir mal den Unterschied an:

Cacheing PluginWP Fastest Cache FreeWP Fastest Cache PremiumWP RocketCachify i.V.m. Autoptimize
ø Desktop PageSpeed90908273

Neben den voran gegangenen Faktoren und Einstellungen ist aber auch dein Hosting ein wichtiger Einflussfaktor auf die Ladezeit. So kann bei einem durchschnittlichen Hoster schnell das doppelte an Reaktionszeit drauf gehen, als nötig: 300ms und besser sind gut, ab einer Reaktionszeit größer als 0,5 Sekunden solltest du dein Hosting hinterfragen:

Hosting

Stellst du bei WebPagetest fest, dass deine „First Byte Time“ schlechter oder gleich der Note C entspricht, empfehle ich dir dein Hosting zu optimieren. Dazu testest du zuerst deine Hosting-Einstellungen und – sofern sich keine Verbesserung einstellt – eruierst dann ein CDN (Content Delivery Network – ein Server-Netzwerk zur Auslagerung deiner Website in die Cloud) oder ein neues, exklusiveres Hosting wie z.B. einen (eigenen) dedizierten oder virtuellen Server.

Hosting-Einstellungen

Solltest du keine Verbesserung der Ladezeit und des PageSpeed durch das Cacheing-Plugin deiner Wahl feststellen, kann es sein, dass dein Server die Kompression und Zwischenspeicherung nicht zulässt. Dann hilft ein beherzter Griff zum Telefon und Nachfragen am besten.

Eine weitere Möglichkeit der Beschleunigung mittels Cache ist das sogenannte NGINX. Dieser Zwischenspeicher muss von deinem Hoster angeboten und aktiviert werden. Er „boostet“ deine Seite zusätzlich. Wir kommen so von 2 auf rund 1 Sekunde Ladezeit runter. Auch hier am besten beim Hoster nachfragen.

Bleiben wir bei deinem Server: Eine veraltete Version der Programmiersprache PHP kann außerdem zu einer langsamen WordPress-Seite führen. So haben wir in unterschiedlichen Tests gemessen, dass in WordPress gut 10-20% Ladezeit durch die Umstellung von PHP 5.4 auf PHP 7.3 gespart werden kann. Bei uns hat die Umstellung ziemlich genau 0,5 Sekunden Ladezeit-Ersparnis gebracht. Die Umstellung funktioniert bei den meisten Webhostern im Kundeninformationssystem in Bereichen, die mit „PHP-Version“ oder „Skripteinstellungen“ betitelt sind. Im Zweifel auch hier einfach mal beim Hoster nachfragen.

Helfen dir die bereits genannten WordPress-, Cacheing-, Bildkompressions- und Server-Einstellungen noch nicht auf unter 4 Sekunden Ladezeit zu kommen, solltest du eine drastischere Maßnahme überlegen: Das CDN ist meist die einfachere Wahl als zu einem neuen Hoster zu wechseln. Ein guter Hoster braucht aber (für Webseiten, die innerhalb Europas ausgerichtet sind) nicht zwingend ein CDN und ist meist effizienter:

Shared Hosting

Ist deine Website auf einem Shared Hosting (klassisches Webhosting) eingerichtet, teilst du dir die Rechenpower und die Internetleitung mit vielen anderen Nutzern und somit ist der Server auch langsamer, als wenn du einen eigenen (dedizierten/ virtuellen) Server nutzt. Das ist meist unabhängig vom Provider. Ob du 1&1 Ionos, Strato oder einen Profi-Hoster wie Hetzner nutzt ist relativ egal, wenn es ein Shared Hosting ist.

In dem Fall empfehle ich ein CDN wie Cloud Flare zu testen. Die Kopplung von Cloud Flare mit deiner WordPress Seite geht mit WP Rocket sehr einfach. Die anderen Plugins haben zwar auch Unterstützung für solche Netzwerke wie z.B. MaxCDN mit dabei, allerdings ist die Einrichtung meist schwieriger und die Anbieter in Sachen Ladezeit meist schlechter.

Dedizierter oder virtueller Server

Bei dedizierten und virtuellen Servern, die deine Seite exklusiv hosten, gibt’s teils große Unterschiede: So habe ich weder bei Hetzner noch bei 1&1 so gute Leistungen wie bei Host Europe erzielt (HE war fast immer 1 Sek. schneller).

Grundsätzlich empfehle ich den Wechsel vom Shared Hosting zu einem dediziertem und/ oder virtuellen Server erst Webseiten mit mindestens 50.000 Besuchern im Monat. Denn so ein Wechsel inklusive Umzug der Domains und E-Mails kostet locker einen bis mehrere Tage Arbeit und das Hosting selbst ist auch nicht das Günstigste: Ich zahle dafür etwa 100,- € im Monat.

Im Falle des Wechsels auf einen dedizierten und virtuellen Server brauchst du (natürlich) trotzdem noch ein Cacheing-Plugin und die bereits genannten Optimierungen. Falls du dabei Unterstützung brauchst, biete ich dir gerne unseren Support an.

Google Analytics

Zu Guter Letzt möchte ich noch auf Google Analytics eingehen, da selbst der PageSpeed Test der Suchmaschine ein Cacheing des eigenen Statistiktools moniert: Das Statistiktool der Suchmaschine erfordert nämlich eigentlich ein externes Script, welches bei jedem Laden deiner Seite vom Google-Server abgerufen werden muss. Dies kann zu einer Verlangsamung von 0,5 bis 1 Sekunde führen. Da Zwischenspeicher aber keine externen Ressourcen cachen können, bleibt dir nur übrig, das Analytics.js-Skript selber lokal zu hosten und regelmäßig zu aktualisieren.

Um das lokale Analytics-Hosting vorzunehmen brauchst du entweder Programmierkenntnisse und folgst dieser Anleitung, oder du setzt unser SEO Plugin ein, welches ein lokales Analytics-Hosting anbietet, das du mit einem Klick aktivieren kannst. Unser Tool ist selbstverständlich Performance-optimiert und kann sich „trotzdem“ locker von den Funktionen her mit Yoast & Co. messen.

Fazit

Die Performance Optimierung bei WordPress ist ein riesiges, schier endloses Thema. Wenn du aber schon bei der Konzeption deiner Seite alle benötigten Funktionen mit Bedacht wählst und alle Bilder vor Upload komprimierst, bist du auf dem richtigen Weg. Das Cacheing und das Hosting richtet außerdem viel aus.

Vergesse am Ende jeder Performance-Optimierung nicht den Vorher-Nachher-Vergleich.

Willst du auf dem Laufenden bleiben? Abonniere meinen Newsletter, RSS-Feed oder folge mir auf Facebook.