Samstag, 21. März 2009

Magento-Optimierung - Der ultimative Guide

Der vorliegende Blogpost stellt eine Schritt-für-Schritt-Anleitung für eine solide Suchmaschinenoptimierung von Magento dar.

Das erste stabile Release von Magento ist nun bald ein Jahr alt. Aber es gibt immer noch kein echtes Handbuch für die Suchmaschinenoptimierung von Magento. Auch wenn im Magento-Forum und diversen Blogposts schon viel geschrieben worden ist, fehlt noch immer eine vollständige Übersicht über das Thema. Es wird also Zeit, das Wissen und die Erfahrung in einem Dokument wiederzugeben, dem ultimativen Magento-SEO-Leitfaden.

Der vorliegende Artikel basiert auf dem Blogpost "Magento SEO" von Joost de Valk. Joost ist Webentwickler und beschäftigt sich bereits seit längerem mit Thema Suchmaschinenoptimierung.

Lassen Sie uns daher mit der Optimierung von Magento beginnen:

1. Grundlegende, technische Optimierung

1.1. Allgemeine Konfiguration
Magento gehört mit Sicherheit bereits standardmäßig zu den suchmaschinen-freundlichsten e-Commerce-Lösungen, aber es gibt einige bekannte Punkte, die man berücksichtigen muss. Zunächst sollten Sie sich das aktuelle Release besorgen und dann „Verwende Webserver Rewrites“ auf „Ja“ setzen. Sie finden dieses unter System => Konfiguration => Web => Suchmaschinenoptimierung. Wenn Sie schon in dieser Maske sind, können Sie auch gleich unter „URL-Options“ „Add store Code to Urls“ konfigurieren. Hier ist es meistens ratsam, „Nein“ auszuwählen.


1.1.1. WWW vs non-WWW
Unter “Ungesichert” und “Sicher” finden Sie das Feld „Base URL“, in das Sie die gewünschte Domain eintragen können. Zur Auswahl steht die Version mit www und ohne www. Wenn Sie die Einstellungen ändern, erstellen Sie keine Umleitung von der www-Version auf die nicht-www-Version oder umgekehrt. Aber Sie stellen die bevorzugte Version ein. Es ist ratsam, über die htaccess-Datei und mod-rewrite einen 301-redirect zu erstellen. Wenn Sie die htaccess-Datei bearbeiten, können Sie folgenden Code einfügen, um die index.php auf das Root-Verzeichnis umzuleiten.

Ungefähr in Zeile 122:

RewriteBase / RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://www.meinedomain.de/ [R=301,L]

Wenn sich Ihre Magento-Installation nicht im Root-Verzeichnis befindet, sondern in einem Unterverzeichnis http://www.meinedomain.de/magento/:

RewriteBase /magento/ RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /magento/index.php HTTP/
RewriteRule ^index.php$ http://www.meinedomain.de/magento/ [R=301,L]


1.2. Einstellungen für die Überschriften
Standardmäßig wird Magento mit der Überschrift “Magento Commerce” installiert. Damit Ihr Magento-Shop den Traffic erhält, den er verdient, sollten Sie folgendes im Kopf behalten:
Suchmaschinen geben den ersten Wörtern mehr Gewicht. Wenn Ihre Schlüsselwörter am Anfang des Seitentitels stehen, wird das Ranking dafür besser.
Die ersten Wörter werden beim Scan durch die Ergebnisse eher gesehen. Stehen Ihre Schlüsselwörter also am Anfang der Liste, wird häufiger auf Ihre Seite geklickt.

Als erstes sollten Sie den Default-Titel “Magento Commerce” entfernen. Gehen Sie unter System in Konfiguration => Gestaltung => HTML Kopf (Head). Tragen Sie dort einen guten und beschreibenden Titel für Ihre Website ein. Denn dieser Titel wird für verschiedene statische Seiten verwendet, die keinen eigenen Titel besitzen, z.B. Suchbegriffe und Sitemap.

Wenn Ihr Store-Name in allen Seitentiteln erscheinen soll, also auch auf Produkt- und Kategorie-Seiten, dann müssen Sie ihn in das Feld "Title Suffix" eintragen. Aber aus den oben genannten Gründen ist es besser, das Feld leer zu lassen. Sie sollten auch die Felder „Standardbeschreibung“ und „Standardkeywords“ leer lassen. In einer Testumgebung können Sie im Feld „Standardrobots“ "NOINDEX, NOFOLLOW" auswählen. In Produktivumgebungen muss es aber immer "INDEX, FOLLOW" sein.
Als nächstes wird der des Stores optimiert. Dazu sollte das neue canonical-Tag verwendet werden. Dafür gibt es eine eigene Extension für Magento, die installiert werden kann.

Aus welchem Grund auch immer verwandelt Magento nicht gesetzte Meta-Robots in Tags folgender Form:

<meta name="robots" content="*" />

Daraus kann sich bei den Suchmaschinen ein merkwürdiges Verhalten ergeben, so dass es besser entfernt wird. Dazu kann das Yoast MetaRobots Module verwendet werden.


1.3. CMS-Seiten
Auf den ersten Blick meint man, dass Magento keine echten CMS-Funktionalitäten aufweist. Für die meisten Fälle ist das CMS jedoch ausreichend flexibel und mächtig. Einer der Vorteile dieses einfachen CMS liegt darin, dass jeder Aspekt der Seiten kontrolliert werden kann. Sobald die CMS-Seiten mit Inhalten gefüllt sind, müssen eine suchmaschinenfreundliche URL und ein Titel ausgewählt werden (unter Berücksichtigung der Hinweise aus Kapitel 1.2). Im Menüpunkt „Metadaten“ können Sie eine Beschreibung für jede CMS-Seite erstellen, mit der diese in den Suchergebnissen angezeigt werden soll.

Das Feld “Keywords” kann leer bleiben. Die Beschreibung hat eine wichtige Aufgabe: Die Benutzer dazu zu bewegen, die Seite anzuklicken. Also muss die Beschreibung darüber informieren, was auf der Seite zu finden ist und die Aufmerksamkeit darauf lenken. Eine gute Beschreibung ist also immer von Hand geschrieben. Und wer darüber nachdenkt, das Meta-Tag „Description“ generieren zu lassen, kann das auch gleich sein lassen und es den Suchmaschinen überlassen, das Snippet zu generieren…
Wenn Sie die Meta-Description nicht verwenden, werden die Suchmaschinen das Schlüsselwort in Ihrem Dokument finden und eine Zeichenkette aus dem Umfeld des Begriffs verwenden. Daraus entstehen ein oder zwei fette Begriffe in der Ergebnisseite.


1.4. Optimierung der Kategorie
In Magento kann man den Namen der Kategorie in den Pfad der Produkt-URLs einfügen. Aber diese Funktionalität wird nicht besonders gut unterstützt, denn es wird Duplicate Content erzeugt. Deshalb ist es besser, diese Funktion zu deaktivieren. Das passiert unter System => Konfiguration => Katalog =>Suchmaschinen Optimierung. Setzen Sie dort „Verwende Kategoriepfad für Produkt-URLs“ auf „Nein“.
Jetzt ist es Zeit, die Details für die einzelnen Kategorien festzulegen. Gehen Sie dazu unter Katalog => Kategorien verwalten. Die wichtigsten Felder sind:

Meta Beschreibung: Tragen Sie hier eine attraktive Beschreibung ein und denken Sie daran, dass die Benutzer diese Beschreibung auf den Ergebnisseiten der Suchmaschinen sehen.
Seitentitel: Lassen Sie dieses Feld leer, um den Kategorienamen mit den übergeordneten Kategorien zu verwenden. Wenn Sie ihn individualisieren, entspricht der Titel dem Input ohne die Eltern-Kategorien.

Seitentitel: Bemühen Sie sich um eine kurze URL mit vielen Schlüsselwörtern. Entfernen Sie Stopwörter wie „der“, „die“, „für“ usw. Das lässt allerdings nur gemeinsam für alle Store Views einstellen. Für mehrsprachige Stores sollte das Ganze sprachunabhängig sein.
Für jeden Storeview können Sie Name, Description, Seitentitel und Meta-Daten festlegen. Für mehrsprachige Shops ist das wirklich ein tolles Feature.


1.5. Produkte optimieren
Die Optimierung von Produktseiten ähnelt der von Kategorien. Sie können die Meta-Daten für „Defaultwerte“ und für jeden Store View festlegen. Vergessen Sie nicht, dass der Meta-Titel den kompletten Seitentitel überschreibt, also einschließlich der Kategorien, aber ohne Titel Präfix/Suffix und nicht nur den Produktnamen.

Ein wichtiger Aspekt in der Suchmaschinenoptimierung für Magento, der allerdings oft übersehen wird, liegt in der Behandlung von Bildern. Wenn Sie gute Alt-Tags für Bilder schreiben und der Bilddatei einen sprechenden Namen geben, erhalten Sie ein wenig zusätzlichen Traffic von den Suchmaschinen. Dazu kommt, dass Sie sehbehinderten Besuchern, die sich Ihre Site vorlesen lassen, helfen und Inhalte sichtbar machen, die ihnen sonst verborgen bleiben würden.

Die Bilder erhalten standardmäßig den Produkttitel als Dateinamen und Alt-Tag. Mit ein wenig zusätzlichem Aufwand können Sie die Titel und Alt-Tags aber für jedes Produkt individuell festlegen. Unter dem Menüpunkt „Bilder“ bei den Produktinformationen kann für jedes Bild eine Beschreibung eingegeben werden, die für das Alt- und Titel-Tag verwendet wird. Diese Möglichkeit kann natürlich für jeden Store View genutzt werden.


2. Optimierung der Magento Templates

2.1. Optimiertes leeres Template
Die Default-Skins von Magento wie "Default Theme", "Blue Skin" und "Modern Theme" machen aus SEO-Sicht keinen guten Job hinsichtlich der Verwendung von Überschriften. Es gibt also jede Menge Verbesserungspotenzial. Um das zu vereinfachen, wurde ein leeres Magento-SEO-Theme erstellt, dass auf dem „Magento Blank Theme“ beruht und alle im Folgenden beschriebenen Faktoren berücksichtigt. Es kann auf der Magento-Seite heruntergeladen werden.


2.2. Überschriften
Das Logo ist standardmäßig als <H1> angelegt. Das sollte nur auf der Startseite so sein, auf den anderen Seiten aber nicht mehr als ein <H3>. Das wichtigste ist, die Überschrift über den Inhalt in ein <H1>-Tag zu packen. Für eine Kategorieseite wäre das der Name der Kategorie, für ein Produkt der des Produkts.
Im nächsten Schritt muss die übermäßige Verwendung von Überschriftstags bereinigt werden. In den Randspalten sollten keine Überschriften verwendet werden, wenn sich der Text nicht auf den Shop bezieht, d.h. Schlüsselwörter enthält. Es gibt keinen Grund, „statische“ Titel ohne Schlüsselwörter als <H4> anzugeben. Es ist besser, alle <H4>-Tags in ein
<div class="head"> zu verwandeln. Danach ist es Zeit, die Inhalte zu optimieren. Auf Kategorie-Seiten gehört der Produktname in <H3>, der Kategorie-Name in <H1>. Auf Produktseiten sollte man den Produktnamen in <H1>-Tags stellen.


2.3. Aufräumen im Code
Alle Javascript- und CSS-Anweisungen im Template gehören in eigene Javascript- und CSS-Dateien. Damit bleibt das Template sauber, denn diese Anweisungen sind nicht gut für die Suchmaschinenoptimierung von Magento. So können die separaten Dateien beim ersten Laden gecached werden, und auch Suchmaschinen müssen sie nicht immer wieder herunterladen.


2.4. Auf Geschwindigkeit achten
Wie viele Seiten die Spider der Suchmaschinen täglich indizieren können, hängt unter anderem von der Geschwindigkeit ab, mit der Ihr Shop geladen wird.
Es gibt zwei Dinge, mit denen die Geschwindigkeit Ihrer Magento-Installation beschleunigt werden kann:

1.Caching aktivieren. Gehen Sie unter System =>Cache Management und aktivieren Sie alle Caching Features, d.h. setzen Sie in alle Kästchen unter „Cache Control“ ein Häkchen.
2.Die Bedeutung eines guten Hosters und der Server-Konfiguration. Mit MySQL und dem PHP opcode Cache lässt sich die Geschwindigkeit von Magento sehr stark steigern.

Anmerkung: Es wird gemunkelt, dass die Version 1.3 von Magento eine neue Funktionalität mit weit reichenden Verbesserungen der Performance enthalten wird.

Haben Sie auch ein Auge auf die Anzahl externer Dateien. Für jede Datei, die Ihre Besucher herunterladen müssen, muss der Browser eine weitere Verbindung zum Webserver aufbauen. Man sollte also die Anzahl an Download-Dateien reduzieren und mehrere Dateien zu einer zusammenfassen. Magento fasst bereits (fast) alle Javascript-Dateien in einer Datei zusammen.

Für Stylesheets wird das allerdings nicht gemacht: Das Default-Template umfasst 6 verschiedene Stylesheets. Sie können die Inhalte dieser Stylesheets in ein neues einfügen. Eine Ausnahme bildet nur die print.css. Sie können auch das Fooman Speedster module verwenden. Es kombiniert nicht nur die Dateien, sondern komprimiert und cached die Javascript-Dateien und Stylesheets.


3. Magento SEO für Fortgeschrittene und Duplicate Content
Wenn Sie die grundlegenden Aufgaben durchgeführt haben, dreht sich der Rest eigentlich nur noch um eine Sache: doppelte Inhalte. Und das nicht zu knapp. Für Produkte gibt es nämlich mindestens folgende URLs mit den gleichen Inhalten:

domain.de/produkt.html
domain.de/kategorie1/produkt.html
domain.de/katalog/produkt/view/id/1/
domain.de/katalog/produkt/view/id/1/kategorie/1/
Dazu kommen Seiten wie die mit den Produktbewertungen, die auch nahezu die gleichen Inhalte aufweisen. Ein anderes Problem stellen die Kategorien dar, da viele doppelte Inhalte durch die Layered Navigation und die Sortiermöglichkeiten entstehen. Im schlechtesten Fall gibt es also für ein Produkt 4 Seiten neben der eigentlichen Seite.

Wir entledigen uns dieser doppelten Inhalte, indem wir zwar zulassen, dass sie von den Spidern durchlaufen, aber verbieten, dass sie indiziert werden und die Sortieroptionen und die Layered Navigation für die Kategorien festlegen.


3.1. Noindex, follow für Nicht-Inhaltsseiten
Installieren Sie das Yoast robots meta module und achten Sie darauf, dass die Einstellungen die Indizierung aller Nicht-Inhaltsseiten verhindern. Unter System =>Konfiguration =>Web muss unter der zweiten Überschrift für alle Seiten „Yes“ ausgewählt werden:
Jetzt verfolgen die Suchmaschine alle Links von diesen Seiten, zeigen sie aber nicht im Index.


3.2. Nofollow bei unnötigen Links
Ein weiterer wichtiger Schritt zur Verbesserung der Suchmaschinenoptimierung von Magento liegt darin, nicht mehr auf Ihr Login, Kasse, Wunschzettel und andere Nicht-Inhaltsseiten zu verlinken. Gleiches gilt für die RSS-Feeds, die Layered Navigation, den Wunschzettel, die Vergleichsliste usw. Dafür gibt es aber leider noch kein Plugin, d.h. Sie müssen die nofollows manuell in die Templates eintragen.


3.3. Kanonische URLs
Damit die Suchmaschinen die doppelten Inhalte auf Ihren Seiten richtig verstehen, können Sie für jede Seite Ihre bevorzugte URL vorschlagen. Das geht mit dem neuen canonical-URL-Tag und der Installation des Moduls Canonical URL's für Magento.


3.4. XML-Sitemaps
XML-Sitemaps sind eine einfache Möglichkeit, den Suchmaschinen mitzuteilen, wo sich Ihre Inhalte befinden. Es verbessert zwar die Position in den Suchergebnissen nicht, kann aber dazu beitragen, dass die Seiten schneller indiziert werden. Eine XML-Sitemap kann unter Katalog=>Google Sitemap und „Sitemap hinzufügen“ erzeugt werden. Wählen Sie einen Dateinamen, Pfad und Store View aus und drücken Sie dann den Button „Save & Generate“.
Ergänzen Sie dann Ihre robots.txt um folgenden Code, damit die Suchmaschinen Ihre sitemap.xml-Datei finden:

Sitemap: /sitemap.xml

Wenn sich Ihre Produktpalette ändert, müssen Sie die XML-Sitemaps neue erstellen. Am besten automatisieren Sie das mit einem Cron-Job. Erklärungen dazu gibt es im Magento Wiki.


Fazit
Wenn Sie die aufgezeigten Punkte berücksichtigen und etwas Arbeit in eigene Inhalte – sprich eigene Produktbeschreibungen – stecken, wird sich dieser Aufwand mittel- und langfristig mit hoher Wahrscheinlichkeit in einem deutlich verbesserten Ranking niederschlagen. Eines sollte man bei der Optimierung eines Magento-Shops jedoch immer berücksichtigen. Die Onpage-Optimierung ist nur ein Teil der Arbeit, ohne vernünftiges und nachhaltiges Linkbuilding wird das Ranking – insbesondere bei wettbewerbsstärkeren Keywords – alleine mit diesen Onpage-Maßnahmen jedoch auch nichts werden. Wie heißt es doch auch hier so schön: „Ohne Fleiß, kein Preis!“

Kommentare:

Anonym hat gesagt…

Super, der Guide.. Danke dafür !!!

Anonym hat gesagt…

Ja, das hilft, wenn man sich anfängt intensiver mit SEO und Magento auseinander zu setzen, Danke!

Björn hat gesagt…

Absolut genialer Beitrag. Ich habe viele der Dinge in unserer Installation integriert und bin begeistert. Schau'n wir mal, was mittelfristrig so rauskommt. Weiter so! Den Artikel empfehle ich gleich mal unserem SEOler ;)

Spieleshop hat gesagt…

Die automatisches Generierung der Meta-Description scheint eh noch einen Bug zu haben. Zumindest bis zur Version 1.3.2. Dort werden HTML-Tags der Beschreibung einfach mit in die META-Description ausgegeben. Was natürlich nach hinten los geht.

Tee Kay hat gesagt…

Hallo,

sehr schöner Artikel aber wie kann ich den JavaScript Code von den Produktseiten aus dem Default-Template soweit auslagern, dass die Funktion nicht beeinträchtigt wird?

Gruß
Tee Kay

Tobi hat gesagt…

Vielen Dank für deine Tipps. Mit besten Grüßen, Tobi
sox-n-boxers.de

Magento hat gesagt…

Danke für die komprimierte Zusammenfassung, an welchen Hebeln bei Magento für SEO gedreht werden muss! :)

weltenschmid hat gesagt…

Ayayay, das mit dem Duplicate Content scheint mir übel. Dennoch will ich doch, dass die Produkte auch in den SERPs auftauchen. Gibt es da Abhilfe?