Magento-Ladezeit optimieren – Einfache Maßnahmen mit großer Wirkung

Dieser Beitrag richtet sich an Personen, die das Gefühl haben ihr Shop ist schlicht langsam. Wie kann überhaupt ermittelt werden, ob der Shop wirklich langsam ist? Und vor allem wie kann der Magento Shop in der Ladezeit verbessert werden? Dies ist eine häufige Frage besonders von Online Shops ohne professionelle Betreuung.

Ein kleiner Crash-Course in die Faktoren der Ladezeit eines Magento Shops

Um überhaupt die Ladezeit zu verbessern, ist es zunächst gut zu wissen welche generellen Faktoren Einfluss auf diese haben. Die Ladezeit eines Shops basiert auf verschiedenen Faktoren. Die Faktoren sind:

Die zu ladende Dateien

Ein Shop basiert auf verschiedensten Dateien. Dazu gehören Bilder, html Code aber auch z.B. Java Script oder CSS Code. All das muss logischerweise im Browser des Besuchers landen und erst dann kann es angezeigt werden. Je größer der Umfang ist umso länger dauert es

Die Menge an Dateien

Dummerweise hat jeder Browser ein Limit an Dateien die gleichzeitig von einer Domain geladen werden können. Es können meist nur 15 Dateien gleichzeitig runtergeladen werden. Wenn ein Online Shop nun eine riesige Menge an Dateien hat, werden diese alle nacheinander runtergeladen.

Die Zeit bis zum ersten runterladen (time to first byte)– Wie schnell der Server arbeitet

Das Runterladen kann jedoch auch erst starten, sobald der Server die Daten ausliefert. Wobei hier Server sowohl für die Hardware wie auch für alles andere steht was auf dem Server abläuft. Das bedeutet ein Server der schnelle Hardware hat, kann deutlich schneller Inhalte ausliefern. Aber ein extrem hohen Anteil hat auch die Server Software. Durch gute Konfiguration und Zwischenspeicher kann ein Server viel schneller Inhalt ausliefern.

Der lokale Zwischenspeicher im Browser – jedoch erst für erneuten Besuch

Ein Browser speichert sinnvollerweise Inhalte zwischen. Somit muss nicht bei jedem Aufruf komplett alles neu geladen werden. Das wirkt sich leider aber erst bei erneutem Besuchen der Seite aus. Es können und sollten aber auch generelle Inhalte in den Browserspeicher gelegt werden. Angenommen der Shop hat ein Hintergrundbild. Dieses wird beim erstmaligen Besuch geladen. Ab dann ist es jedoch im Browser und kann je nach Konfiguration die nächsten 30 Tagen dort bleiben. Das bedeutet wenn der Besucher selbst in 2 Wochen erst wieder im Shop surft sind solche Dateien sofort verfügbar. Das beschleunigt den Shop für einen Besucher extrem.

Es wirkt sich aber auch auf das normale Surfen sehr positiv aus. Weil auch Dinge wie CSS Dateien eben nur einmalig geladen werden müssen und beim nächsten Klick sofort vorhanden sind.

Die Art des Browsers und Rechner Ausstattung

Browser sind unterschiedlich schnell. Dazu sind Laptops und PCs unterschiedlich gut ausgestattet. Weiter sind je nach Überlastung des PCs die Leistung des Browsers stark eingeschränkt. Generell ist der Google Chrome Browser aktuell der schnellste Browser. Wenn sich Kunden z.B. beschweren, dass der Shop sehr langsam ist, ist es somit nicht verkehrt zu fragen ob diese unter anderem Internet Explorer verwenden.

Schritt 1: Die Ladezeit des Shops messen

Die Ladezeit des Shops sollte nicht einfach über normales Surfen bewertet werden. Der riesige Nachteil dabei ist, dass die Ladezeiten zum Großteil von der eigenen Internetgeschwindigkeit und dem eigenen PC/Laptop bestimmt werden. Selbst ein miserabler Online Shop hat mit einer 50.000 DSL Leitung immer noch ein durchaus vernüftige Ladezeit. Wenn dieser jedoch per Smartphone ohne(!) WLan aufgerufen wird, ist das surfen unmöglich.

Als Tool eignet sich dort z.B. Google PageSpeed Tools

Dort einfach die eigene url zum Shop eingeben und es gibt eine sehr detaillierte Übersicht über verschiedenste Punkte die es zu verbessern gilt. Bevor Sie nun aber starten dort alle Punkte abzuarbeiten hier die Punkte, die am meisten Probleme macht

Schritt 2: Magento Cache aktivieren – extrem hohe Wirkung

Magento selbst hat bereits ein Cache System was das schnellere Anzeigen von z.B. stattischen Blöcken und anderen Inhalten ermöglicht. Diese muss auf jeden Fall aktiviert werden.

Es befindet sich:

Admin -> System -> Cache Verwaltung

Dort alle Caches anklicken und rechts im drop down Menü auf „aktivieren“ klicken

Schritt 3: Magento Compiler aktivieren – extrem hohe Wirkung

Weiter hat Magento einen integrierten Compiler. Dieser Compiler dient dazu, dass gewisse PHP Berechnungen nicht laufend durchgeführt werden müssen sondern zwischengespeichert werden.

Es befindet sich:

Admin -> System -> Werkzeug -> Compiler

Die Wirkung hiervon ist meist extrem. Jedoch machen einige Erweiterungen teilweise Probleme mit aktiviertem Compiler. Daher ist es unbedingt notwendig nach Aktivierung den Shop einmal durchzutesten.

Schritt 4: Bilder überprüfen

Bilder sind ein häufiges Problem. Häufig werden Bildern in den komplett falschen Dateiformaten und viel zu groß hochladen. Das Problem ist, dass gewisse Bilder im Shop zwar „klein“ angezeigt werden aber diese technisch nur zusammengeschrumpft werden. Somit wird komplett unnötig ein z.B. 4 MB großes Bild geladen was aber in einem Bereich angezeigt wird in dem auch 100kb also 1/40 ausgereicht hätte.

Die Häufigen Fehler sind, dass Fotos als png abgespeichert werden. Jegliche Art von Bild-Datei auf der ein Motiv zusehen ist was auf einem echten Foto basiert, muss immer als jpeg gespeichert werden. png oder gif sind für diese Art von Motiven ungeeignet, da diese viel mehr Speicherplatz benötigen.

Rein Logos mit klaren Linien ohne Verläufe sollten als png oder gif Datei gespeichert werden. Jegliche Andere Fotos sind als jpeg zu speichern.

Je nach Bild kann eine Speicherung eines png Bilds als jpeg bereits mehr als 50% weniger Speicherbedarf bedeuten.

Im Bereich PageSpeed Tools gibt es eine Sektion zu Bildern. Dort wird angezeigt,welche Bilder optimiert werden müssen.

Hier gilt es jedes Bild abzuarbeiten und zu prüfen wie und wo dieses eingebunden ist. Dann ist es meist nötig das Bild runterzuladen und mit einem Bildbearbeitungsprogramm zu öffnen. Nun kann getestet werden, wie es abgespeichert werden kann, um die Dateigröße des jeweiligen Bildes zu verringern.

Wichtig ist dort jeden Bereich zu prüfen. Wenn Sie dort Ihre Homepage/Startseite eingeben wird auch nur diese überprüft. Das bedeutet es sollten mindestens geprüft werden

  • Homepage/Startseite
  • Kategorielevel (mit z.B. Kategoriebild und anderen Bildern links/rechts in Spalten)
  • Produktlevel (mit evtl. Logos und anderen Dingen)
  • Themenseiten (z.B. über uns)

Dies ist meist die meiste Arbeit. Aber hat auch oftmals die größte Wirkung. Leider sind in vielen Shops insbesondere die Slider auf der Startseite mit viel zu großen Bildern hinterlegt. Neben Bildern sind auch PDFs oft Kandidaten, die in zu großer Auflösung (Print Qualität statt Web Qualität) abgespeichert werden.

Schritt 5:Browser Caching aktivieren

Das Browser Caching sollte unbedingt aktiviert werden. Es ist jedoch nötig, dass das Ihr Hosting Anbieter durchführt oder Sie entsprechend selbst in den Settings von Magento auf dem Server.

Das Browser Caching bewirkt, dass beim Laden des Shops der Browser Infos erhält was für Dateien wie lange im lokalen Speicher bleiben sollen. Sprich wenn der Browser einen Besuchers z.B. die CSS Dateien runterlädt, wie lange diese lokal im Browser sein sollen.

Wenn sich gewisse Inhalte häufig ändern, sollte der Browser Cache für diese Dateien niedrig eingestellt werden. Oder es muss im Hinterkopf behalten werden, dass einige User womöglich veraltete Inhalte sehen.

Die Einstellungen können in der .htaccess-Datei eingestellt werden. Diese befindet sich im root Ordner von Magento. Jedoch gilt folgende Beispiel nur für Apache Webserver.

Suchen Sie dort nach „mod_expires“

Dort gibt es einen Block der wie folgt aussieht oder aussehen sollte:

ExpiresActive On
 
ExpiresByType text/html "access plus 500 seconds"
 
ExpiresByType image/gif "access plus 14 days"
 
ExpiresByType image/ico "access plus 14 days"
 
ExpiresByType image/jpeg "access plus 14 days"
 
ExpiresByType image/jpg "access plus 14 days"
 
ExpiresByType image/png "access plus 14 days"
 
ExpiresByType text/css "access plus 14 days"
 
ExpiresByType text/javascript "access plus 14 days"
 
ExpiresByType application/x-javascript "access plus 14 days"
 
ExpiresByType application/javascript "access plus 14 days"

(Quelle: https://www.hosteurope.de/blog/browser-caching/)

Je nach Dateityp kann dort die Dauer eingestellt werden.

Schritt 6: Server Settings für Magento prüfen

Kontaktieren Sie Ihren Hosting Anbieter und fragen Sie diesen ob Optimierungen zur Ladezeit für Magento möglich sind. Hier geht es um verschiedenste Dinge die nicht generell beantwortet werden können. Dazu zählen z.B. schnellere Zugriff auf die Dateien durch eine schnellere Festplatte. Oder auch das Einsetzen von speziellen PHP Caches, die zusätzlich zum Magento Compiler arbeiten. Hier ist jedoch viel Fachwissen nötig was nur Ihr Serverbetreiber hat. Als reiner Magento Betreiber kann und sollte dort nicht an Einstellungen „rumgespielt“ werden.

Die Geschwindigkeit einer Magento Webseite gehört zu wichtigsten Usability-Aspekten. Die Usability hat Auswirkungen auf das Verhalten der Besucher und somit auch Umsätze eines Onlineshops. Wie bekannt ist die schnelle Ladezeit auch ein Faktor für besseres Google Ranking. Darum sollte die Verbesserung der Ladezeiten auch als eine Maßnahme zur Magento Suchmaschinen Optimierung betrachtet werden.