Performance-Tipp für Gambio: Sprachverzeichnis via .htaccess ansteuern

Wenn Sie sich schon einmal das Gambio-Modul zur Ladezeitoptimierung zu Gemüte geführt haben, kennen Sie unser Faible für die Performancesteigerung. Wie kaum ein anderer Teilbereich der OnPage-Optimierung vereint sie Suchmaschinenoptimierung und Verbesserung der Benutzererfahrung. Sofern Sie Gambios Fähigkeit zur Mehrsprachigkeit nutzen und die URLs Ihres Onlineshops Sprachcodes enthalten, sollten Sie diesen Tipp beherzigen.

Welcher Onlineshop kann profitieren?

Virtuelle Sprachverzeichnisse im Onlineshop

Der nachfolgende Performance-Tipp ist für Sie nur relevant, wenn Sie im Gambio-Admin unter Shop Einstellungen > SEO im Reiter Gambio SEO Boost die Option Sprachcode in URLs integrieren aktiviert haben. Das heißt, Ihr Shop verfügt über sprachspezifische virtuelle Verzeichnisse à la ihrshop.com/de oder ihrshop.com/en.

Die Integration der Sprachcodes in die URL macht natürlich nur dann Sinn, wenn Ihr Shop mehrsprachig ist. Mit anderen Worten: Unter Shop Einstellungen > Land/Steuer > Sprachen haben Sie mindestens zwei Sprachen, z.B. deutsch und englisch aktiviert.

Voraussetzung für die 1:1-Übernahme in den nachfolgenden Abschnitten genannter Zeilen ist auch, dass der Apache-Webserver mit aktiviertem mod_rewrite für die Auslieferung von HTML-Dokumenten zuständig ist und RewriteRules in der .htaccess-Datei berücksichtigt. Sollte eine dieser Bedingungen nicht erfüllt sein, werden Sie aufgrund derselben Problematik in Zusammenhang mit den Sprachverzeichnissen bereits wissen, wie die alternative Konfiguration erfolgen kann.

Code für die Performance-Optimierung

Die Spracherkennung konnten Sie auch schon im Gambio-Admin aktivieren.

Der Code für die Performance-Optimierung steht in zwei Varianten zur Verfügung. Entscheiden Sie selbst, ob Sie sich auf die automatische Sprachauswahl anhand der Browsersprache verlassen möchten oder nicht. Diese Entscheidung sollten Sie übrigens schon vorher getroffen haben. Denn im Gambio-Admin unter Shop Einstellungen > Land/Steuer > Sprachen ist mit der Option Sprache anhand der Browsersprache automatisch auswählen genau diese Funktionalität zum Ansteuern der Sprachverzeichnisse schon vorhanden – allerdings viel zu langsam 😉

Bitte beachten Sie, dass das Einfügen nachfolgender Codes die automatische Spracherkennung seitens Gambios – sofern Sie sie aktiviert hatten – außer Kraft setzt.

Ohne automatische Spracherkennung

Ohne automatische Spracherkennung heißt, dass die Besucher Ihres Shops sämtlichst in das virtuelle Verzeichnis geleitet werden, das die Standard-Sprache repräsentiert. In den meisten Fällen ist das also ihrshop.com/de. Für diese Weiterleitung müssen wir nicht erst die PHP-Engine anschmeißen, geschweige denn irgendwelche Datenbankabfragen tätigen.

Fügen Sie einfach folgenden Code in die .htaccess-Datei im Wurzelverzeichnis Ihres Shops, nach den Direktiven

RewriteEngine On
RewriteBase /

ein:

# Weiterleitung in /de/-Verzeichnis
RewriteRule ^$ /de/ [L,R=301]

Sollte Ihr Shop in einem Unterverzeichnis, z.B. /shop installiert sein, passen Sie die RewriteRule bitte wie folgt an:

RewriteRule ^shop/?$ /shop/de/ [L,R=301]

Mit automatischer Spracherkennung

Auch für die Erkennung der im Webbrowser eingestellten Sprache brauchen wir weder PHP, noch eine Datenbankverbindung. mod_rewrite ermöglicht uns den Zugriff auf die entsprechenden Informationen aus dem Request-Header. Kopieren Sie hierfür einfach folgende Zeilen in Ihre .htaccess-Datei, wiederum nach den Direktiven

RewriteEngine On
RewriteBase /
# Spracherkennung und Weiterleitung
RewriteCond %{HTTP:Accept-Language} ^de.*$ [NC]
RewriteRule ^$ /de/ [L,R=301]
RewriteCond %{HTTP:Accept-Language} ^en.*$ [NC]
RewriteRule ^$ /en/ [L,R=301]

Die Response-Header inklusive „301er Weiterleitung“ entsprechen genau denen, die auch Gambio ausgeben würde.

Performancesteigerung: 58,6%

Ein paar kurze Tests mit ApacheBench zeigen eine Steigerung der Webserver-Leistung um satte 58,6% dank des Eintrags in der .htaccess-Datei.

Webserver-Leistung ohne .htaccess-Eintrag:

Requests per second:    23.09 [#/sec] (mean)
Time per request:       43.300 [ms] (mean)

Webserver-Leistung mit .htaccess-Eintrag:

Requests per second:    36.57 [#/sec] (mean)
Time per request:       27.344 [ms] (mean)

Da es in beiden Fällen nur um eine über die HTTP-Response-Header abgewickelte Weiterleitung geht, ist die absolute Zeitersparnis mit 0,016 Sekunden zugegebenermaßen gering. Je nach sonstiger Auslastung des Servers, kann der Wert jedoch schwanken und durchaus wahrnehmbare Zehntelsekunden ausmachen.

Des Weiteren handelt es sich bei der Startseite Ihres Onlineshops in der Regel um die am häufigsten besuchte Seite. Sie ist für einen möglichst positiven ersten Eindruck bei potenziellen Kunden verantwortlich. Entsprechend sollte sie nicht unnötige Millisekunden auf ihren Aufruf warten müssen.

Zu guter Letzt: Die 1-4 Zeilen werden Ihren Gambio-Shop im Google-Ranking nicht nach oben katapultieren. Sie können Ihnen jedoch helfen, den Optimierungsvorschlag Antwortzeit des Servers reduzieren bei der Analyse mit PageSpeed Insights zumindest für die Startseite als erledigt abzuhaken. Für (fast) alle weiteren Optimierungsvorschläge gibt es das Gambio-Modul zur Ladezeitoptimierung.

In puncto Suchmaschinenoptimierung sei Ihnen außerdem die Lektüre des Blog-Beitrags zur Korrektur der robots.txt als SEO-Tipp für Gambio ans Herz gelegt.

Ähnliche Optimierungstipps

Vorab wieder der Bonus Tipp am Rande: Auch eine aufgeblähte .htaccess-Datei wirkt sich negativ auf die Performance aus. Sofern Sie Zugriff darauf haben, ist es immer günstiger, RewriteRules etc. in eine Konfigurationsdatei des Webservers einzutragen und ihm mitzuteilen, Verzeichnisse nicht nach .htaccess-Dateien zu durchsuchen. Bei Apache erfolgt dies mittels der Direktive AllowOverride None und spart wertvolle Millisekunden bei jedem Request.

HTTPS: Machen Sie den Test

Glauben Sie, die Weiterleitung von HTTP auf HTTPS sei korrekt eingerichtet? Dann stellen Sie Ihren Shop auf den Prüfstand mit dem kostenlosen Redirect Check von Seobility (*).

Über Gambio hinaus

Natürlich ist Gambio nicht die einzige Webanwendung, die virtuelle Verzeichnisse für unterschiedliche Sprachen verwendet. Das oben geschilderte Vorgehen birgt Optimierungspotenzial für jede Website, bei der eine sprachabhängige Weiterleitung auf Ebene der Software erfolgt.

Wenig überraschend ist, dass WordPress mal wieder den Performance-Vogel abschießt. Ein Plugin namens qTranslate-X bietet ebenfalls die Option von Weiterleitungen anhand der Browser-Sprache. Steigerungspotenzial für die Performance bei RewriteRules statt qTranslate-X Spracherkennung: 1.700%. Nein, das ist kein Tippfehler, sondern WordPress.

Nicht nur das Sprachverzeichnis

Das Prinzip der performanteren Weiterleitung auf Ebene der Webserver-Konfiguration oder .htaccess-Datei statt innerhalb der Anwendung gilt natürlich keineswegs nur für die Sprachcode-Weiterleitung, also die Spracherkennung und Sprachverzeichnisse. Es gilt ebenso für die Weiterleitung von http auf https, non-www auf www oder umgekehrt. Insbesondere bei diesen typischen Fällen, die durch Type-in oder inkorrekte Links zur Ihrem Onlineshop entstehen, lohnt sich die Mühe durchaus, Weiterleitungsregeln für mod_rewrite zu definieren.

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links. Wenn Sie auf so einen Affiliate-Link klicken und über diesen Link eine Bestellung tätigen, bekomme ich von dem betreffenden Anbieter eine Provision. Für Sie verändert sich der Preis nicht.

»«

Schreiben Sie einen Kommentar