Wissen

[Dossier] Die Geheimnisse der Web-Optimierung

[Dossier] Die Geheimnisse der Web-Optimierung

Die Geschwindigkeit einer Website wirkt sich direkt auf den Komfort der Nutzer aus. Bekanntlich verringert eine langsame Website die Zeit, die Besucher darauf verbringen, deutlich – und sie dürfte sich auch auf das Suchmaschinen-Ranking auswirken. Die Optimierung der Geschwindigkeit Ihrer Website ist daher ein zentraler Faktor, den Sie keinesfalls vernachlässigen sollten.

Ursachen für langsame Websites

Anders als oft angenommen liegt eine langsame Website nicht immer an einem langsamen Server. Natürlich kann ein überlasteter oder minderwertiger Server Verzögerungen verursachen, doch HaiSoft tut alles, um diese Möglichkeit auszuschließen.

Wir setzen alles daran, dass Sie jederzeit von schnellem und verfügbarem Hosting profitieren: Alle Shared-Hosting-Server von HaiSoft sowie alle neuen Server sind mit SSDs ausgestattet – für maximale und gleichbleibende Leistung. Außerdem werden die Server aktiv überwacht, sodass eine hohe Last sofort erkannt und das Problem sehr schnell behoben wird. Das Hosting von HaiSoft ist daher eine hervorragende Möglichkeit, unter allen Umständen von außergewöhnlich guter Leistung zu profitieren. Siehe insbesondere:

SSDs für alle: Wir haben es auch geschafft!

Vor diesem Hintergrund stellen wir fest, dass Anfragen zu langsamen Websites in der überwiegenden Mehrheit der Fälle auf eine mangelnde Optimierung der Websites selbst zurückzuführen sind – daher dieser Artikel.

Was bedeutet Optimierung?

Die Ladezeit einer Website hängt von zwei Hauptfaktoren ab:

  • Den auf dem Server genutzten CPU-Ressourcen (Prozessor), in der Regel durch PHP-Skripte und die MySQL-Datenbank beim Laden der Seiten.
  • Den Ressourcen, die der Server an die Besucher der Website sendet, also Medien, Bilder, Skripte usw.

Bei der Optimierung geht es also darum, an diesen beiden Punkten anzusetzen: einerseits die Seiten serverseitig schnell zu erzeugen, andererseits dafür zu sorgen, dass die Nutzer sie schnell erhalten – unabhängig von der Geschwindigkeit ihrer Internetverbindung.

Sie finden diesen Blog schnell? Er wird derzeit auf einem Shared-Hosting-Server von HaiSoft gehostet, und wir haben die in diesem Artikel empfohlenen Optimierungen darauf angewendet.

1) Optimierung der Serverressourcen

Hinweis: Wir sprechen hier hauptsächlich über die Optimierung von CMS, auch wenn sich manche Tipps auf alle Fälle übertragen lassen. In diesem Artikel nehmen wir nicht die Perspektive eines Entwicklers ein, der normalerweise wissen sollte, was optimierter Code ist.

Die Ladezeit einer Seite Ihrer Website hängt direkt von der Rechenleistung ab, die zu ihrer Erzeugung nötig ist. Daher ist es wichtig, dass der PHP-Code, der die Seiten erzeugt, so gut wie möglich optimiert ist, um eine angemessene Ladezeit zu gewährleisten.

Zudem kann eine schlecht oder gar nicht optimierte Website in extremen Fällen einen ganzen Server ausbremsen. Wenn zum Beispiel jede Seite sehr lange MySQL-Abfragen (über 20 Sekunden) auslöst und die Website mehrere Besuche pro Sekunde erhält, kann die CPU-Auslastung des Servers schnell 100 % erreichen und die Leistung bricht dramatisch ein – der Server kann sogar ganz aufhören zu antworten, wenn die für die verschiedenen Dienste festgelegten Nutzungsgrenzen zu hoch sind. Genau hier greifen bestimmte Limits auf den MySQL- und Apache-Servern, die den Zugriff auf den Server sichern, indem sie seine vollständige Überlastung verhindern.

Außerdem sollte man wissen, dass PHP pro Prozess (und damit pro geladener Seite) nur einen einzigen Prozessorkern nutzt. Das bedeutet, dass Ihre Seiten mit 8 Kernen nicht schneller laden als mit 2, wenn nur ein Besucher da ist (vorausgesetzt, andere Prozesse belegen die übrigen Ressourcen nicht); dafür können Sie mehr Besucher gleichzeitig ohne Verzögerung bedienen. Auch die CPU-Nutzung durch MySQL ist zu berücksichtigen: Durchsucht eine Abfrage Millionen von Zeilen, dauert ihre Ausführung mehrere lange Sekunden, was den Server belastet und Ihre Website verlangsamt.

Fehler und Irrwege, die Sie vermeiden sollten

Um Zeit zu sparen, beginnen wir mit dem, was man vermeiden sollte.

  • Eine Website nicht aktualisieren und mit einer veralteten PHP-Version betreiben: Neben dem gravierenden Sicherheitsproblem verringern Sie die Leistung Ihrer Website möglicherweise um den Faktor 1,5 bis 3. Zur Erinnerung: Die neuesten PHP-Versionen sind bei HaiSoft stets verfügbar und Sie können jederzeit upgraden (auf Französisch).
  • Bei der kleinsten Verzögerung sofort Cache-Plugins (WPSupercache, WPRocket…) installieren. Bei deutlicher Langsamkeit muss man das Problem zuerst an der Wurzel packen und sich fragen, woher sie kommt, statt direkt zu einer Notlösung zu greifen, die in der Regel weit weniger wirksam ist als eine echte Optimierung. Beginnen Sie die Optimierung also ohne Cache-Plugin und schließen Sie mit diesem Schritt ab, der das „i-Tüpfelchen“ bleiben sollte. Cache-Plugins können nicht nur nicht alles zwischenspeichern (manche langsamen Abfragen bleiben bestehen), sondern auch während der Entwicklung zahlreiche Probleme verursachen – ein Grund mehr, diesen Schritt ans Ende zu stellen.

Sehen wir uns nun die richtigen Ansätze zur Optimierung Ihrer Website an.

Updates

Stellen Sie sicher, dass Ihr CMS auf dem neuesten Stand ist – ebenso wie alle Themes, Module, Erweiterungen usw.

Nutzen Sie insbesondere die automatische Aktualisierung Ihrer WordPress-Website über Ihr Plesk-Control-Panel, die mit unseren WordPress-Tarifen verfügbar ist.

PHP-Version

Verwenden Sie die neueste PHP-Version, die Ihr Skript und Ihr Hoster unterstützen. Bei HaiSoft lässt sich Ihre PHP-Version über Ihr Plesk-Control-Panel einstellen (beide Links auf Französisch), und wir unterstützen neue PHP-Versionen ab ihrem Erscheinen. Eine aktuelle Website unterstützt die neuesten PHP-Versionen, die schneller und sicherer sind. Nach unserer Einschätzung ist PHP 5.6 doppelt so schnell wie PHP 5.3 und PHP 7.1 doppelt so schnell wie PHP 5.6 – hier sollten Sie also anfangen!

Plugins und Erweiterungen

Sie sind die Ursache Nr. 1 für langsame Websites – achten Sie daher sehr genau darauf, welche Module auf Ihrer Website installiert sind.

  • Beschränken Sie die Zahl der installierten Plugins/Erweiterungen/Module so weit wie möglich – jedes Modul ist eine zusätzliche Bremse. Entfernen Sie regelmäßig unnötige oder veraltete Plugins.
  • Prüfen Sie, ob Plugins oder Module zu viel Leistung beanspruchen. Deaktivieren Sie dazu alle Module, messen Sie die Geschwindigkeit der Website und aktivieren Sie sie dann nach und nach wieder, um das oder die Plugins zu finden, die die Website ausbremsen. Für WordPress hilft Ihnen das Plugin „Query Monitor“, die Ladezeit der Seiten genau zu messen und ressourcenhungrige Elemente aufzuspüren. Gehen Sie mit Optimierungs-Plugins genauso vor – Sie werden überrascht sein, wie sehr manche davon Ihre Website mitunter verlangsamen.
  • Dasselbe gilt für Themes: Verwenden Sie ein optimiertes Theme, das Ihre Website nicht ausbremst, und testen Sie zum Vergleich andere Themes.

Website-„Builder“

„Builder“ sind die moderne Falle, insbesondere bei WordPress. Builder für CMS (nicht zu verwechseln mit externen Buildern, die statischen HTML-Code erzeugen und daher dieses Optimierungsproblem nicht haben) versprechen, schnell und effizient eine maßgeschneiderte Website zu erstellen.

Das Problem: Builder verbrauchen enorm viele MySQL- und PHP-Ressourcen.

Sie erzeugen ausufernde MySQL-Abfragen und Seitenberechnungen, die die Website stark verlangsamen. Jedes Element ist ein Shortcode, den PHP in umfangreicheren PHP-Code und dann in HTML umwandeln muss, was in manchen Fällen zu einem dramatischen Geschwindigkeitsverlust führt. Ich betone das, weil wir bei den meisten angesagten Buildern einen Unterschied um den Faktor 3 bis 4 gemessen haben: Eine Website, die mit dem Standard-Theme von WordPress in 0,3 s lädt, braucht mit dem Builder-Theme über eine Sekunde. Bei einer Website, die bereits 1 s zum Laden braucht, wartet der Besucher dann mehrere Sekunden – die Übertragungszeit der Daten nicht eingerechnet. Das kann in manchen Fällen sehr störend sein.

Builder können außerdem zahlreiche Fehler verursachen und lassen sich nicht einfach austauschen – man muss die gesamte Website neu aufbauen, da die Seiten nicht im nativen WordPress-Format gespeichert werden.

Überlegen Sie sich die Wahl Ihres Builders also gut und bevorzugen Sie native Themes, die deutlich einfacher, stabiler, vielseitiger und leistungsfähiger sind.

Inhalt Ihrer Seiten

Müssen auf Ihrer Startseite wirklich Vorschauen von 300 Beiträgen geladen werden? Die Auszüge der Beiträge? Die 100 neuesten Kommentare in einem Widget? Kein Server kann eine solche CMS-Seite ohne Cache schnell anzeigen, da das Laden einer Seite auf einen einzigen Prozessorkern beschränkt ist.

Unter WordPress haben wir einen erheblichen Geschwindigkeitsgewinn festgestellt, allein indem wir die Beitragsauszüge auf der Startseite deaktiviert haben. Wählen Sie daher aussagekräftige Titel und Bilder und reduzieren Sie die Auszüge aus dem Beitragsinhalt so weit wie möglich (oder entfernen Sie sie ganz) – das sind lauter MySQL-Abfragen weniger. Wir raten auch davon ab, unnötige Widgets anzuhäufen. Eine schlichte Website ist für Besucher manchmal attraktiver und für den Server in jedem Fall schneller zu verarbeiten.

Generell ist es am wichtigsten, besonders auf die Optimierung der meistbesuchten Seiten zu achten, vor allem der Startseite.

MySQL-Datenbanken

Wie schnell die MySQL-Abfragen Ihrer Website ausgeführt werden, wirkt sich direkt auf ihre Geschwindigkeit aus. Daran lässt sich auch ohne spezielle MySQL-Kenntnisse etwas ändern. Wir empfehlen jedoch stets große Vorsicht beim Bearbeiten Ihrer Datenbank: Exportieren Sie Dumps und erstellen Sie vor jeder Änderung ein Backup! Das geht mit wenigen Klicks in Ihrem Plesk-Control-Panel, das HaiSoft bereitstellt.

  • Verkleinern Sie Ihre Datenbank: Je kleiner die MySQL-Datenbank, desto besser die Leistung.
  • Enthält Ihre Datenbank Verbindungsprotokolle oder Ähnliches, sorgen Sie dafür, dass sie regelmäßig bereinigt wird (über das Backend, ein Plugin oder manuell, zum Beispiel mit PHPMyAdmin).
  • Die Datenbank eines CMS (außer in Ausnahmefällen mit wirklich vielen Daten, etwa bei einer Nachrichten-Website) sollte allerhöchstens 100 MB groß sein.
  • Überprüfen Sie die Kommentare, die Spam enthalten können, sowie die Registrierungseinstellungen und die Freigaberichtlinie für Kommentare auf Ihrer Website.
  • Bei Websites wie WordPress sollten Sie alte Beitragsrevisionen löschen und die „Transients“ mit einem Plugin bereinigen.
  • Wenn Sie einen dedizierten Server oder eine VM nutzen, fragen Sie Ihr Managed-Services-Team bei HaiSoft, ob ein größerer Teil Ihrer Datenbank im RAM gehalten werden kann, sofern die Kapazität Ihres Servers dies zulässt; in manchen Fällen bringt das einen Gewinn.

2) Optimierung der clientseitigen Ressourcen

Seitengröße, Anzahl der geladenen Ressourcen, ihre Herkunft, die Größe der Bilder und ihre Komprimierung – all diese Parameter beeinflussen die Ladegeschwindigkeit einer Website.

Optimierung mit GTMetrix messen

Um dieses Tool zu beherrschen, empfehlen wir Ihnen unseren eigenen Artikel dazu:

GTmetrix meistern: das unverzichtbare Tool zur Optimierung Ihrer Website

Die Website https://gtmetrix.com/ analysiert die Leistung Ihrer Website detailliert aus Sicht der Besucher.

GTMetrix-Test des HaiSoft-Blogs

Vor jeder Optimierung der Ressourcen empfehlen wir, diesen Test durchzuführen – so erhalten Sie einen guten Überblick über die zu bearbeitenden Punkte und können den Fortschritt Ihrer Optimierungen verfolgen.

In diesem Artikel erläutern wir einige der häufigsten Empfehlungen; die Liste ist jedoch nicht vollständig, und wir laden Sie ein, bei Bedarf weiter zu recherchieren.

Gesamtgröße der Seite

Bedenken Sie, dass nicht jeder über eine schnelle Internetverbindung oder ein leistungsfähiges Gerät (Smartphone oder anderes) verfügt, um Ihre Website aufzurufen.

  • Wir empfehlen, Ihre Seite nach Möglichkeit bei höchstens etwa 1 MB zu halten, sodass selbst eine Verbindung mit nur 2 Mbit/s die Seite in rund 5 Sekunden lädt.
  • Ist Ihre Website sehr „grafisch“ und enthält große Bilder, können Sie gegebenenfalls bis zu einer Seitengröße von 2 MB gehen.
  • Bei einer Fotografie-Website gibt es keine echten Normen mehr; ideal ist jedoch eine komprimierte Vorschau der Bilder mit der Möglichkeit, sie in guter Qualität zu vergrößern.
  • Wenn Sie Videos einbinden, nutzen Sie besser – von Ausnahmen abgesehen – eine externe Plattform (YouTube, Vimeo usw.), die verschiedene Qualitätsstufen anbietet und das Video sachgerecht komprimiert.

Anzahl externer Anfragen

Dabei handelt es sich um Anfragen, die beim Besuch Ihrer Website gestellt werden, um Ressourcen zu laden, die nicht von Ihrer Website stammen. Externe Ressourcen kosten den Besucher in der Regel viel Ladezeit.

Sie stammen hauptsächlich von Themes und Plugins, die das Erscheinungsbild Ihrer Website verändern, und umfassen vor allem Schriftarten, JS-Skripte und CSS.

Für jede externe Website, von der eine Ressource stammt, muss der Besucher eine zusätzliche DNS-Anfrage stellen. Diese Anfragen dauern jeweils einige Millisekunden, die sich zu einer nicht unerheblichen Zeit summieren können – zumindest beim ersten Laden der Seite.

Zudem können externe Server weit vom Land des Besuchers entfernt stehen, was die Latenz erhöht und den Durchsatz senkt.

Sie sollten daher versuchen, die geladenen externen Ressourcen so weit wie möglich zu reduzieren. GTMetrix führt sie in den Rubriken „YSlow“ und „Make fewer HTTP requests“ sowie im „Waterfall“ auf.

Ideal wäre es, gar keine externen Ressourcen zu laden, doch mit einem modernen CMS ist das praktisch unmöglich. Als Schwelle gelten daher 30 externe Ressourcen als absolutes Maximum, idealerweise weniger als 10 externe Anfragen.

Dazu müssen Sie manchmal andere Themes und Plugins wählen, die diese Ressourcen lokal speichern.

Gesamtzahl der Anfragen

Jede Ressource verursacht eine kleine Latenz. Gibt es zu viele verschiedene Ressourcen, wird die Website langsamer, besonders bei Verbindungen mit hohem Ping (Latenz).

Dieser Wert wird oben rechts im GTMetrix-Test angezeigt: „Requests“.

Wir empfehlen, unter 100 Anfragen als absolutem Maximum zu bleiben, idealerweise unter 50.

Das Zusammenfassen (Konkatenieren) von Skripten ist eine Methode, um die Zahl der gesendeten Skriptdateien und damit der Anfragen zu senken. Das ist ein guter Ansatz, aber nicht der einzige: Wählen Sie effiziente Skripte, die nicht allzu viele Dateien benötigen. Umsetzen lässt sich das über Caching-Skripte; Cache-Plugins übernehmen dann in der Regel das Zusammenfassen und Komprimieren der Skripte.

Skalierung von Bildern

Laden Sie nach Möglichkeit nur Bilder in der endgültigen Größe, in der sie angezeigt werden.

Es versteht sich von selbst, dass zum Beispiel ein hochauflösendes Bild als Vorschaubild eines Beitrags nicht optimal ist: Warum ein 8 MB großes hochauflösendes Bild laden, wenn ein Bild von wenigen Kilobyte in 128×128 wohl gereicht hätte?

Glücklicherweise verwalten die meisten CMS – einschließlich WordPress, das hier lange hinterherhinkte – Vorschaubilder und können verschiedene Bildgrößen erzeugen und je nach Kontext die passende verwenden. Sie müssen jedoch sicherstellen, dass Ihr Theme diese Vorschaubilder auch richtig nutzt. Ist das nicht der Fall, müssen Sie die Bilder manuell verkleinern.

Manche Plugins bieten an, diese Aufgabe zu übernehmen: Ich empfehle Ihnen, vorher Ihre Dateien und Ihre Datenbank zu sichern, denn dieser Vorgang ist für die Qualität der veröffentlichten Bilder riskant.

In GTMetrix finden Sie diese Information unter „PageSpeed“, Rubrik „Serve scaled images“.

Auf VMs und dedizierten Servern kann das in Plesk integrierbare Modul Google PageSpeed helfen. Es kann die Bilder der Website im laufenden Betrieb an die Bildschirmgröße anpassen (sofern die Originalbilder nicht zu groß sind). Ihr Support kann es einrichten; damit es funktioniert, müssen Sie einen Google-API-Schlüssel bereitstellen.

Optimierung der Bildkomprimierung

Empfehlenswert sind eine gute Komprimierungsrate für Bilder sowie moderne Formate.

Wie bei der Skalierung kann das Modul „PageSpeed“ (nur VMs und dedizierte Server) hier helfen. Auch manche Plugins oder Skripte können das übernehmen; in diesem Fall sollten Sie Ihre Website vorher sichern, da solche Komprimierungen Ihre Bilder manchmal verfälschen.

Fazit

Diese Tipps decken die häufigsten Fälle ab und sollten Ihnen helfen, die Leistung Ihrer Website und/oder Ihres Servers drastisch zu verbessern, das Nutzererlebnis zu steigern und so die Besucherbindung zu maximieren. Das ist erst der Anfang: Es gibt Tausende weitere Möglichkeiten, eine Website zu optimieren, jeweils abhängig vom Kontext. Deshalb empfehlen wir Ihnen, es nicht bei dieser Einführung zu belassen, sondern weiter zu recherchieren – insbesondere bei Websites mit hohem Traffic, wo die Optimierung den entscheidenden Unterschied machen kann.

Mehr Leistung benötigt?

Sie sind mit der Leistung Ihrer Website trotz dieses Leitfadens noch immer nicht zufrieden?

  • Noch kein HaiSoft-Kunde? Kontaktieren Sie unser Vertriebsteam über unsere Website
  • HaiSoft-Kunden: Wenden Sie sich per Ticket oder telefonisch an den HaiSoft-Support, um eine Lösung zu finden

← Alle Blogartikel