Optimierung von Online-Shops
Shopsysteme basieren meist auf Content Management Systemen (CMS), d.h. mächtigen Programmen, die alle Shopseiten (Kategorien, Artikeldetailseiten, Suchergebnisseiten etc.) dynamisch erzeugen. Dabei werden sogenannte Templates (Seitenvorlagen) mit aus Datenbanken selektiertem Content gefüllt.
Bei der Programmierung solch hochkomplexer Shopsysteme kommt die Suchmaschinenoptimierung oft zu kurz. Auf einige Besonderheiten bzw. häufig anzutreffende Probleme soll nachfolgend näher eingegangen werden.
Template-Optimierung
Bei Shops gelten im Prinzip dieselben Optimierungsregeln wie für "normale" HTML-Seiten auch. Ob ein Shop suchmaschinenfreundlich ist, hängt direkt davon ab, ob die verwendeten Seitenvorlagen suchmaschinenfreundlich sind. Shop-Optimierung ist somit Template-Optimierung.
- Das Schöne an einem Template ist, dass sich eine Änderung bzw. Optimierung sofort auf hunderten oder gar tausenden von Shopseiten auswirkt. Nach dem Prinzip "Kleine Ursache – große Wirkung" kann ein Shop schon mit wenigen gezielten Eingriffen deutlich suchmaschinenfreundlicher gemacht werden.
- Da jedes Template Teil eines komplexen Systems ist, dessen Komponenten genau aufeinander abgestimmt sind, kommt man bei der Optimierung leider schnell an Grenzen. Manche Verbesserungen sind schlicht unmöglich, andere nur mit unverhältnismäßigem Mehraufwand durch Umprogrammierung zu realisieren. Im Einzelfall kann es sogar besser sein, dass Shopsystem / CMS komplett zu wechseln.
- Da ein winziger Programmierfehler den gesamten Shop lahmlegen kann, sollten Änderungen am Template nur von erfahrenen Programmierern vorgenommen werden. Auf jeden Fall ist zuvor ein Backup anzulegen.
URL-Design
Mangelhaft konfigurierte Shopsysteme erzeugen oft unübersichtliche, nichtssagende URLs mit vielen Parametern, z.B.:
http://www.schlechtershop.xyz/catalog.asp?cid=47847&FES=%24SCID%5F939D9F82D8624A748E89A069D1698B7A%24VID%5F
Deutlich benutzer- und suchmaschinenfreundlichere URLs sind z.B.:
http://www.gutershop.xyz/handys/nokia-6555.html
oder
http://www.gutershop.xyz/catalog.php?handy=nokia&model=6555
- Halten Sie die URLs möglichst kurz! Das macht nicht nur einen besseren Eindruck, sondern erleichtert auch das Verschicken per Mail. Lange URLs werden in E-Mails umgebrochen und funktionieren beim Anklicken nicht mehr.
- Achten Sie darauf, dass dynamische URLs nicht mehr als zwei Parameter haben. Je mehr Parameter eine URLs hat, desto wahrscheinlicher wird sie von Google nicht in den Index aufgenommen.
- Wenn Sie mit Parametern arbeiten, kann es leicht passieren, dass ein Shop-Artikel unter mehreren URLs erreichbar ist. Damit Suchmaschinen keine doppelten Inhalte ("Duplicate Content") indizieren, sollte dies unbedingt vermieden werden.
Zur Kontrolle:
Wenn man nach Anklicken beliebiger Links zu einem bestimmten Artikel zurückkehrt, sollte die URL wieder identisch sein!
- Mit dem Apache-Modul "Modrewrite" können Sie dynamische Seiten mit Parametern in statisch wirkende HTML-Seiten umschreiben.
- Falls Sie mit Session-IDs arbeiten, die an die URL angehängt werden, sollten Sie darauf achten, dass diese vor den Suchmaschinen-Bots versteckt werden, damit die IDs nicht mit in den Index aufgenommen werden.
Ob Google Sessions indiziert hat, könnten Sie mit dem Befehl site:www.ihrshop.de herausfinden. Session-IDs erkennen Sie an einer meist 32-stelligen Zeichenfolge aus Buchstaben und Zahlen.
Schlecht: www.meinshop.de/nokia-handy-6555/sid/156dbe91b6542507446138d4d8a6b762
Gut: www.meinshop.de/cat/nokia-handy-6555/
Besser ist übrigens, wenn Sie mit Session-Cookies arbeiten, dann besteht diese Gefahr nicht.
Indizierung durch Suchmaschinen
Größere Online-Shops können 100.000 und mehr Seiten enthalten. Je größer ein Shop ist, desto wichtiger ist es darauf zu achten, welche Seiten von Suchmaschinen indiziert werden und welche nicht. Ziel ist, dass alle wichtigen Seiten vollständig erfasst werden, und andererseits unwichtige Seiten von der Indizierung ausgeschlossen werden.
- Zu den wichtigen Seiten gehören alle Kategorieseiten und alle Artikeldetailseiten. Damit diese vollständig von Google & Co. erfasst werden können, muss jede Unterseite über statische HTML-Links erreichbar sein. Content, der nur über Formular-Buttons erreichbar ist, kann von Suchmaschinen nicht gefunden werden!
Bei sehr großen und/oder tief verschachtelten Websites kann ergänzend eine Sitemap erstellt werden.
- Zu den unwichtigen Seiten, deren Indizierung zu vermeiden ist, zählen z.B. Ergebnisseiten von internen Suchabfragen. Wenn Such- oder Filterfunktionen über Links aufrufbar sind, sollten diese mit dem Nofollow-Attribut maskiert werden. Zusätzlich können auch die Ergebnisseiten mit der Meta-Angabe "noindex" von der Indizierung ausgeschlossen werden.
Content – Textinhalt
Online-Shops leiden oft unter chronischer Textarmut. Im Extremfall besteht der Content einer Artikel-Detailseite nur aus den Artikelbezeichnungen, welche aus den Katalogen und Produktlisten der Hersteller exportiert wurden. In Verbindung mit Bildern mag das für den Käufer ausreichen, für ein gutes Suchmaschinen-Ranking ist das aber zu wenig.
- Suchmaschinen lieben Text. Je mehr Textinhalt, desto besser! Eine kurze Artikelbeschreibung ist besser als gar keine. Drei Sätze sind besser als einer. Und drei Paragraphen sind besser als drei Sätze.
- Fragen Sie den Hersteller nach Artikelbeschreibungen.
- Wenn es keine gibt, verfassen Sie selbst welche!
- Wenn es welche gibt: Überprüfen Sie, ob diese bereits von anderen Shops verwendet werden. Falls ja, sollten Sie die Texte umformulieren.
- Texten Sie Beschreibungen für Ihre Produktkategorien – je informativer, desto besser.
- Vermeiden Sie doppelte Inhalte. Es bringt nichts, denselben Text identisch auf hunderten von Artikelseiten einzufügen.
- Wenn der Content Ihrer Artikeldetailseiten gering und kaum zu steigern ist, sollten Sie versuchen, das Template zu verschlanken, um das Verhältnis von individuellem zu fixem Content zu verbessern.
- Geben Sie Ihren Kunden die Möglichkeit, Produkte zu bewerten. Dies ist nicht nur hilfreich für andere User, sondern auch eine Möglichkeit, kostenlos individuellen Content zu generieren.
- Wenn Sie viele ähnlich lautende Artikel (z.B. Schrauben in verschiedenen Größen) ohne Produktbeschreibung anbieten, ist es keine gute Idee, für jeden Artikel eine eigene Detailseite zu generieren. In diesem Fall ist es besser, ähnliche Produkte auf einer Seite zusammenzufassen (z.B. alle Sechskantschrauben, alle Kreuzschlitzschrauben, alle Holzschrauben etc.)
Performance
Online-Shops sollten möglichst schlank und ressourcensparend programmiert werden. Das hat folgende Gründe bzw. Vorteile:
- Internet-Käufer vergleichen oft mehrere Shop-Angebote gleichzeitig, und sind durch dieses "Multitasking" recht sensibel in Bezug auf die Geschwindigkeit eines Shopsystems. Nichts nervt mehr als ein Online-Shop, dessen Suchfunktion oder dessen Seitenaufbau so langsam ist, dass man fast Wurzeln schlägt. Solche Seiten werden schnell weggeklickt – eine gute Performance des Shopsystems erhöht somit die Freude beim Einkaufen und damit die Kundenbindung.
- Auch Suchmaschinen-Robots haben es eilig und nur begrenzte Ressourcen. Millionen von neuen Websites wollen indiziert werden, daher sind die Kapazitäten, die pro Website zur Verfügung stehen, begrenzt. Dies gilt sowohl für die Ladezeit als auch für das Transfervolumen.
Da die Anzahl der in den Suchmaschinen-Index aufzunehmenden Shopunterseiten oft im 5-6-stelligen Bereich liegt, können kleine Änderungen der Seitengröße oder der Ladezeit in der Summe große Auswirkungen haben:
- lädt jede Shopunterseite nur 0,25 Sekunden schneller, braucht Google für die komplette Erfassung eines Shops mit 100.000 Unterseiten rund 7 Stunden weniger!
- ist jede Shopunterseite nur 10 KB schlanker, benötigt Google für die komplette Indizierung eines Shops mit 100.000 Unterseiten 1 Gigabyte weniger Speicherplatz!
Ein schlank und schnell programmiertes Shopsystem begünstigt somit die baldige und vollständige Aufnahme in den Google-Index, sowie in der Folge eine häufigere Update-Frequenz des Google-Bots.
Performance-Optimierung
Die Performance eines Online-Shops kann im Prinzip an drei Punkten optimiert werden:
- der HTML-Quelltext des Templates
Auf das Authoring schlanker, valider HTML-Seiten kann hier nicht näher eingegangen werden. Einige Tipps finden sich auf der Unterseite Quelltext.
- die Programmierung der Datenbank-Abfragen
Bezüglich der Performance-Optimierung von auf PHP/MySQL basierenden Shopsystemen empfehle ich die Website PHP Performance.
- die Geschwindigkeit und Konfiguration des Servers
Generell ist empfehlenswert, Shops auf einem möglichst schnellen Server zu hosten.
Konkret sollte der Server möglichst ressourcensparend konfiguriert werden:
- Komprimierung aktivieren
Z.B. sollten alle Textdateien (HTML, PHP, CSS, JS) in komprimierter Form an den Browser übertragen werden. Dies verkürzt die Ladezeit erheblich. Die komprimierte Auslieferung kann durch Module wie z.B. mod_gzip oder mod_deflate erreicht werden.
CSS- oder JS-Dateien werden auf diesem Weg meist nicht standardmäßig komprimiert. Dies kann durch folgenden Eintrag in der .htaccess erreicht werden (am Beispiel CSS):
<Files *.css>
SetOutputFilter DEFLATE
</Files>
Sind die Module mod_gzip oder mod_deflate nicht verfügbar, können dynamische Seiten auch durch den PHP-eigenen Befehl ob_gzhandler() komprimiert werden.