Dein WordPress ist schneckenlahm?
Dann solltest du dringend handeln, denn dadurch gehen dir mitunter etliche Leser verloren!
Denn unter Umständen kann dein Google-Ranking und laut einer Pressemitteilung auch die Anzeige-Wahrscheinlichkeit deiner Webseiten im Facebook-Newsfeed darunter leiden.
Oder du bist einfach ein Speed-Freak (wie ich!), der seine Ladezeit noch um ein paar Millisekunden verbessern möchte?
Dann habe ich 13 Tipps für dich, wie du WordPress schneller machen und die Performance deiner Website drastisch steigern kannst.
Wie kann ich meine Ladezeit testen?
Um herauszufinden, wo überhaupt auf deinem WordPress-Blog Verbesserungspotenzial besteht (und ob Optimierungsmaßnahmen überhaupt etwas bringen), solltest du immer deine Ladezeit testen.
Das mit Abstand beste Tool dafür ist PageSpeed Insights, das nicht nur einen kompletten Lighthouse-Test durchführt und die Optimierungspotenziale aufzeigt, sondern auch, wie du bei den Core Web Vitals abschneidest:
1. Hosting
Man bekommt ein Hosting-Paket inkl. Domain für eine WordPress-Website schon ab 1,00 € im Monat. Wer bei der Auswahl des passenden Hosters jedoch nur nach dem Preis geht, zahlt am Ende drauf.
Und das nicht nur durch lahmen Kundensupport und schlechte Verfügbarkeit, sondern auch durch langsame Ladezeiten.
Das kann daran liegen, dass die Server-Software veraltet ist und noch nicht die neusten Technologien bietet, der Server nicht richtig konfiguriert ist oder dass sich zu viele Kunden die vorhandenen Server-Ressourcen teilen.
Generell rate ich von Massenhostern, wie Strato, 1 & 1, DomainFactory, One.com oder HostEurope ab.
Bitte besorge dir ein vernünftiges Hosting-Paket und keinen Murks. Auch, wenn es ein paar Euro mehr im Monat kostet!
Zu den Hostern, die ich bedingungslos empfehlen kann, gehören:
Worauf du bei der Auswahl des Hosters achten musst, kannst du in meinem umfangreichen WordPress-Hosting-Vergleich nachlesen. Dort habe ich auch 5 beliebte Anbieter für Managed WordPress-Hosting getestet.
Speed-Tests verschiedener deutscher Hosting-Anbieter findest du auch in meinem Webhosting-Vergleich.
2. gzip-Komprimierung aktivieren
Die Aktivierung der gzip-Komprimierung ist eine der wichtigsten Optimierungsmaßnahmen, welche die Ladezeit deiner Website deutlich steigert.
Das erreichst du, indem du die Module mod_deflate
bzw. mod_gzip
aktivierst, was dafür sorgt, dass Javascript-, HTML- und CSS-Dateien komprimiert übertragen werden. Dadurch reduziert sich deren Dateigröße um bis zu 70 %!
Um das umzusetzen, musst du dich lediglich in deinen FTP-Server einloggen (die Zugangsdaten solltest du bei Eröffnung deines Hosting-Pakets zugeschickt bekommen haben).
Anschließend öffnest du die .htaccess
-Datei deiner Website mit einem Nur-Text-Editor öffnen und folgenden Code an den Anfang der Datei einfügen:
AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-shockwave-flash
Bei Webservern, die auf einer älteren Apache-Version basieren, kann es sein, dass es das Modul mod_deflate
noch nicht gibt und man stattdessen das Modul mod_gzip
ansprechen muss.
Dazu fügst du anstelle des oberen Codes einfach den folgenden ein:
mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
3. Browser-Caching aktivieren
Wenn das Browser-Caching nicht aktiviert ist, speichern Chrome, Firefox und Co. die auf deiner Website geladenen Dateien (wie Bilder oder CSS-Dateien) nicht lokal auf dem Computer. Das heißt, bei weiteren Seitenaufrufen werden alle Dateien neu von deinem Server bezogen.
Das kann die Ladezeit enorm verlängern. Deswegen ist es essenziell, Browsern zu erlauben, Dateien für einen längeren Zeitraum zu speichern.
Die Aktivierung des Browser-Cachings kannst du, wie die Komprimierung mit mod_deflate
, über die .htaccess
-Datei vornehmen.
Dazu fügst du einfach folgenden Code ein, durch den Dateien jeglicher Art für ein Jahr (31.536.000 Sekunden) im Browser-Cache deiner Besucher gespeichert bleiben:
ExpiresActive On ExpiresByType text/css A31536000 ExpiresByType text/x-component A31536000 ExpiresByType application/x-javascript A31536000 ExpiresByType application/javascript A31536000 ExpiresByType text/javascript A31536000 ExpiresByType text/x-js A31536000 ExpiresByType text/html A3600 ExpiresByType text/richtext A3600 ExpiresByType image/svg+xml A3600 ExpiresByType text/plain A3600 ExpiresByType text/xsd A3600 ExpiresByType text/xsl A3600 ExpiresByType text/xml A3600 ExpiresByType video/asf A31536000 ExpiresByType video/avi A31536000 ExpiresByType image/bmp A31536000 ExpiresByType application/java A31536000 ExpiresByType video/divx A31536000 ExpiresByType application/msword A31536000 ExpiresByType application/vnd.ms-fontobject A31536000 ExpiresByType application/x-msdownload A31536000 ExpiresByType image/gif A31536000 ExpiresByType application/x-gzip A31536000 ExpiresByType image/x-icon A31536000 ExpiresByType image/jpeg A31536000 ExpiresByType application/json A31536000 ExpiresByType application/vnd.ms-access A31536000 ExpiresByType audio/midi A31536000 ExpiresByType video/quicktime A31536000 ExpiresByType audio/mpeg A31536000 ExpiresByType video/mp4 A31536000 ExpiresByType video/mpeg A31536000 ExpiresByType application/vnd.ms-project A31536000 ExpiresByType application/x-font-otf A31536000 ExpiresByType application/vnd.ms-opentype A31536000 ExpiresByType application/vnd.oasis.opendocument.database A31536000 ExpiresByType application/vnd.oasis.opendocument.chart A31536000 ExpiresByType application/vnd.oasis.opendocument.formula A31536000 ExpiresByType application/vnd.oasis.opendocument.graphics A31536000 ExpiresByType application/vnd.oasis.opendocument.presentation A31536000 ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000 ExpiresByType application/vnd.oasis.opendocument.text A31536000 ExpiresByType audio/ogg A31536000 ExpiresByType application/pdf A31536000 ExpiresByType image/png A31536000 ExpiresByType application/vnd.ms-powerpoint A31536000 ExpiresByType audio/x-realaudio A31536000 ExpiresByType image/svg+xml A31536000 ExpiresByType application/x-shockwave-flash A31536000 ExpiresByType application/x-tar A31536000 ExpiresByType image/tiff A31536000 ExpiresByType application/x-font-ttf A31536000 ExpiresByType application/vnd.ms-opentype A31536000 ExpiresByType audio/wav A31536000 ExpiresByType audio/wma A31536000 ExpiresByType application/vnd.ms-write A31536000 ExpiresByType application/font-woff A31536000 ExpiresByType application/vnd.ms-excel A31536000 ExpiresByType application/zip A31536000
4. Bilder komprimieren
Die meisten Bilder, die man mit der eigenen Kamera gemacht oder mit Photoshop oder GIMP selbst erstellt hat, sind größer als sie sein müssten.
Und das selbst, wenn man sie auf dem PC schon in einer niedrigeren Qualitätsstufe gespeichert hat.
Auch wenn du z. B. in Photoshop ein JPG-Bild in der Qualitätsstufe 8/12 und als Progressive JPG (oder bei GIMP in der Qualitätsstufe 85 und als Progressive JPG) speichert, kannst du es in der Regel immer noch 5-15% kleiner machen, ohne dass die Qualität darunter leidet.
Bei PNG-Bildern ist die Ersparnis in der Regel noch größer und kann, je nach Bild, 50-80% betragen.
Um alle Bilder der eigenen WordPress-Installation zu komprimieren, kannst du auf dem eigenen Rechner Programme, wie z. B. ImageOptim (Mac) oder den File Optimizer (Windows) benutzen.
Einfacher ist es jedoch, für die Komprimierung die WordPress-Plugins EWWW Image Optimizer oder Compress JPEG & PNG images zu nehmen, welche es zum einen erlauben, eine Massenkomprimierung bereits hochgeladener Bilder vorzunehmen und zum anderen alle neu hochgeladenen Bilder automatisch zu komprimieren.
5. Caching-Plugin installieren
Ein Caching-Plugin darf auf keinen Fall fehlen, wenn du WordPress schneller machen möchtest. WordPress an sich generiert dynamische Websites, das heißt für jedes Element auf deiner Seite (z. B. Menüs, Widgets, Beiträge etc.) erfolgt bei jedem Seitenaufruf eine Datenbankabfrage.
Für manche Websites, deren Inhalte sich schnell ändern oder die Inhalte in Echtzeit anzeigen wollen, mag das dynamische Laden sinnvoll sein. Für die meisten Blogs, Online-Magazine oder Nischenseiten ist es jedoch eher hinderlich. Durch zu viele Datenbankabfragen verschlechtert sich die Ladezeit und der Leser hat durch das dynamische Laden keine Vorteile.
Ein Caching-Plugin schafft Abhilfe, indem es aus den dynamischen Inhalten statische Dateien generiert (so genanntes Page Caching), was die Anzahl nötiger Datenbankabfragen (nicht zu verwechseln mit Server-Requests, die ändern sich durch das Caching-Plugin nicht) zur Darstellung einer Website drastisch reduziert.
Diese statischen Dateien werden dann jeweils nach einem festgelegten Intervall (z. B. ein Tag) und/oder bei einer Änderung des Inhalts (neuer Beitrag, neuer Kommentar etc.) vom Plugin neu generiert.
Als Caching Plugin empfehle ich Cache Enabler:
Die Einrichtung ist kinderleicht:
Installieren, aktivieren und fertig! Du brauchst nichts weiter einstellen.
Es ist das schnellste kostenlose Caching-Plugin, das ich kenne. Es schlägt manch andere Plugins, wie W3 Total Cache, um Längen. Es funktioniert zudem mit den meisten Themes, Plugins und Setups.
Mit dem Plugin WP Super Cache erziele ich ebenfalls gute Resultate. Es eignet sich aufgrund seiner einfachen Installation (einfach unter Einstellungen > WP Super Cache das Caching anschalten und fertig!) und seiner übersichtlichen Benutzeroberfläche sehr gut für Anfänger.
6. Unnötige Plugins deaktivieren
Plugins laden oft unnötig viele CSS- oder JS-Dateien oder verlangsamen WordPress durch zu viele Datenbankabfragen. Zudem stellen Plugins immer ein Sicherheitsrisiko dar, vor allem diejenigen, die nicht regelmäßig gewartet werden.
Deswegen gilt: Je weniger Plugins, desto besser!
Geh regelmäßig die Liste deiner Plugins durch und frag dich: Brauche ich das wirklich? Und wenn nein, dann weg damit! Falls du es brauchst, aber nur sporadisch nutzt, empfehle ich dir, es nur dann zu aktivieren, wenn du es nutzt und es danach direkt wieder zu deaktivieren.
Zu den größten Ladezeit-Killern gehören zum Beispiel:
- Social-Media-Plugins (Twitter- oder Instagram-Feed, Facebook-Like-Box, Share-Buttons ohne Caching etc.)
- Page-Builder (z. B. Visual Composer)
- Broken Link Checker (nach Benutzung deaktivieren)
- Google Maps
- Kommentar-Plugins
- Kontaktformulare
- Foren-Plugins (Simple:Press, bbPress etc)
- Woocommerce und andere E-Commerce-Plugins
7. Ein schlankes WordPress-Theme verwenden
Beliebte WordPress-Themes, wie z. B. Avada, X Theme, Enfold, The 7, Divi etc. bieten viele Einstellungsmöglichkeiten, Integrationen, vorgefertigte Demos und/oder einen visuellen Editor, was die Gestaltung einer Website erheblich vereinfachen kann.
Aber so toll dieses Baukasten-Prinzip auch ist, bringt es auch Nachteile mit sich. Viele Funktionen und Gestaltungselemente werden geladen, auch wenn du diese gar nicht verwendest. Unnötig viele oder unnötig große CSS- und JavaScript-Dateien ziehen deine Ladezeit in den Keller.
All-in-One-Themes bringen auch oft die Installation vieler weiterer Plugins mit sich (z. B. Slider, Kontaktformulare, WooCommerce, bbPress, Widgets). Bitte schau also auch bei den Plugins, die mit dem Theme geliefert werden, ob du diese auch wirklich verwendest. Auch wenn das Theme die Installation eines Plugins empfiehlt, kommt man in den meisten Fällen auch ohne aus.
Bei manchen Themes, wie z. B. Avada, lassen sich auch einzelne Funktionen komplett ausschalten, sodass entsprechende CSS- und JS-Dateien nicht mehr geladen werden.
Letzten Endes ist es jedoch besser, sich im Voraus für ein Theme zu entscheiden, das nur die Funktionen hat, die du auch wirklich benötigst, auch wenn du dafür ein bisschen länger suchen musst.
8. JS- und CSS-Dateien ausmisten, zusammenfassen und komprimieren
WordPress-Installationen werden oft durch zu viele geladene Javascript- und CSS-Dateien verlangsamt, insbesondere wenn man einen Haufen an Plugins installiert hat oder ein Multi-Purpose-Theme benutzt, das viele Funktionen bietet.
Abhilfe schaffen kannst du zum einen dadurch, dass du unnötige und die Ladezeit belastende Plugins deaktivierst und ein Theme verwendest, das nicht so überladen ist (siehe Punkt 7 und 8).
Zum anderen kann man WordPress schneller machen, indem man so viele JS- und CSS-Dateien wie möglich zusammenfasst, um die Anzahl an Server-Requests zu reduzieren, und komprimiert, um die Größe der einzelnen Requests zu reduzieren.
Das kannst du händisch machen, aber das erfordert viel Vorwissen in der WordPress-Programmierung. Zudem sorgt das auch dafür, dass du tief in das Theme eingreifen musst, was zu Komplikationen führen kann.
Einfacher ist es, das kostenlose Plugin Autoptimize zu verwenden:
Die Konfiguration des Plugins ist denkbar einfach: Du gehst zu Einstellungen > Autoptimize und setzt einen Haken bei HTML Code optimieren?, JavaScript Code optimieren? und CSS Code optimieren?
Bei den meisten Themes und Plugins sollte es bei der Benutzung von Autoptimize zu keinen Komplikationen führen.
Falls etwas nicht richtig angezeigt wird oder nicht richtig funktioniert (unbedingt auch die mobile Version checken!), musst du schauen, wodurch die Komplikation verursacht wird.
Das bekommt man in der Regel recht schnell heraus, indem man die erweiterten Einstellungen einblendet und bestimmte CSS- und Javascript-Dateien von der Optimierung ausschließt und schaut, ob die Komplikationen dadurch verschwinden.
9. Bilder per Lazy Load nachladen
Deine Bilder zu komprimieren, ist ein wichtiger Schritt für eine bessere Ladezeit.
Wenn dein Blog oder einzelne Blogartikel sehr bilderlastig sind, kann es allerdings sein, dass das nicht genug ist.
In dem Fall solltest du auf ein sogenanntes Lazy Loading zurückgreifen, das dafür sorgt, dass Bilder erst dann geladen werden, wenn ein Nutzer an die entsprechende Stelle scrollt.
Dazu kannst du ein extra Plugin installieren, wie z. B. a3 Lazy Load, das meiner Erfahrung nach mit vielen Themes und Setups funktioniert.
Einfacher ist es jedoch, Autoptimize dafür zu verwenden (falls du es eh schon installiert hast).
Lazy Loading kannst du aktivieren, indem du in den Einstellungen im Reiter Bilder ein Häkchen bei Bilder verzögert laden setzt.
10. Stelle auf PHP 7 oder 8 um!
Durch Umstellung deines Servers von PHP 5.x auf PHP 7.4 oder PHP 8.x um kannst du WordPress deutlich beschleunigen. Mitunter wird deine Website dadurch doppelt so schnell!
Nicht umsonst wird PHP 7 oder höher auch in den offiziellen Hosting-Anforderungen empfohlen.
Die Änderung der PHP-Version kannst du in der Regel im Einstellungs-Bereich deines Servers vornehmen. Wenn nicht, frag deinen Hoster, ob er das für dich übernimmt.
11. Verwende HTTP/2
HTTP/2, der Nachfolger von HTTP/1.1, bietet deutliche Geschwindigkeitsvorteile gegenüber der älteren Version des Hypertext Transfer Protocol, welche über 16 Jahre der Übertragungsstandard im WWW war.
Falls es dich interessiert, wodurch das Mehr an Speed zustande kommt:
Mit HTTP/1.1 werden alle Requests noch nacheinander abgearbeitet, mit HTTP/2 können jetzt mehrere Requests parallel verarbeitet werden (wodurch es z. B. nicht mehr nötig ist Bild-Dateien in CSS-Sprites oder alle JS- und CSS-Dateien zusammenzufassen).
Zudem werden Header komprimiert übertragen und dank Server Push kann der Server die Requests priorisieren, die für den Client (also den Browser-Nutzer) am wichtigsten sind.
Mit diesem Tool von KeyCDN kannst du testen, ob dein Server HTTP/2 unterstützt.
Wenn das nicht der Fall ist, bitte deinen Host darum, dies zu implementieren, oder nimm es als Anlass gleich den Hoster zu wechseln.
Wenn du einen vServer oder Dedicated Server mit Root-Zugriff hast, kannst du das mitunter sogar selbst einstellen.
12. Gravatar deaktivieren oder cachen
Wenn ein Blogartikel viele Kommentare hat, kann es sein, dass das die Ladezeit des Artikels extrem verlangsamt, weil das Gravatar-Bild eines jeden Kommentator geladen wird.
Abhilfe schafft das Plugin FV Gravatar Cache, mit dessen Hilfe Gravatar-Bilder auf dem eigenen Server zwischengespeichert werden, was meiner Erfahrung nach die Ladezeit ein bisschen verbessert.
Alternativ kannst du eigene Avatar-Bilder auch komplett ausschalten und durch ein Standard-Bild ersetzen.
Dazu benutze ich WP User Avatar:
13. Emojis deaktivieren
Es gibt einige Funktionen im WordPress-Core, welche die Ladezeit negativ beeinflussen und nicht unbedingt nötig sind.
So wird zum Beispiel ein kleines Skript geladen, dass den Emoji-Support in älteren Browsern sicherstellt.
Du kannst das relativ bedenkenlos ausschalten und damit einen Server-Request (die JavaScript-Datei wp-emoji-release.min.js mit einer Größe von 10,5 KB) einsparen.
Exorbitant schneller machen wird das deine Website zwar nicht, aber es schadet nie ein paar Millisekündchen zu sparen, oder?
Das Emoji-Script kannst du ebenfalls in den Einstellungen von Autoptimize ausstellen, indem du im Reiter Extras ein Häkchen bei Emojis entfernen setzst:
Wenn du Autoptimize nicht nutzt, kannst du das auch mit dem Plugin Disable Emojis erledigen.