WordPress hohe last

13 notwendige Maßnahmen, damit dein WordPress hohe Last verkraftet

Als WordPress-Hoster bekommen wir oft Anfragen von Kunden, deren Produkt oder Konzept bald viel Aufmerksamkeit genießt. Sei es durch eine TV-Ausstrahlung wie z.B. einem Pitch bei “Die Höhle der Löwen”, durch eine Berichterstattung auf YouTube oder eine groß angelegte Marketingkampagne. All dies bedeutet eines: Viel Traffic auf dem Server – für manche Seiten und Server zu viel. Wie dein WordPress hohe Last überstehen kann, erklärt dir unser Senior WebDev Matthias.   

Was passiert, wenn bei einer Rudermannschaft ein Team-Mitglied schwächelt? Das gesamte Team verliert an Leistung und muss die fehlende Kraft ausgleichen. Passiert das Ganze während einer Meisterschaft, ist das fatal und führt mit höchster Sicherheit zu einer Niederlage. Dasselbe gilt für deine WordPress-Seite während hoher Last. Wenn dein Server, dein Theme, deine Plugins, deine Datenbank und Co. kein eingespieltes Team sind, wird deine Website unter Lastspitzen zusammenbrechen und du verlierst wertvolle Besucher.

Wenn deine WordPress-Seite einer hohen Last nicht standhält, ist das Ergebnis immer dasselbe: Die Seite ist nicht erreichbar, der potentielle Käufer kommt nicht weiter und du verlierst Geld. Was musst du also tun, damit dies nicht passiert?

Wir haben uns Gedanken gemacht, welche Maßnahmen du vor einer Ausstrahlung von z.B. “Die Höhle der Löwen” ergreifen solltest, um deine WordPress-Seite für hohe Last zu wappnen. Die Grundlage für den Best-Practice-Optimierungsprozess sind folgende Schritte:

  1. Planung
  2. Infrastruktur optimieren
  3. Backend
  4. Frontend
  5. Offsite
  6. Tests & Reporting
  7. Liveschaltung

Basierend auf diesem Prozess und unserer jahrelangen Erfahrung, haben wir dir einen konkreten 12-Punkte-Plan erstellt, der dir hilft, deine WordPress-Seite für hohe Last fit zu machen.

Hinweis: Dieser Plan ist nach Planung und Ausführung und nicht nach Wichtigkeit sortiert, daher empfiehlt es sich, die Punkte komplett und nacheinander umzusetzen.

WordPress hohe Last_Planung

#1 Planung

1.1 Zeit

Die zur verfügung stehende Zeit ist ein leider oft stark unterschätzter Faktor bei der Planung, aber mitunter der Wichtigste.

Du brauchst Zeit, damit du und deine Entwickler deine Seite und deinen Shop optimieren und testen können. Gegebenenfalls brauchst du (oder dein Hoster) auch Zeit, um deine Website oder Domain umzuziehen oder den Server zu skalieren.

Auch brauchst du Zeit, um Konzepte zu überdenken und eventuell Drittanbieter oder Plugins zu wechseln.

1.2 Konzepte überdenken

Plugins, Widget und Ressourcen

Alle Ressourcen-fressende Plugins, Widgets und Funktionen die du nicht in deinem Dashboard oder auf deiner Seite zwingend brauchst, solltest du entfernen. Brauchst du wirklich deine Monitoring-Tools wie Matomo oder Google Analytics in deinem WordPress-Dashboard?

Versuche dich auf das absolute Minimum zu beschränken, wenn es dir darum geht, dass deine Website auch unter höchster Last online bleibt. Selbst kleinste Dinge wie ein Social-Media-Button können gerne mal das doppelte an Ladezeit ausmachen. In folgendem Beispiel sogar 12 Skripte mit insgesam 462,7 kB – nur zum Anzeigen eines Social-Media-Buttons.

Ladeskripte von Social Media Button

Werbeanzeigen

Zu viele Anzeigen auf deiner Seite verlangsamen nicht nur deinen Server, sondern bringen deine potenziellen Kunden auch eher dazu, deine Seite zu verlassen. Folglich gehen dir dadurch Werbeeinnahmen verloren. Beschränke dich auf wenige und qualitativ hochwertige Anzeigen, um möglichst schnell und effizient deinen “Return of Investment” (ROI) zu steigern.

E-Mails

Deine Website ist deine Online-Präsenz – deine E-Mails gehören nicht von dieser aus gesteuert. Der Server beansprucht eine Menge Load und das geht gerade zu hohen Lastspitzen ganz schön auf deine Kosten.

Wir unterscheiden hier zwischen zwei Arten von E-Mails: Newsletter (Marketing) und Verwaltung.

Marketing-Mails wie z.B. dein Newsletter solltest du grundsätzlich auslagern. DSGVO-konforme, deutsche Anbieter sind hier beispielsweise Cleverreach oder Newsletter2Go. Natürlich gibt es auch internationale Provider wie z.B. Mailchimp, die auch eine super Sache machen.

Merke: Marketing-Mails solltest du grundsätzlich nicht über deine Website versenden.

Verwaltungs-Mails, wie z.B. Rechnungen, Passwort-Resets, E-Mails zur Kontoerstellung o.ä. kannst du ebenfalls super auslagern. Gerade, wenn es bei hohen Besucherzahlen zu vielen Bestellungen kommt, solltest du dies in Erwägung ziehen.

Hier gibt es auch etliche Provider, die du einfach als Drittpartei-SMTP-Server verwenden kannst: Mailgun ist hier mein Favorit. Die Entwickler haben auch ein einfach einzurichtendes WordPress-Plugin.

WordPress hohe Last_Hosting

#2 Hosting

Der wichtigste direkt umsetzbare Punkt, auf den du deine Aufmerksamkeit legen solltest, ist in der Tat das Hosting. In erster Linie ist es hierbei wichtig, einen Hoster zu wählen, der keine Limitierung bezüglich des Traffics hat. Denn: Übersteigt dein Traffic dieses Limit, kann dein Hoster deine Seite sperren und die ganze Mühe wäre dahin.

Hosting-Tarife auf Basis von Shared Hosting sind ebenfalls gänzlich ungeeignet für einen hohen Lastzuwachs, da du dir die CPU-Zeit mit weiteren Nutzern (Webseiten) teilst. In den meisten Fällen sind diese außerdem nicht leistungsstark genug, um solche Traffic-Anstürme wie z.B. bei “Die Höhle der Löwen” auszuhalten.

Ein auf WordPress und WooCommerce spezialisierter Hoster ist in den allermeisten Fällen die beste Wahl, wenn du dich nicht gerade selbst minutiös um das Aufsetzen, die Wartung, Performance-Optimierungen und Sicherheit deiner Seite kümmern möchtest. Unser Guide zum WooCommerce-Hosting verdeutlicht, warum.

Eventuell macht auch eine kurzfristige Skalierung deines Servers Sinn. Das bedeutet, dass du für einen Zeitraum deinen Server hochskalierst (Mehr CPU/RAM etc) und dann nach der Traffic-Spitze wieder zum regulären Tarif zurückkehrst, um Kosten zu sparen.

Im optimalen Fall sprichst du schon am Anfang der Planung mit deinem Hoster. Dieser kann dich am Besten beraten und dir Empfehlungen aussprechen.

WordPress hohe Last_Backups

#3 Backup

Backups sind ein absolutes Muss, nicht nur für Lastspitzen, sondern grundsätzlich. Deine Website sollte nächtlich automatisch gesichert werden und zusätzlich solltest du die Möglichkeit haben, manuelle Backups anzulegen. Dies gibt dir gerade in Phasen wie bspw. Umstrukturierungen deiner Seite ein weiteres Sicherheitsnetz.

Auch kannst du auf diese Weise große Milestones als Versionen absichern.

Beispielsweise:

  • Backup 1: Ausgangszustand
  • Backup 2: Caching-Plugin installiert und konfiguriert
  • Backup 3: Datenbank aufgeräumt

So kannst du jederzeit zu bestimmten Punkten deiner Anpassungen zurückspringen, falls etwas schiefgeht.

Ich empfehle dir, dies auch wirklich zu nutzen, während du dich durch dieses Dokument durcharbeitest.

Backup-Systeme:

Backup bei Managed WordPress-Hostern (empfohlen):
Bei den meisten spezialisierten Hostern kannst du dich auf eine nächtliche automatische Sicherung deiner Seite verlassen. Darüber hinaus gibt es in der Regel die Möglichkeit, mit einem Klick manuelle Backups anzulegen und wieder einzuspielen. Da diese Backups keinen Umstand für dich bedeuten und auch keinen Speicherplatz von dir wegnehmen, geht die Empfehlung klar in diese Richtung.

Backup via WordPress-Plugin:
BackupWP, Updraft, BackUpWordPress u.v.m können deine gesamte WordPress-Seite, inkl Medien und Datenbank, auf deinem Server sichern.

Je nach Plugin und Version (kostenfrei oder Bezahlvariante) kannst du dein Backup zusätzlich noch in der Cloud* speichern oder herunterladen.

Kennst du schon die aktuellen WordPress-News?

Erhalte alle zwei Wochen unsere neusten Blog-Artikel und Neuigkeiten rund um WordPress!

Ja, ich bin mit der Datenverarbeitung einverstanden.

BackupWP ist von den Kollegen von Inpsyde geschrieben und wird gut supported, daher ist dies unsere Empfehlung für dich, falls du keine Backup-Lösung in deinem Hosting-Paket hast. BackupWP bietet zeitgesteuerte Sicherungen, Speicherung auf Cloud-Services* wie Dropbox oder Microsoft Azure oder einem anderen FTP-Server.

In der Kaufversion kannst du noch weitere Cloud-Dienste als Speicherplatz angeben und deine Backups verschlüsseln.

*Bei der Speicherung von Backups in der Cloud sollte man sich in Zeiten der DSGVO überlegen, welchen Anbieter man nutzt, da deine Backups ja auch Kundendaten wie Namen, Adressen und E-Mails enthalten.

WordPress hohe Last_Caching

#4 Caching & Minifying

Der Faktor Nummer eins, wenn es darum geht, Seiten schnell und mit möglichst wenig Serverlast auszuliefern, ist klar das Caching.

Beim Caching minimierst du die Requests auf deinen Server, welcher dann statische Dateien anstatt dynamischen ausliefert, wie beispielsweise deine Bilder oder das HTML deiner Seiten. Das bringt dir neben einer enormen Geschwindigkeitsverbesserung auch noch eine deutlich geringere Last, da der Server denselben Content nicht wieder und wieder laden muss. Stell dir das so vor als würde deine Mutter dich immer und immer wieder zum Milch holen schicken. Statt immer wieder erneut loszulaufen, füllst du den Kühlschrank einfach mit mehreren Flaschen. Das reduziert die Last auf deinen Beinen und den Stress mit deiner Mutter, weil du nicht schnell genug warst.

Hier unterscheiden wir zwischen dem serverseitigem Cache und dem Caching durch Plugins. Eine ausführliche Übersicht zum Cache und die Unterschiede dieser Cache-Möglichkeiten haben wir in unserem Caching Grundlagen-Artikel für dich zusammengestellt.

Das Minifizieren von CSS- und JS-Dateien kann dir auch einen Vorteil bringen, hierbei werden die Inhalte der jeweiligen Stylesheets und JavaScript-Dateien um Kommentare und Leerzeichen erleichtert und zu einem langen String zusammengeführt. Wir empfehlen dafür das Plugin “Merge + Minify + Refresh”.

WordPress hohe Last_Bilder optimieren

#5 Medienoptimierung (Bilder skalieren, Videos auslagern)

5.1 Bilder

Große Medien sind natürlich der Killer in Sachen Last und Performance. Wenn deine Shop-Unterseite 25 Produktbilder in Vollauflösung beinhaltet, obwohl diese nur in 200px x 250px angezeigt werden, dann geht die Seite schnell mal in die Knie.

Ganz besonders vorsichtig sollte mal bei Bildern im Warenkorb oder Kassenbereich sein, denn diese Bereiche sind ungecacht. Wenn du dort 300dpi Bilder auf 2000px einlädst, obwohl nur ein Pictogramm gebraucht wird, kannst du dir sicher sein, dass deine Kunden bei Vollast reihenweise nicht kaufen können.

Mit welchen WordPress-Plugins du deine Bilder automatisiert aufbereiten kannst, erklären wir in unserem Bildoptimierungs-Plugin-Vergleich.

5.2 Videos

Videos gehören auf Videoportale und werden dann auf deiner Seite eingebunden! Zumindest, wenn es dir rein um die Performance geht. Es gibt kaum einen Grund, Videos selbst zu hosten (in manchen Fällen vielleicht die DSGVO, aber lassen wir das hier mal beiseite).

Wenn du Videos unbedingt selbst hosten willst, mach es auf einem dedizierten Server und binde sie dann bei dir ein. Ansonsten lade sie bei YouTube, Vimeo, 3q oder Brightcove hoch.

WordPress hohe Last_Datenbank aufräumen

#6 Datenbank aufräumen

Jetzt gehen wir einmal in die Tiefe von WordPress-IT: Die Datenbank.

Ganz wichtig vorher: Mache zunächst ein Backup!

WordPress speichert Beiträge, Kommentare, Seiten und andere Arten von textuellen Daten in einer einzigen Datenbank (Bilder und Videos ausgeschlossen, denn die befinden sich im “wp-content/**”-Ordner).

Nach einer Weile wird diese Datenbank natürlich etwas voller und “zugemüllt”.

Müll bedeutet hier unter anderem:

  • Kommentare im Spam-Bereich
  • Revisionen von Beiträgen und Seiten
  • Dinge im Papierkorb
  • Beitrags- und Kommentar-Metadaten wie Validierungen, die lange abgelaufen sind

Das ist alles Altlast die du in der Regel nicht mehr brauchst und welcher deinen Server runterzieht.

Wie wird man diesen Kram los?

TL;DR & für alle die es etwas einfacher haben möchten: Installiert euch WP-Optimize und lasst es laufen!

6.1 Revisionen

Revisionen sind Zwischenstände deiner Beiträge, Seiten und Entwürfe.

Meist kann man diese enorm reduzieren, z.B. auf maximal 8-10 Revisionen. In manchen Fällen macht es sogar Sinn, sie ganz abzuschalten.

In deine wp-config.php schreibst du dazu:

Ganz abschalten:

define( 'WP_POST_REVISIONS', false );

Revisionen limitieren:

define( 'WP_POST_REVISIONS', 10 ); // Max 10 Revisionen

6.2 Die wp_options optimieren

Die wp_options Tabelle ist eine der wichtigsten und zugleich oft übergangenen Tabellen in WordPress, wenn es um Lastenoptimierung geht. Die wp_options enthält neben Dingen wie der Site URL, Home URL, Zeitformaten und Admin-Daten auch Einstellungen für Plugins, Themes, WP-Cronjobs und Cache-Daten.

Um diese zu optimieren, müssen wir erst einmal verstehen, was die einzelnen Tabellenspalten bedeuten.

Die wp_options hat folgende Spalten:

  • option_id
  • option_name
  • option_value
  • autoload

Schauen wir uns mal die autoload Spalte an. Diese steuert aus, welche Optionen und Einstellungen über die Funktion wp_load_alloptions() geladen werden. Das bedeutet: Ist in einer Zeile der Eintrag auf ‘yes’ wird auf jeder Seite deiner Website diese Funktion geladen.
Viele Plugin und Theme-Entwickler haben die Einstellung, dass ihr Plugin/Theme so verdammt wichtig ist, dass es auf jeder Seite zu laden hat, obwohl ihr Plugin eigentlich nur auf einer Seite verwendet wird (beispielsweise ein Rechner oder Kontaktformular).

Das müllt natürlich deine Seite zu und verursacht enormen Extra-Load.

Wie behebt man dies?

Letztendlich ist dies eine Planungsfrage. Wie schon in Punkt 1.2 “Konzepte überdenken” angemerkt, solltest du dir die Frage stellen: “Brauche ich dieses Plugin?”. Falls du es mit einer anderen Möglichkeit ersetzen kannst, tu es.

So kannst du bspw. Google Analytics nicht im WordPress-Dashboard laden, sondern extern. Oder anstatt ein Redirect-Plugin zu verwenden, könntest du bei deinem Hoster schauen, ob der nicht schon solche Dinge integriert hat.

Um herauszufinden, welche Plugins große Ladezeiten verursachen, habe ich dir hier mal einen SQL-Query geschrieben:

SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload ='yes' ORDER BY option_value_length DESC

(Wichtig: Es kann sein, dass dein Datenbank-prefix ein anderes ist, daher musst du diese Query an der Stelle “wp_options” eventuell anpassen in “deinprefix_options”)

Nachdem du diesen Query ausgeführt hast, bekommst du eine Liste zurück die dir anzeigt, welche Funktionen den meisten Load verursachen.

WordPress hohe Last: wp_options autoload query

In diesem Fall kommt es von dem Plugin “rewrite rules”. Da wir bei RAIDBOXES hosten, können wir uns der Rewrite-Regeln im RAIDBOXES-Dashboard bedienen und für diese BOX einfach die Rewrite-Regeln übernehmen und das Plugin löschen.

WordPress hohe Last: URL Rewrites RAIDBOXES

Alten “Plugin-Müll” aus der wp_options entfernen

Gelöschte Plugins hinterlassen gerne noch Reste in der wp_options und dazu auch noch auf autoload = yes. Das ist natürlich sehr schlecht, da die Funktionen dahinter nicht einmal mehr existieren und die Rechenzeit des Servers somit total verschwendet wird.

Was ich immer gerne mache, ist mir von gelöschten Plugins die Namen in der wp_options nachzuschlagen und zu entfernen.
Gehen wir mal davon aus, dass wir das “Rewrite Rules” Plugin von oben nicht mehr benötigen, so lasse ich diesen SQL-Query laufen:

SELECT * FROM `wp_options` WHERE `autoload` = 'yes'AND `option_name` LIKE  %rewrite_rules%'

(Wichtig: Es kann sein, dass dein Datenbank-prefix ein anderes ist, daher musst du diese Query an der Stelle “wp_options” eventuell anpassen in “deinprefix_options”)

Ich bekomme dann eine ganze Reihe von nicht mehr benötigten Funktionen zurück, die alle noch auf autoload = yes stehenm aber völlig unnütz sind.
Diese lösche ich einfach. (Backups habe ich ja schon erwähnt oder ;)?)

Das Prozedere gehe ich für alle Plugins durch. Schon ist die wp_options eine ganze Ecke leichter.

6.3 Alte Transients löschen

Transients sind nichts anderes als temporäre Optionen, die für kurze Zeit in der Datenbank gespeichert werden. Sobald diese abgelaufen sind und nicht mehr benötigt werden, werden diese gelöscht. Als Beispiel: “site_transient_update_plugins”  beinhaltet einfach die Info, welche Plugins ein Update haben und welche nicht. Sobald man diese Plugins updated oder eine erneute Update-Überprüfung anwirft, wird dieser Transient gelöscht.

Leider ist das aber nicht immer der Fall, denn manche Transients bleiben für immer in der Datenbank hängen und machen einem die Queries schwer. Die sollten natürlich weg.

Benutzt dafür am besten den Transient Cleaner, denn dies manuell zu machen ist ein riesiger Aufwand. Nachdem du dieses Plugin erfolgreich verwendet hast, kannst du es danach wieder getrost entfernen. Der Transient Cleaner entfernt nur die abgelaufenen Transients und nichts weiter – ein tolles Tool!

Performance Messen E-Book

6.4 WordPress-Sessions

Sessions sind dazu da, um User-Login-Sitzungen zu steuern, zu protokollieren, überprüfen und ablaufen zu lassen. Nach einer Weile löscht ein WP-Cron diese Sessions aus der Datenbank. So sollte es zumindest sein.

Leider hängen sich Cronjobs auf oder sie werden deaktiviert vom Nutzer oder Plugins – Dann hast du im Nu sehr sehr viele Sessions in der Datenbank.

Um zu schauen, ob du davon betroffen bist, habe ich einen weiteren Query für dich:

SELECT * FROM `wp_options` WHERE `option_name` LIKE '_wp_session_%'

(Wichtig: Es kann sein, dass dein Datenbank-prefix ein anderes ist, daher musst du diese Query an der Stelle “wp_options” eventuell anpassen in “deinprefix_options”)

Wenn du feststellen solltest, dass da abertausende Einträge sind, verwende folgenden Query um diese zu löschen:

DELETE FROM `wp_options` WHERE `option_name` LIKE '_wp_session_%'

(Wichtig: Es kann sein, dass dein Datenbank-prefix ein anderes ist, daher musst du diese Query an der Stelle “wp_options” eventuell anpassen in “deinprefix_options”)

Bei RAIDBOXES haben wir dazu einen eigenen, serverseitigen CronJob, den du nach Intervallen aussteuern kannst. Diesen findest du unter deinen BOX-Einstellungen unter WP Session Eraser.

WordPress hohe Last: WP Session Eraser

6.5 Einen Index zum autoload hinzufügen

Ok, jetzt wird’s tricky! Aber wenn du es schaffst, für deine WordPress-Seite diesen Trick von den Kollegen von 10up anzuwenden, hast du sehr sehr viel gewonnen.

Was er essentiell macht:

Es wird ein Index zum autoload-Feld in der wp_options hinzugefügt. Dadurch wird die Abfragezeit erheblich reduziert und sogar auf ein konstantes, sehr niedriges “maximim” gebracht.

Das Ergebnis liegt klar auf der Hand:

WordPress hohe Last: wp_options Query Time Index
Quelle: 10up

Das Schöne ist: Bei den meisten Seiten funktioniert das Plugin Index Autoload wunderbar. Wie immer, denke an das Backup zuvor und lies dir die Beschreibung genau durch – denn ganz so einfach ist es nicht. 😉

Manuell würde es mit diesem Query hier gehen:

ALTER TABLE `wp_options` ADD INDEX (`autoload`);

(Wichtig: Es kann sein, dass dein Datenbank-prefix ein anderes ist, daher musst du diese Query an der Stelle “wp_options” eventuell anpassen in “deinprefix_options”)

WordPress hohe Last_Updates

#7 Halte alles up to date!

Ein sehr effektiver Weg, um Besucherwellen standzuhalten, ist deine Software up-to-date zu halten. Nicht nur dein WordPress selbst, sondern auch dein aktives Theme, deine Plugins und ganz vorne weg: deine PHP-Version.

7.1 PHP

PHP ist der “Software-Motor” von WordPress. Das bedeutet auch: Je performanter der Motor, desto schneller ist deine Seite.

PHP 7.0 ist kann mehr als doppelt so viele Requests pro Sekunde ausführen wie PHP 5.6 – und das in der Hälfte der Latenzzeit. Mit PHP 7.1 und 7.2 wurde das Ganze nochmal etwas schneller.

Hinweis:

Der offizielle Support für PHP 5.6 und PHP 7.0 läuft Ende 2018 aus. Daher sollte man jetzt schon auf mindestens 7.1 upgraden, um die Sicherheit seiner WordPress-Seite nicht zu gefährden.

Daher ist es mehr als sinnvoll, die Version zu benutzen, die dir die meiste Performance bringt. Aber Achtung: nicht alle Plugins und Themes sind mit diesen Versionen schon kompatibel! Hier hilft entweder die Dokumentation der Plugins und Themes oder einfaches Ausprobieren weiter.

PHP-Versionen RAIDBOXES

7.2 WordPress

Um die maximale Performance rauszuholen, sollte auch deine WordPress-Version up-to-date sein.

Wenn du dein WordPress schon länger nicht aktualisiert hast, solltest du nicht direkt von einer major Version in die nächste springen (Bsp: 4.3 auf 4.4) sondern dich in minor Versionen nach vorne tasten (z.B. von Version 4.3.3 auf 4.3.4).

Prüfe zwischen den Updates immer wieder die gesamt Funktionalität deiner Seite. Prinzipiell ist zu empfehlen, immer wieder einzelne Backups deiner Seite anzulegen. Das gilt ganz besonders vor größeren Versionssprüngen!

Grundsätzlich empfiehlt sich auch hier ein Managed WordPress-Hoster, welcher die WordPress-Updates für dich übernimmt.

7.3 Plugins/Themes

Genau wie deine WordPress-Version, solltest du auch deine Plugins und Themes auf den neuesten Stand bringen. Sicherheit und Performance sind die Hauptgründe. Unsichere Plugins und Themes können dir deine gesamte Arbeit zunichtemachen. Eine Übersicht über aktuell bekannte Sicherheitslücken zu WordPress, Themes und Plugins findest du in der “WPScan Vulnerability Database” vom Sicherheitsanbieter Sucuri.

Plugin- und Theme-Updates bringen außerdem die Möglichkeit, auf eine höhere PHP-Version zu upgraden und somit einen deutlichen Geschwindigkeits-Boost zu erreichen. Nebenbei fallen Bugs weg und du hast mehr Features zur Verfügung.

Auch hier gilt bei größeren Updates: Mache vorher ein Backup deiner Seite oder teste die neue Version in einer Staging-Umgebung. Überprüfe die Funktionalität deiner Seite, bevor du die Änderungen live schaltest.

Welche Konsequenzen es haben kann, wenn du mit deinen Plugin-Updates hinterherhinkst, hat sich vor Kurzem bei der Sicherheitslücke eines DSGVO-Plugins gezeigt.

WordPress hohe Last_Broken LInks

#8 Broken Links

Ein ganz einfacher Punkt, der zwar nicht zwangsweise deine Seiten-Performance herunterzieht, dich aber Besucher kosten kann, sind kaputte Links. Die Überprüfung deiner Seite kannst du ganz einfach über den Online Broken Link Checker erledigen.

Ich empfehle dir, immer diese Website statt ein Plugin für den Check zu verwenden, da diese die Performance deiner Seite runterziehen – auch wenn du sie gerade nicht im Einsatz hast.

WordPress hohe Last_Lazy Loading

#9 Lazy Loading

Beim Lazy Load werden ausschließlich die Inhalte angezeigt, die der User in seinem sichtbaren Browserbereich hat. Der Rest wird dynamisch geladen, wenn der User weiter herunterscrollt.

Um den Load deiner Seite zu verringern, werden nur die Anfragen erfüllt, die tatsächlich unmittelbar erfüllt werden müssen. Darunter fallen zum Beispiel Bilder, Videos und Texte sowie Skripte und weitere Dinge. Ein wahres Machtwerkzeug – Quasi Thors Hammer, um Ressourcen zu sparen.

Es funktioniert so:

Der Browser lädt schon den gesamten textlichen Inhalt (den DOM, bedient sich jedoch an Javascript, um nur die Bilder/Video/Skript-Ressourcen zu laden, die der User auch gerade braucht. Scrollt der User tiefer, werden die Dinge nachgeladen, die in sein Sichtfeld kommen.

Viele moderne Themes, gerade für Shops, haben Lazy Loading bereits implementiert. Leider ist es nicht immer ganz einfach, Lazy Loading nachträglich hinzuzufügen.

But, there is a Plugin for that!

Es gibt viele Lazy Loading-Plugins auf dem Markt. Eines gefällt mir jedoch besonders gut: a3 Lazy Load. A3 Lazy Load funktioniert in sehr vielen Fällen und kann zusätzlich zu Bildern auch Videos und iFrames lazy loaden. Darüber hinaus unterstützt es WordPress AMP, WooCommerce und Advanced Custom Fields.

WordPress hohe Last_Bezahlvorgang

#10 Bezahlvorgang optimieren

Gerade wenn du ein oder mehrere Produkte verkaufen willst, ist es unabdingbar, den Bezahlvorgang genau zu optimieren.

Wie oben schon erwähnt, sind Dinge wie der Warenkorb oder die Kasse nicht cachbar. Daher sollte man die Server-Last genau hier enorm reduzieren, da jeder Request eine völlig neue und Performance-hungrige Anfrage an den Server bedeutet.

Dein Konkurrenz ließt mit

Abonniere jetzt unsere kostenlosen WordPress-News!

Ja, ich bin mit der Datenverarbeitung einverstanden.

Schau dir über deine Browser-Tools (in Chrome z.B. über den Reiter “Network”) an, wie viele Requests bei einem Checkout generiert werden und eben welche.Wenn du siehst, dass du 400 Request alleine beim Aufrufen des Warenkorbs generierst, läuft irgendwas falsch.

Schau dir an, welches Plugin oder welche Ressource viele dieser Requests generiert und versuche diese zu reduzieren. Das bedeutet, dass du dich ggf. von Plugins, die du nicht zwingend benötigst, trennen musst.

Was wir hier oft sehen sind Schriften, die von externen Quellen geladen, dann erst gerendert, aber noch nicht einmal auf der Warenkorb oder Kassenseite eingesetzt werden.

Stell dir auch die Frage, ob du in der Kassenanzeige wirklich nochmal alle Produkte mit Bildern in Vollauflösung auflisten musst oder ob eine textliche Anzeige hier ausreicht.

Zahlungsmöglichkeiten über Gateways

Auch ist eventuell ein Wechsel deines Bezahl-Gateways notwendig. Wenn bspw. dein PayPal-Plugin sehr lange braucht, um Anfragen von Nutzern zu verarbeiten, kannst du hier Abschlüsse verlieren.

Wenn du deinen Kunden möglichst viele Bezahlmöglichkeiten und dir eine sichere Abwicklung bieten möchtest, schau dir Stripe an. Stripe bietet eine einfache WordPress-Integration und schnelle Zahlungsvorgänge bei einer hohen Anzahl an Zahlungsmöglichkeiten.

WordPress hohe Last_CDN

#11 CDN

On-page ist nun alles optimiert? Server schnell? Super! Dann kommt die nächste Stufe, um die Last so gering wie möglich zu halten: Ein Content Delivery Network (CDN).

Ein CDN ist quasi eine Kopie deiner gecachten Seite, die auf verschiedenen Servern an verschiedenen Standorten auf der Welt verteilt ist. So kommen die Nutzer, die an einem Ort sind, schneller an die Daten.

Quasi – um das Milch-Beispiel von oben noch einmal aufzugreifen – ein Kühlschrank voller Milch in jedem Raum.

Zusätzlich wird das CDN auch deinen Server von Last befreien, da es Teile deiner Website gecached von dessen Server ausliefert.

Wir empfehlen als CDN-Partner Cloudflare. Hier hast du in manchen CDN-Plänen sogar eine Firewall und einen Image-Optimizer mit drin. Wie du Cloudflare bei RAIDBOXES mit deiner BOX verbindest erklären wir dir hier:

In Cloudflare:

  1. Du gibst deine Domain unter “Add Website” ein und klickst auf “Scan DNS Records”.
  2. Nun scannt CF automatisch nach deinen Records – hier einfach abwarten, bis er durch ist.
  3. Im Anschluss wird dir CF Vorschläge machen (meistens zwei für A-Records). Und das ist auch ok so. Klicke auf “Continue”.
  4. Wähle im nächsten Schritt deinen Plan aus und klick wiederum auf “Continue”.
  5. Hier hast du nun Nameserver, die du anpassen musst.
  6. Cloudflare zeigt dir unsere an und in welche du sie ändern kannst. (Das gilt natürlich nur für Domains, die du bei uns hast. Solltest du die Domains noch woanders haben, musst du da nachschauen).
  7. Diese Nameserver (5) musst du dann in der Domain-Verwaltung als Nameserver eintragen. Wenn du deine Domains bei uns verwaltest, kannst du diese hier anpassen. Dort klickst du bei der jeweiligen Domain auf “DNS” und änderst die Nameserver in die von Cloudflare. Falls du deine Domains bei einem anderen Anbieter hast, musst du da nachschauen.

Fertig!

Noch wichtig: Solltest du die Fehlermeldung: “Too many Redirects” erhalten, musst du in Cloudflare bei den SSL-Einstellungen “Full Strict” aktivieren.

WordPress hohe Last Reporting

#12 Reporting

Du kannst nicht immer und überall auf deine Seite aufpassen, daher ist ein Monitoring und Uptime-Reporting-Tool sehr wichtig.

Diese meist kostenfreien Tools überwachen den Status deiner Website. Sie checken in kurzen Abständen, ob deine Seite erreichbar ist.

Wir empfehlen dazu die kostenfreien Pläne von Pingdom oder UptimeRobot.

Achtung: Stell diesen Check nicht zu kurz ein, dies bedeutet auch eine Last auf deinen Webserver. Daher die Check-Intervalle nicht kürzer als 5 Minuten sein.

#13 Finales Backup

Alles läuft? Zufrieden? Super! Jetzt solltest du nur noch ein abschließendes Backup machen! Bei der nächsten Lastspitze durch die Höhle der Löwen und Co. dürfte deine Seite jetzt nicht mehr in die Knie gehen! 😉 

Fazit

Ich hoffe, dass dir meine Schritt-für-Schritt-Anleitung helfen wird, deine WordPress-Seite für hohe Last fit zu machen. Wenn es an den technisch anspruchsvolleren Stellen noch hakt, empfehlen wir dir, einen professionellen WordPress-Entwickler hinzuzuziehen. Du hast noch weitere Fragen oder Anmerkungen zur Vorbereitung auf hohe Last? Dann lass’ mir gern einen Kommentar da!

Du möchtest alle 2 Wochen die neusten Blog-Artikel und News rund um WordPress erhalten?

Dann abonniere jetzt unsere kostenlosen WP-News!

Ja, ich bin mit der Datenverarbeitung einverstanden.

Wenn du fortfährst, stimmst du unserer Cookie-Richtlinie zu.