Magento SEO – Probleme mit doppelten Inhalten in Kategorien

Inhaltsverzeichnis

Lesezeit: 7 Minuten
Artikel teilen!

Das Magento Shop System ist sehr beliebt, da es in jederlei Hinsicht ein sehr mächtiges Shop-System ist. Für Online Shop-Betreiber, die eine hohe Anzahl an Produkten haben und mit hohen Besucherzahlen konfrontiert werden, ist der Magento Onlineshop die perfekte Lösung. Er ist ausdauernd, geht nicht gleich in die Knie bei hohem Traffic und ist in der Lage mehrere tausende Produkte zu führen. Durch die geniale Möglichkeit Produkte zu kategorisieren und mittels Magento-Attribute alle Produkte in den jeweiligen Kategorien filterbar zu machen, wird das Ganze erst so richtig interessant für alle potenziellen Kunden. Dies ermöglicht den Usern nach belieben genau das passende Produkt auszusuchen. Ausstattung, Farbe, Material usw. – das alles kann als Attribut im Magento Backend hinterlegt werden, damit der Nutzer spielend einfach in den Kategorien nach seinem Geschmack filtern kann. Doch kann man das ohne Bedenken und ohne Nacharbeiten in Google indexieren lassen? Was sagt Google dazu?

Filterung und Paginierung – das muss geplant sein

Was für den User unsichtbar ist, wird für die SEO Optimierung zum Alptraum. Aus der ehemaligen schönen nutzerfreundlichen URL wird plötzlich eine elend lange URL. Ist das gut für Google?

Beispiel: Wir besitzen einen Onlineshop für Mode und befinden uns in der Kategorie „Damenbekleidung“. Unsere nutzerfreundliche URL lautet: www.meinmodeshop.de/damenbekleidung.

Der User möchte nun detailliert nach einem Produkt suchen und macht sich die meist seitliche Filterfunktion zu nutze. Durch Auswahl verschiedener Kriterien verringert sich für den User zwar die Trefferliste mit den angezeigten Produkten, jedoch verlängert sich die URL ins unendliche, da alle Parameter und Filter hinten dran gehängt werden. Aus der schönen kurzen Kategorie-URL wird dann plötzlich:

www.meinmodeshop.de/damenbekleidung?kleidungsstueck=t-shirt&groesse=38&farbe=rot&form=aermellos&aufmachung=knopfleiste&stil=casual

Wenn man bedenkt, dass man mehrere Filter hat und diese in jeder erdenklichen Form kombiniert werden können, sieht man erst was für eine Liste an neuen URLs hinzukommt. Google folgt jedem Link, wenn man nichts dagegen macht – somit wird aus der Kategorie „damenbekleidung“ eine Horde an URLs, die im Grunde keinen Mehrwert bieten. Da stets die Haupt-URL /damenbekleidung/ bleibt und durch die Filterung immer nur Artikel hinzukommen oder verschwinden, sind es nun hunderte an URLs, die die gleiche Kategorie-Beschreibung beinhalten.

Paginierung

Bei großen Online Shops gibt es teilweise Hunderte von Produkten in einer Kategorie. Diese passen natürlich aus Sicht der Nutzerfreundlichkeit nicht alle auf eine einzige Seite. Somit gibt es eine sogenannte Paginierung, die es ermöglicht viele Artikel über mehrere „Seiten“ einzuordnen. Dem Kunden wird ermöglicht maximal eine bestimmte Anzahl von Produkten auf einer Seite angezeigt zu bekommen.

Somit werden alle Produkte in Seiten mit einer Maximalzahl an Produkten sortiert. Nun ist dies für den User freundlich, jedoch kann es für eine gute SEO-Optimierung zu einem Problem werden, wenn hier keine Lösung vorhanden ist.

Wenn nun der User auf die zweite Seite klickt, verlängert sich die URL in den meisten Fällen mit einem Parameter, der so aussehen könnte:

  • ?Page=P2

Wenn nun wie in unserem Beispiel 609 Seiten vorhanden sind und dieser Parameter nicht aus der Indexierung ausgeschlossen ist, wird der Google Crawler 609 URLs in dieser Kategorie crawlen und somit 609 Seiten in den Google Index aufnehmen. Wahrhaftig eine Katastrophe, denn der Inhalt auf dieser Seite ist immer der Gleiche.

Doppelte Inhalte sind für SEO schädlich – Filter im Magento Shop

Ein häufiges Problem bei vielen Online Shops, einschließlich Magento, ist das Duplizieren von parameterbasierten Seiten. In Magento kommt dies sehr häufig in mehrschichtige Kategorieseiten vor. Dies Ganze wird durch einen aktiven Attributfilter generiert. Der Filter ermöglicht dem Nutzer individuell exakt das Produkt mit den Eigenschaften herauszufiltern, nach dem gerade gesucht wird.

Google (und Bing) neigen dazu URLs mit Parameter und Filterattributen (die in der URL vorkommen) als separate und eigenständige Seiten in den Suchergebnisseiten (SERPs) anzuzeigen. Dies liegt vor allem daran, dass immer noch eine Vielzahl von Online Shops Parameter verwenden (onlineshop.com/?pageid=753). Ähnlich ist dies bei Filterattributen (z.B. onlineshop.com/damenbekleidung/?kategorie=t-shirts&farbe=blau&marke=diesel&groesse=m oder /filter/bulls/schwarz_/29_zoll_/herren/mtb_.html). Wenn man hier nicht die die richtige Lösung findet, ergeben sich schnell tausende von URLs, die im Grunde inhaltlich Kopien voneinander sind.

Zusammenfassung wichtiger Punkte, die schädlich sein können:

  • Jeder Filter, der in der URL genannt wird, ist für Google eine zusätzliche URL
  • Mehrere Filter hintereinander ergeben kombiniert eine hohe Menge an URLs, die jeweils die gleichen Inhalte beinhalten
  • Denken Sie an alle Filter-Kombinationen, die entstehen können – bei 10 Filter mit über 5 hat man für eine einzige URL über 500 indexierte URLs

Da sich der Inhalt unserer Kategorieseiten nur geringfügig unterscheidet bei aktiven Filtern, möchte Google nicht, dass sie als separate Seiten zwischengespeichert werden. Dies gilt insbesondere dann, wenn die Kategoriebeschreibung viel Text enthält. Die Vervielfältigung der Kategoriebeschreibung kann zu Problemen mit doppelten Inhalten führen und gleichzeitig zu Ranking-Verlusten.

Es gibt einige Möglichkeiten, um dieses Problem zu beheben. Grundsätzlich gilt: Parameter und Filter gehören nicht in den Google Index! Es gibt Tricks, die einen ganz einfachen Ausschluss dieser Parameter ermöglichen. In diesem Beitrag gehen wir gezielt auf die Vermeidung dieser Indexierung ein.

Wie schließe ich Parameter und Filter aus

Es gibt 4 Möglichkeiten dies auszuschließen:

  • Über die Robots.txt Datei
  • Verwendung von URL-Parameter Tool in der Google Search Console
  • Meta-Robots der einzelnen URLs NOINDEX

Die Robots.txt Datei

Die robots.txt-Datei ist eine hervorragende Möglichkeit schnell und effizient Parameter und Filter auszuschließen. Google liest nach wie vor die robots.txt Datei, obwohl es teilweise Webseiten oder Online Shops gibt, die keine robots.txt Datei führen und alles über den Meta-Tag Robots in der jeweiligen URL regeln. Die einfache Text-Datei bietet viele Möglichkeiten und Google hält sich nach wie vor ganz klar an den Vorgaben, die hier hinterlegt sind.

Der Hauptzweck der robots.txt-Datei besteht darin Suchmaschinen mitzuteilen auf welche Seiten zugegriffen werden darf und auf welche Bereiche nicht zugegriffen werden darf.

Mit dem Befehl Disallow kann somit jeder Ordner, jeder Parameter und jeder Filter ausgeschlossen werden. Wenn ich nun Folder (Unterordner), Parameter oder einfache URLs ausschließen möchten, die nach der TLD folgen (TLD= Top Level Domain – damit wird die Endung einer Domain gemeint, Beispiel „.de“ oder „.com“), schaut hier ein Disallow Befehl wie folgt aus:

  • Disallow: /filter/ (Verzeichnis sperren)
  • Disallow: /*?parameter (Das Wort „parameter“ mit dem entsprechenden Parameter versehen)
  • Disallow: /*?Page (Ausschluss des Parameters der Paginierung

Dadurch wird der Suchmaschine mitgeteilt, dass URLs mit einem Fragezeichen (der als Parameter gilt) oder URLs mit bestimmten Verzeichnissen (Vorsicht: mit finalem „/“ bedeutet alle URLs nach dem ausgeschlossenen Ordner) nicht indexiert werden sollen. Zusätzlich kann man auch ganze URLs ausschließen, die man auch nicht im Index sehen möchte:

  • Disallow: /seite.html (hier wird die entsprechende URL aus dem Index ausgeschlossen)

Dies ist sehr hilfreich, um das Problem mit Kategoriefiltern und Parametern in den Griff zu bekommen. Eine Verwendung dieser Filter als indexierbare URL ist nur dann sinnhaft, wenn sich darauf spezifischer Content befindet und es als Kategorie dient. Parameter sollten generell immer aus dem Index ausgeschlossen werden. Man muss hierbei bedenken, dass Befehle in der robots.txt Datei zwar den Suchmaschinen nicht erlauben die Seite erneut aufzurufen, jedoch bereits zwischengespeicherte URLs bereits erfasst sein könnten und somit dennoch doppelten Seiten vorhanden sein können, da bereits indexiert worden. Deshalb ist es wichtig Ausschlüsse in der robots.txt-Datei einzufügen, sobald der Online Shop neu gestartet live geschaltet ist. Ein Befehl, der erst erfolgt, wenn es den Shop schon gibt, könnte bereits indexierte URLs nicht löschen bzw. entfernen. Andernfalls wirst Du noch einige Zeit doppelte Seiten in den SERPs haben.

Lösung: Ausschluss der URL in der Google Search Console

  • Vorherige Tools und Berichte > Entfernen (alte Oberfläche) > Vorübergehend ausblenden > URL eingeben > Antrag übermitteln

Kleiner Tipp: Mit der Robots-Datei können sogar Suchmaschinen und User-Agents ausgeschlossen werden. Um beispielsweise automatisierte Crawler auszuschließen muss man einfach nur deren Namen wissen und dann könnte (im Beispiel der Suchmaschine Yandex) ein Befehl der kompletten Sperre dieser Suchmaschine wie folgt aussehen:

URL Parameter Tool in der Google Search Console

In der Google Search Console (abgekürzt GSC) ist eine Funktion namens URL-Parameter integriert. Durch Klick (in der neuen Search Console) auf:

  • Linke Sidebar > Vorherige Tools und Berichte > URL-Parameter

gelangt man in diesen Bereich. Hier können Parameter nach belieben hinzugefügt werden. Parameter dienen hauptsächlich dazu die Benutzerfreundlichkeit auf der Webseite zu verbessern. Um den negativen Nebeneffekt zu vermeiden, ist es wichtig dies der Suchmaschine auch so mitzuteilen. Offiziell heißt es laut Google, dass dies Google hilft die Webseite effizienter zu crawlen. Ziel ist es Online Shops und Webseiten-Besitzern dabei zu helfen, Probleme mit Parametern zu lösen, die durch Parameter verursacht werden.

Wichtig: Durch Eingabe falscher Parameter kann es möglicherweise dazu führen, dass Seiten aus den Suchergebnissen entfernt werden. Dies bedeutet, dass diese Technik im Gegensatz zur Datei robots.txt möglicherweise dazu beiträgt, diese doppelten Seiten zu entfernen.

Wenn dies die von Dir gewünschte Lösung ist, würde ich empfehlen Deine primären Attributcodes hinzuzufügen, die in Deinen URLs vorkommen, aber nicht indexiert werden sollten. Sie in Ihrer geschichteten Navigation eingerichtet haben.

Ausschluss durch Meta Robots Tag NOINDEX

Magento verfügt über einen eigenen Meta-Robots Tag. Der Standard Meta-Robots Tag schaut wie folgt aus:

  • „robots“ content=“INDEX,FOLLOW“ />

Vor Liveschaltung steht hier meist der Befehl NOINDEX, NOFOLLOW. Dies blockiert jeglichen Crawling-Versuch von Suchmaschinen.

Ein Meta-Robots-Tag ist zwar ein interessantes Tool, um Ausschlüsse zu planen, allerdings ist es nicht 100% so sicher wie die robots.txt-Datei. Leider passiert es ab und an, dass nicht freigegebene Domains und URLs dennoch im Zwischenspeicher von Suchmaschinen landen, weil die robots.txt Datei fehlt.

Der Meta-Tag Robots ist allerdings mittlerweile der gängigste Weg, um Google Anweisungen zu geben. Wie bereits oben erwähnt gibt es mittlerweile immer mehr Webseiten, die von einer robots.txt-Datei nicht mehr Gebrauch machen und sich vollkommen auf den Meta Tag Robots verlassen.

Für das Ausschließen ist diese Möglichkeit bei weitem die Aufwendigste, da ein Eingriff in XML-Files (Config.xml und observer.php) notwendig ist. Das Setzen von Noindex-Befehlen über den Meta Tag Robots ist nur für vorhandene Kategorien, Produkte und aus dem Backend sichtbare URLs möglich. Für „künstliche URLs, die durch die Shop-Funktionalitäten (in diesem Fall meine ich Aneinanderreihungen von Parametern oder Filtern), ist dies leider nicht ohne einen Eingriff durch einen Programmierer möglich.

Fazit zum Meta Robots Tag: Für diese Art von Ausschluss gibt es weniger komplizierte Lösungen. Deshalb schließe ich diese Möglichkeit hierüber Dein Ziel zu verfolgen aus.

Zusätzlich interessant: Der Canonical Tag

Der Canonical Tag ist seit jeher im Magento-System bereits vorhanden. Mit SEO Tools wie die SEO Suite Ultimate Extension wird die Bedienung von Canonical Tags um einiges vereinfacht. Aktivieren kann man das Ganze ohne SEO Extensions unter System> Konfiguration> Katalog> Suchmaschinenoptimierung.

Mit dieser Funktion wird ein kanonisches Tag in die gewünschte URL eingefügt. Canonical-Tags teilen Google im Grunde genommen mit, wo sich die Hauptversion der Seite befindet. Man spricht von einer Spiegelung des Contents. Du kannst die aktuelle Seite ignorieren, wenn Du von der kanonischen URL abweichst. Wichtig: Ein Canonical dient Google lediglich als Hinweis, dass eine andere URL mit ähnlichem bis gleichem Content existiert. In der Regel berücksichtigt Google den Canonical Tag. Es gibt aber keine Hinweise, dass dies immer der Fall ist.

Wie wirkt sich das auf Deine Kategoriefilterseiten aus? Nun, auf all Deinen Kategoriefilterseiten (z.B. bei Kategorie-URLs mit? Cat = xx) sollte dieses kanonische Tag aktiviert sein. Dies weist Google darauf hin, dass diese Filterseite in Wirklichkeit nur eine Kopie der Hauptkategorie ist und nicht dazu dient einen neuen Inhalt zu bieten. Das Hauptproblem beim Canonical-Tag ist, dass es nicht konsistent funktioniert – insbesondere bei Kategorien. Produktseiten arbeiten sehr gut mit dem Canonical-Tag zusammen (in der Regel wird Google angewiesen, die Produkt-URL als onlineshop.com/produkt-url.html und nicht mit Kategorien zwischenzuspeichern), obwohl auf Kategorieseiten die gleiche Funktionalität aktiviert ist. Hier allerdings kann es zu Duplikaten in den SERPs kommen. Falls dies der Fall ist, sollte über Parameter oder über die robots.txt Datei ein Ausschluss angestoßen werden.