Magento Shop Geschwindigkeit optimieren

Magento ist eine sehr mächtige und umfangreiche Onlineshop-Lösung. Ein Nachteil dieses Umfangreichtums ist die Performance von Magento, die bei einer schlecht optimierten Installation zu wünschen übrig lässt. Wenn Ihr Onlineshop zu langsam ist verlieren Sie Kunden und Geld. Nach eigenen Angaben macht eine um 100ms längere Ladezeit bei Amazon.com einen Rückgang von 1% der Umsätze aus. Es ist also ratsam einen Onlineshop auf eine hohe Geschwindigkeit zu optimieren.

Brauchen Sie Hilfe bei der Optimierung Ihres Magento-Shops? Gerne stehen wir Ihnen zur Verfügung. Nehmen Sie unverbindlich mit uns Kontakt auf und wir zeigen Ihnen wie wir Ihren Shop schneller machen können. Einige Methoden um einen Magento-Onlinesop schneller zu machen finden Sie nachfolgend erklärt.

Wichtiger Hinweis: Bevor Sie die unten stehenden Änderungen und Anpassungen in Ihrem Shop vornehmen sollten Sie diese zuerst unbedingt auf einer separaten Installation Ihres Shops testen. Es ist nämlich möglich dass gewisse Anpassungen nicht mit Ihrem Hosting-Server oder von Ihnen eingesetzten Erweiterungen kompatibel sind. Prüfen Sie daher generell alle Änderungen welche Sie an Ihrem Shop vornehmen zuerst auf einer so genannten «Entwicklungsumgebung», um einen allfälligen Ausfall Ihres Shops zu vermeiden.

Den richtigen Hoster und das richtige Hosting-Angebot wählen

Die «Magento Hosting Partners» bieten speziell für Magento optimierte Server an

Die «Magento Hosting Partners» bieten speziell für Magento optimierte Server an

Für das Hosting eines Magento-Onlineshops empfiehlt sich die Miete eines so genannten «Virtuellen Server» oder «Dedicated Hosting». Bei dieser Art von Hosting steht Ihrem Onlineshop ein eigener Server und somit mehr Rechenkraft zur Verfügung. Abzuraten ist vom Betrieb eines Magento-Shops auf einem «Shared Hosting». Bei dieser Hosting-Art teilen Sie sich Ihren Server mit anderen Mietern, was zu starken Geschwindigkeitseinbussen führen kann, besonders in Zeiten mit grossem Ansturm auf Ihren Shop.

Es gibt verschiedene Hoster deren Server von Grund auf für Magento optimiert sind. Viele davon sind bei Magento als «Hosting Partner» registriert und auf der Magento Webseite aufgeführt.

«memory_limit» auf dem Server erhöhen

Je mehr Speicher Magento zur Verfügung steht desto besser. Klären Sie mit Ihrem Host den maximal zur Verfügung stehenden Arbeitsspeicher ab und weisen Sie Ihrem Server diesen zu. Bei einem Apache Server geschieht dies einfacherweise mittels folgendem Eintrag in der .htaccess-Datei:

php_value memory_limit 1000M

In diesem Beispiel würde der Arbeitsspeicher auf 1000MB erhöht.

gzip- & zlib-Kompression von allen Dateien

Bevor die Daten von Ihrem Server an den Webseitenbesucher gesendet werden sollten diese komprimiert werden. Dadurch wird einerseits die Last auf den Server reduziert (da er weniger Daten senden muss) sowie auch die zu übertragende Datenmenge reduziert. Um die Komprimierung bei einem Apache-Server vorzunehmen muss wiederum ein Eintrag in die .htaccess-Datei eingefügt werden:

<IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
</IfModule>

php_flag zlib.output_compression on

Query Caching in der MySQL-Datenbank aktivieren

Mit «Query Caching» können häufig ausgeführte Datenbankabfragen zwischengespeichert werden. Magento greift beim Aufrufen einer Seite bis zu 300-mal auf die interne Datenbank zu. Wenn diese häufig ausgeführten Datenbankabfragen zwischengespeichert werden reduziert sich die Last auf den Datenbankserver und die Abrufzeit wird minimiert. Um diese Funktion zu aktivieren muss folgender Eintrag in die my.conf-Datei eingefügt werden:

query_cache_size=32M

Falls Sie keinen Zugriff auf die my.conf Datei haben, fragen Sie Ihren Host, dies für Sie vorzunehmen.

Datenbank-Tabellen reparieren & optmieren

Wählen Sie zuerst alle Tabellen aus und danach hintereinander «Repariere Tabelle» und dann «Optimiere Tabelle»

Wählen Sie zuerst alle Tabellen aus und danach hintereinander «Repariere Tabelle» und dann «Optimiere Tabelle»

Von Zeit zu Zeit sollten die Datenbank-Tabellen repariert und optimiert werden. Installation und Deinstallation von Modulen sowie Änderungen in der Konfiguration von Magento können die Datenbank in einen unordentlichen Zustand versetzen, was die Abfragegeschwindigkeit verlangsamt.

Um die Magento-Datenbank mittels phpMyAdmin zu reparieren ist wie folgt vorzugehen:

  • Sicherheitsbackup erstellen
  • In der Übersicht alle Tabellen auswählen
  • Die Option «Repariere Tabelle» und danach «Optimiere Tabelle» auswählen

Dauer des Browser-Cache erhöhen

Wenn ein Besucher Ihren Magento-Onlineshop besucht werden beim erstmaligen Laden gewisse Inhalte im Browser des Besuchers zwischengespeichert. Dies ist nützlich, wenn verschiedene Inhalte mehrmals verwendet werden. Haben Sie zum Beispiel ein Logo im Kopfbereich Ihres Shops, das auf jeder Seite erscheint, so wird dieses im Browser des Besuchers zwischengespeichert und muss nur einmalig heruntergeladen werden. Dies reduziert natürlich die Last auf Ihren Server und optimiert die Übertragungsgeschwindigkeit. Damit diese Inhalte möglichst lang im Browser eines Besuchers zwischengespeichert werden ist folgender Eintrag in der .htaccess-Datei eines Apache-Servers vorzunehmen:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

Alle Bilder optimieren

Wenn Sie Bilder auf Ihren Server laden, zum Beispiel Produktfotos oder Design-Elemente Ihres Themes, so sollten diese für die Web-Darstellung optimiert werden. Achten Sie zudem darauf, dass immer genau die effektiv verwendete Auflösung hochgeladen wird. Wenn Sie also zum Beispiel Ihre Produktfotos mit einer hochauflösenden Spiegelreflexkamera mit einer Auflösung von 3000x3000px aufnehmen, so sollten diese vor dem hochladen auf den Server zurechtgeschnitten und optimiert werden.

Photoshop bietet die Funktion «Fürs Web speichern» an, welche auf jeden Fall verwendet werden sollte. Zusätzlich gibt es einige Gratisprogramme, welche viele Bilder aufs mal komprimieren können. Gute Erfahrungen haben wir mit ImageOptim für Mac OS X gemacht. Damit lassen sich selbst mit Photoshop gespeicherte Bildern noch um einige Prozent reduzieren.

Javascript- und CSS-Dateien komprimieren und minimieren

Javascript- und CSS-Dateien sollten auf jeden Fall komprimiert werden

Javascript- und CSS-Dateien sollten auf jeden Fall komprimiert werden

Magento verwendete eine Vielzahl verschiedener Javascript- und CSS-Dateien für das Design und die Funktionalität Ihres Onlineshops. Müssen alle diese Dateien einzeln vom Server abgerufen werden erhöht dies die Ladezeit Ihres Shops. Glücklicherweise bietet Magento eine Funktion die diese Dateien kombiniert und gleichzeitig komprimiert. Diese Funktion sollte auf jeden Fall aktiviert sein. Gehen Sie dazu wie folgt vor:

  • Rufen Sie Ihre Shop-Administration auf und melden Sie sich an
  • Wechseln Sie zu folgender Option: System -> Konfiguration -> Entwickleroptionen
  • Stellen Sie sicher dass unter «JavaScript Einstellungen» und «CSS Einstellungen» die beiden Optionen beide auf «Ja» gesetzt sind

Magento-Log deaktivieren

Magento führt im Hintergrund eine sehr detallierte Log-Datei die sämtliche Vorgänge im Shop protokolliert. Dies ist sehr nützlich um während der Entwicklung Fehler ausfindig zu machen. Im produktiven Betrieb hingegen ist diese Funktion eher unnötig, da sie den Server zusätzlich beansprucht. Aus diesem Grund ist dieses interne Log wie folgt zu deaktivieren:

  • Rufen Sie Ihre Shop-Administration auf und melden Sie sich an
  • Wechseln Sie zu folgender Option: System -> Konfiguration -> Entwickleroptionen -> Log Einstellungen. Wählen Sie dort unter «Aktiviert» die Option «Nein»
  • Rufen Sie danach folgende Option auf: System -> Konfiguration -> Erweitert -> Modulausgaben deaktivieren. Setzen Sie dort unter «Mage_Log» die Option auf «Deaktivieren»

Kompilierung von Magento aktivieren

Der «Compiler» ist ein Werkzeug welches die vielen verschiedenen Magento-Dateien, die in einer komplexen Ordnerstruktur verstreut liegen, zusammenfasst. Dadurch benötigt Magento weniger Zeit zum zusammensuchen der verschiedenen Dateien, was die Ladezeit optimiert. Um den Compiler zu aktivieren gehen Sie wie folgt vor:

  • Rufen Sie Ihre Shop-Administration auf und melden Sie sich an
  • Wechseln Sie zu System -> Werkzeuge -> Compiler. Klicken Sie dort auf den Button «Kompilierungsprozess starten». Der Compiler ist nun aktiviert

Weitere Optimierungsmöglichkeiten...

Dies war eine Zusammenfassung der einfachsten und am häufigsten angewendeten Optimierungsmethoden um die Geschwindigkeit Ihres Magento-Shops zu erhöhen. Daneben gibt es noch tausend andere Möglichkeiten wie Sie Ihren Onlineshop und Ihren Server schneller machen können.

Wenn Sie interessiert sind an einer umfassenden Analyse und Optimierung Ihres Onlineshops, stehen wir Ihnen gerne zur Verfügung. Nehmen Sie einfach unverbindlich mit uns Kontakt auf, und wir helfen Ihnen bei der Geschwindigkeitsoptimierung Ihres Shops.

Weitere interessante Artikel:

Zur Blog-Übersicht