In vielen Fällen, in denen eine Seite mit internem Duplicate Content zu kämpfen hat, können URL-Parameter Schuld an einem Großteil der Duplikate sein. Was sind URL-Paramter und warum können sie Duplicate Content verursachen?
Was sind Parameter
Parameter sind Anweisungen, die an die URL einer Seite angehängt werden, um ihren Inhalt auf eine bestimmte Art zu beeinflussen. Einer der häufigsten Anwendungsfälle ist das Sortieren und Filtern von Produktergebnissen in einem Onlineshop. Die Filter können zum Beispiel Farben, Größen und anderen Produktmerkmale sein.
Ein Beispiel dafür könnte folgende URL sein:
https://www.shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&groesse=42&material=leder
Durch die oben genannten Parameter
farbe=schwarz
groesse=42
material=leder
werden nun nur schwarze Lederschuhe in der Größe 42 angezeigt.
Parameter lassen sich daran erkennen, dass der erste Parameter einer Kette mit einem Fragezeichen (?
) eingeleitet wird und alle weiteren Parameter mit dem kaufmännischen Und (&
) verbunden sind. Zudem lassen sich Parameter in beliebiger Reihenfolge zusammensetzen.
Weitere häufige Anwendungsfälle für Parameter sind interne Suchen, SessionIDs sowie die Anzeige der Druckversion einer Seite.
Warum können Parameter Duplicate Content erzeugen?
Das Konzept einer URL sieht vor, dass es sich dabei immer um eine eindeutige Adresse einer Ressource auf einem Server handelt. Ein Beispiel hierfür ist der Unterschied zwischen
https://www.domain.de/hallo-welt.html
und
https://www.domain.de/Hallo-welt.html
Hierbei handelt es sich, rein technisch gesehen, um zwei unterschiedliche URLs, da zwischen Groß- und Kleinschreibung unterschieden wird.
Dies bedeutet für unsere Beispiel-Shopseite, dass wir unsere Filter zwar unterschiedlich zusammenwürfeln könnten, dann trotzdem auf all diesen URLs schwarze Lederschuhe in Größe 42 finden:
https://shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&groesse=42&material=leder
https://shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&material=leder&groesse=42
https://shop.domain.de/schuhe/herrenschuhe/marke.html?groesse=42&farbe=schwarz&material=leder
https://shop.domain.de/schuhe/herrenschuhe/marke.html?groesse=42&material=leder&farbe=schwarz
https://shop.domain.de/schuhe/herrenschuhe/marke.html?material=leder&farbe=schwarz&groesse=42
https://shop.domain.de/schuhe/herrenschuhe/marke.html?material=leder&groesse=42&farbe=schwarz
Für Google sind alle URLs einzigartig, der Inhalt ist jedoch immer derselbe. Ein klassischer Fall von Duplicate Content.
Die Anzahl der möglichen URLs ist dabei die Fakultät (n!) der genutzten Filter. Würden wir also einen weiteren Filter auswählen, z. B. typ=halbschuh
, könnten wir schon 24 (1x2x3x4) verschiedene URL-Kombinationen erstellen, die alle die gleichen Ergebnisse liefern. Bei 5 Filtern sind es dann 120 URLs mit identischem Inhalt.
Was kann ich dagegen tun?
Es gibt verschiedene Wege, Duplicate Content durch Parameter zu umgehen. Diese unterscheiden sich im Aufwand und in der möglichen Umsetzung voneinander und wir möchten eine kleine Auswahl vorstellen.
Beachte hierbei bitte, dass alle Anpassungen einen mehr oder weniger großen Eingriff in die Funktionsweise der Seite darstellen. Die Umsetzung sollte daher gut durchdacht werden.
Viele der Möglichkeiten sind zudem sehr technisch und benötigen Hilfe von Entwicklern oder IT-Ressourcen.
Möglichkeit 1: Keine unnötigen Parameter nutzen
Dies ist eine technisch aufwendigere, dafür jedoch saubere Möglichkeit. In den meisten Fällen lassen sich Parameter komplett vermeiden. SessionIDs lassen sich per Cookies speichern und Druckversionen der Seite können mit CSS umgesetzt werden, ohne dass eine neue URL erstellt werden muss.
Möglichkeit 2: Parameter sortieren
Diese Möglichkeit eignet sich besonders, wenn man viele Filter auf der Seite anbietet.
Ihr gebt eurem System eine spezifische Parameterreihenfolge vor und euer System setzt die URLs, bei neuen Parametern, so zusammen, dass es immer nur maximal eine URL pro Filterkombination geben kann.
Für unser Beispiel von oben könnte dies so aussehen, dass die Parameter-Reihenfolge immer aus Farbe > Größe > Material > Typ bestehen soll.
Wenn dann bei der URL
https://shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&material=leder
der „Größe“-Filter zusätzlich ausgewählt wird, erstellt das System die URL automatisch
https://shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&groesse=42&material=leder.
Wenn bei der Umsetzung nicht klar ist, welche Parameter es geben kann, wäre eine weitere Möglichkeit, die Parameter alphabetisch sortieren zu lassen.
Möglichkeit 3: Google seine Parameter erklären
Google bietet über die Search Console die Möglichkeit, URL-Parameter für Google zu kategorisieren.
Google hat hierzu ein eigenes Hilfedokument geschrieben, das man sich zu Herzen nehmen sollte. Das URL-Parameter-Tool kann ein zweischneidiges Schwert sein, da es bei falscher Benutzung dazu führen kann, dass Google Seiten nicht mehr indexiert, die eigentlich in den Index gehören.
Wenn du diesen Weg nutzt und eure Domain im Optimizer als Projekt angelegt hast, solltest du in den Crawl-Einstellungen die gewünschten Parameter ausschließen.
Möglichkeit 4: rel=“canonical“
Diese Möglichkeit ist in vielen Fällen eine einfache, umsetzbare Strategie, wenn auch nicht die sauberste. Der Grund dafür liegt darin, dass es für die allermeisten Content-Management-Systeme Plugins gibt, die das Setzen von rel=“canonical“ Auszeichnungen ermöglichen. Hierdurch müssen die Änderungen nicht erst durch die IT umgesetzt werden. Zudem ist diese Auszeichnung für alle großen Suchmaschinen problemlos auslesbar.
Hier wählt ihr für die entsprechenden Filterkombination eine kanonische (original) Version aus und alle anderen URLs werden mit dem Canonical-Tag versehen.
Wenn wir also
https://shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&groesse=42&material=leder
als kanonische Version gewählt haben, bekommen die 5 anderen URLs mit den identischen Filtern dasselbe Canonical-Tag in den <head>
-Bereich des HTML-Quellcodes:
<link rel="canonical" href="https://shop.domain.de/schuhe/herrenschuhe/marke.html?farbe=schwarz&groesse=42&material=leder">
Möglichkeit 5: Noindex
Die zweite Herangehensweise, die über Plugins in den meisten Content-Management-Systemen genutzt werden kann, ist das Setzen eines NoIndex im <head>
der Seite.
<meta robots="noindex">
Hiermit gebt ihr Google (und anderen Suchmaschinen) zu verstehen, dass dieses Dokument nicht mit in den Index übernommen werden soll. Ihr könnt euch also überlegen, welche Seiten für Nutzer wichtig sind, aber im Google-Index nichts zu suchen haben.
Wird dem robots-Meta-Element keine weitere Anweisung beigefügt ist, geht der Crawler automatisch davon aus, allen Links folgen (Follow) zu dürfen – auch wenn das Dokument selbst nicht in den Index übertragen wird.
<meta robots="noindex, follow">
Für unsere Beispielfilter würde dies bedeuten, dass Google zwar den weiterführenden Links auf den gefilterten Seiten folgt, die Filterseiten selbst jedoch nicht im Index hat.
Canonical und Noindex
Google rät dazu, diese beiden Angaben nicht miteinander zu kombinieren.
Fazit
URL-Parameter können schnell zu einer unübersichtlichen Anzahl an doppelten Inhalten. Der Umgang mit Parametern ist also nicht immer trivial und, abhängig vom genutzten Content-Management-System, kann es sein, dass man viele Einstellungen nicht ohne Programierkenntnisse vornehmen kann.
In diesen Fällen bietet Google mit der Google Search Console eine praktikable Möglichkeit, die Parameter einer Domain genauer zu definieren. Es ist jedoch notwendig sich genau mit dem URL-Parameter-Tool auseinanderzusetzen, da falsche Einstellungen zu Problemen führen können.
In den meisten Fällen ist es daher einfacher, entweder mit den Anweisungen rel=“canonical“ oder der robots=“noindex“ zu arbeiten. Nutzt diese jedoch bitte nicht zusammen! Es ist sehr einfach Google damit zu verwirren.