Duplicate Content vermeiden: Umleitungen durch .htaccess

Webseitenbetreiber möchten im Regelfall eins: Möglichst gut auf Google gefunden werden. Es gibt viele Faktoren, die ausschlaggebend sind dafür, wie gut eine Webseite gefunden wird. Einige davon kann man sogar sehr schnell beeinflussen: Beispielsweise macht es Sinn, die Webseitenperformance zu optimieren, oder man stattet den Domainnamen mit einem SSL-Zertifikat aus. Ein weitere Methode, die im nachfolgenden Text betrachtet wird, besteht darin, doppelte Inhalte – sogenannten „Duplicate Content“ – zu vermeiden.

Was ist Duplicate Content und warum ist er problematisch?

Duplicate ContentEinfach gesagt lesen Suchmaschinen den Inhalt einer Webseite und speichern Informationen darüber, welche Inhalte für welche Suchanfragen relevant sind.

Ziel bei der Suchmaschinenoptimierung (SEO) ist es, der Suchmaschine den Job so einfach wie möglich zu machen. Dazu zählt unter anderem, dass Sie dem Suchmaschinen-Bot eindeutige Domainnamen zu Ihren Inhalten liefern. Ist der gleiche Inhalt unter verschiedenen Domains erreichbar, bekommt die Suchmaschine keine eindeutigen Daten darüber, welche der Domains für den Inhalt relevant ist. Das Resultat – der sogenannte Duplicate Content – kann negative Auswirkungen auf den Pagerank haben oder sogar zur Abstrafung der Seite führen.

Eine Umleitung per .htaccess bauen – warum?

Die .htaccess-Datei eignet sich wunderbar für eine ganze Reihe von Dingen, zum Beispiel für Umleitungen zur Vermeidung von Duplicate Content.

Warum umleiten? Nun, wurde Ihr Webdokument mehrfach unter verschiedenen Adressen gespeichert, schwächt das in den Augen der Suchmaschine seine Relevanz. Um nun alle Zugriffe zu dem Dokument auf eine Domain zu lenken, benötigen Sie einen Nachsendeservice: Alle URL-Varianten, die bisher für den Aufruf der Seite möglich waren, werden künftig auf die eine, korrekte Adresse umgeleitet.
Der Clou dabei: Google bekommt zusätzlich die Information, dass die Adressänderung permanent ist.

Genau das macht die 301er-Umleitung: Sie meldet dem Server, wo das Suchergebnis ab sofort zu finden ist. Die neue Adresse kann von der Suchmaschine erlernt werden, sodass Ihr Inhalt künftig nur noch unter der gewünschten Domain auffindbar ist.
Nachfolgend finden Sie Fallbeispiele zur Einrichtung dieser Umleitungen.

Duplicate Content Rewrite

Ursachen und Lösungen für Duplicate Content

Eine mögliche Ursache für Duplicate Content sind Webseiten, die unter ähnlichen, aber nicht gleichen Domainnamen aufrufbar sind. Wenn man Domains Zeichen für Zeichen betrachtet, sieht man schnell, was den Unterschied macht:


Beispiel 1

www.example.com
ist auch erreichbar unter
example.com

Der gleiche Inhalt ist nun mit und ohne www. erreichbar. Der Unterschied sieht zwar unscheinbar aus, aber Google könnte die Seite tatsächlich dafür abstrafen. Eine Lösung für dieses Problem bietet der folgende Code:

# Erzwinge www
RewriteEngine On
RewriteCond %{HTTP_HOST} !www\.example\.de$
RewriteRule ^(.*)$ http://www.example.de/$1 [L,R=301,QSA]

In der ersten Zeile des Codes wird geprüft, ob der Aufruf der Adresse mit www. erfolgt. Wurde die Domain nicht mit führendem www. eingegeben (!www\.), erfolgt die Umleitung auf http://www.example.de.


Beispiel 2

http://www.example.com
ist auch erreichbar unter
https://www.example.com

Die SSL Verschlüsselung – also der Aufruf der Seite über https – wird sehr empfohlen. Jedoch liegen auch hier zwei Wege vor, die Seite zu erreichen. Leiten Sie also um:

# Alle Aufrufe gehen auf SSL
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Man muss davon ausgehen, dass die meisten Besucher einer Webseite deren Adresse ohne https eingeben. In einem solchen Fall (https !on) wird per 301-Umleitung auf die https-Version der Webadresse umgestellt.


Beispiel 3

www.example.com/hello
ist auch erreichbar unter
www.example.com/hello/

Den Unterschied könnte man beinahe übersehen: Ein Schrägstrich, der sogenannte „Trailing Slash“, folgt dem Aufruf und schon kann es sein, dass Google Ihren Beitrag doppelt indiziert. Diese Umleitung sorgt für „Trailing Slashes“ an allen Domainnamen:

# Alle Domains haben trailing slashes
RewriteEngine On
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Mit dieser Regel kann der aufgerufenen Zeichenkette ein Slash-Zeichen (/) am Ende angestellt werden. Die 301-Umleitung erfolgt immer dann, wenn dem Schrägstrich am Ende der aufgerufenen Adresse noch weitere Zeichen folgen.

Um die oben genannten Weiterleitungen zu testen, übernehmen Sie diese einfach in Ihre .htaccess-Datei. Ist noch keine .htaccess-Datei vorhanden, kann sie per FTP im Stammverzeichnis des Domainnamens hinterlegt werden. Bitte ersetzen Sie den Beispiel-Domainnamen „example.com“ gegen Ihren Domainnamen. Nutzen Sie ein CMS, informieren Sie sich vorher bitte, an welcher Stelle der Code eingetragen werden muss.

Tipps

💡 Testen Sie die Aufrufe:
Prüfen Sie alle möglichen Optionen des Webseitenaufrufs selbst. So stellen Sie sicher, dass Ihre Webseite immer so dargestellt wird, wie Sie es möchten.

💡 Weitertesten
Browser-Plug-Ins wie „Redirect Plath“ (Chrome) helfen, den Status der Umleitung zu testen.

💡 Webmaster Tools
Viele wichtige Faktoren für das Ranking Ihrer Webseite finden Sie in den Google Webmaster Tools. Hier können Sie mitbestimmen, wie Google Ihre Webseite indexiert.
Zu den Google Webmaster Tools

💡 Caching-Tools
Bitte beachten Sie: Durch Browser-Caching, aber auch durch Caching-Werkzeuge z.B. für WordPress, wird Ihnen Ihre Webseite möglicherweise anders dargestellt als Ihren Besuchern. Leeren Sie Ihren Cache daher, bevor Sie den Aufruf Ihrer Webseite prüfen.

💡 Zahl der Weiterleitungen eingrenzen
Zu viele aufeinanderfolgende Weiterleitungen können für den Google-Bot ein Problem darstellen. Eine Kette von Weiterleitungen sollte daher maximal 3 aneinander geknüpfte Glieder haben. Weitere Informationen hierzu, gibt es auf dem Google Webmaster-Blog.

💡 Interne Links aktualisieren
Definieren Sie auch innerhalb Ihrer Webseite die richtige Domain. Prüfen Sie dazu, dass bei allen internen Verknüpfungen (z.B. „Zurück zur Startseite“) die korrekte Domain hinterlegt ist. Bei CMS, wie WordPress, muss die Blog URL angepasst werden.

💡 Kanonische URL
Nach der Umstellung auf die neue Domain sollten Sie ein sogenanntes „Canonical Tag“setzen. Das Canonical Tag liefert dem Suchmaschinenbot weitere Daten darüber, welche Adresse zukünftig die richtige für das Dokument ist. Nachfolgend ein Beispiel für ein solches Canonical Tag:

<link rel="canonical" href="https://www.example.com/"/>

Eingesetzt wird der Code in das Head-Element der Webseite.

Die oben benutzten Weiterleitungen und viele weitere .htaccess-Codes finden Sie hier:
Github

 

End of article

Benedikt Sahlmüller

Über den Autor

Benedikt Sahlmüller

Unseren Kunden steht Benedikt im Support seit 2014 bei Anliegen jeglicher Art gerne und meist hingabevoll gestikulierend zur Seite. Backt er nicht gerade Ciabatta oder kocht mit Freuden, findet man ihn in seiner Freizeit garantiert vorm Rechner bei seiner Lieblingsbeschäftigung: Webshops optimieren. Denn Online- und Suchmaschinenmarketing sind seine große Leidenschaft.

17 Kommentare

Die von Ihnen hier erhobenen Daten werden von der domainfactory GmbH zur Veröffentlichung Ihres Beitrags in diesem Blog verarbeitet. Weitere Informationen entnehmen Sie bitte folgendem Link: www.df.eu/datenschutz


  • Sepp
    Sepp - 18. November 2015 um 14:33 Uhr

    Danke für das tolle SEO-Manual. Gerade die Tipps mit dem Rewrite bzgl. https sind top.

    Grüße,
    Sepp

  • ossi2612
    ossi2612 - 21. November 2015 um 11:30 Uhr

    Wenn ich im RP 2 eine zweite Domain per Dateipfad auf die erste Hauptdomain lege, wie sieht Google das? Und kann Google nicht erkennen, dass z.B. bei Domainnamen mit Umlaut eine gleichlautende Domain ohne Umlaut existiert, oder für viele Websites mehrere Länder-/Regionaldomains vorhanden sind? Es ist ja nicht außergewöhnlich oder schwer verständlich, wenn eine Firma Müller mit Sitz in München und Österreich folgende Domains hätte: mueller.de – mueller.bayern – mueller.at und alle drei nochmal mit „ü“.

    Wollte ich 301-Umleitungen legen, dann müsste ich ja in diesem Beispiel 5 weitere Aufträge (für jede Domain) anlegen, in die jeweils eine htaccess lege, oder wie sollte das praktisch funktionieren?

    • Benedikt Sahlmüller
      Benedikt Sahlmüller - 23. November 2015 um 11:27 Uhr

      Danke für Ihren Beitrag ossi2612.
      Die Antwort von Rüdiger im Forum zeigt sicher die beste Variante: Die verschiedenen Domains zeigen auf eine .htaccess-Datei – die liegt ihrerseits vielleicht in einem Ordner „Umleitungen“. Von hier aus wird dann per 301 auf die Haupt- oder Zieldomain weitergeleitet.

      • Anonymous
        Anonymous - 23. November 2015 um 12:08 Uhr

        Vielen Dank für die Antwort.

        OK, das habe ich verstanden. mueller.de und müller.de und mueller.com. So schalte ich alle zusammen und vermeide doppelten Content.

        Und wie setze ich nun zweite Domainnamen ein, um die Hauptdomain zu seo-technisch zu stärken?

        z.B. elektro-mueller.de und handy-mueller.de und fernseh-mueller.de?

    • Benedikt
      Benedikt - 23. November 2015 um 14:23 Uhr

      Idealerweise liefert jede Domain spezifische Inhalte aus. So würde die „Handydomain“ eine Landingpage zeigen, die sich inhaltlich um das Thema Handy dreht. Wenn jetzt die „Handydomain“ die selben Inhalte liefert wie die „Elektrodomain“, ergeben sich die oben beschriebenen Nachteile. Man könnte nun eine spezielle Landingpage erstellen zum Thema Handy und im Fließtext auf die Hauptdomain verknüpfen. So würde die „Handydomain“ einmalige Inhalte liefern und könnte die Hauptdomain unterstützen.

      • Anonymous
        Anonymous - 23. November 2015 um 16:22 Uhr

        Ja – vielen Dank – auch im Forum wurde diese Lösung bevorzugt. Dann wird dies der Weg sein. Wieder was gelernt, nochmals Danke!

  • Szelei zoltan
    Szelei zoltan - 1. Dezember 2015 um 03:11 Uhr

    Gut gut

    • Benedikt
      Benedikt - 2. Dezember 2015 um 12:37 Uhr

      Hallo und Danke!
      Haben Sie die Umleitungen schon getestet und erste Erfahrungen damit gesammelt?

      • Anonymous
        Anonymous - 3. Dezember 2015 um 14:30 Uhr

        Ja, alles kapiert, Danke der Nachfrage. Jetzt muss sich dann im Laufe der Zeit zeigen, wie Google reagiert. In den Webmastertools habe ich jetzt nur noch die Hauptdomain mit www drinnen.

      • Benedikt
        Benedikt - 3. Dezember 2015 um 15:03 Uhr

        Wunderbar, das freut mich!
        Ja, die Möglichkeit in der „Search-Console“ umstellen zu können, ist eine super Sache. Leider klappt das mit der Protokoll-Umstellung nach https noch nicht so. Durch die Einstellungen in der .htaccess wird das aber aufgezwungen – das reicht sicher vorerst.

        Search-Console Hilfe zu www.

  • Martin
    Martin - 25. April 2016 um 18:21 Uhr

    Danke für die Anleitung. Ganz klar ist mir das noch nicht:

    Angenommen, das Root-Verzeichnis meiner Web-Site lautet /meinroot und die Haupt-Domain (ohne www) ist: meinedomain.de
    Über die Servereinstellungen zeigt meinedomain.de auf die Inhalte in /meinroot

    Um Dupicate Content zu vermeiden, soll ja der Aufruif http://www.meinedomain.de umgeleitet werden.

    Brauche ich für die Umleitung von http://www.meinedomain.de mittels .htaccess (301-redirect) ein zusätzliches Verzeichnis (also ein Verzeichnis, das nur die .htaccess-Datei enthält – z.B. meinrootwww) um Aufrufe mit www auf das Verzeichnis /meinroot umzuleiten oder habe ich NUR ein Verzeichnis, in der die .htaccess-Datei abgelegt ist.

    Danke 🙂

  • Amal
    Amal - 19. Juni 2016 um 23:29 Uhr

    Top, auch der Link zur Weiterempfehlung ist pures Gold wert. Danke!

    hopes.website Gucken kostet nichts 😉

  • Thomas
    Thomas - 26. Juni 2016 um 03:18 Uhr

    Ich frage mich, wie man es genau anders herum machen kann. Also von https auf http zwingen – und dabei das www erzwingen. Am Anfang soll immer „http://www.“ stehen. Geht das? Auch wenn jemand https://domain.de eingibt?

  • Timo
    Timo - 2. Juni 2017 um 08:16 Uhr

    Hallo Benedikt,

    danke für die Übersicht.
    Ich bin noch recht unerfahren was die htaccess Datei angeht. Ich kenne zwar das Grundlegende, aber im Detail muss ich mich nun auch mal damit beschäftigen 🙂

    Du hast oben ja die drei Beispiele für https, www und / angegeben. Die funktionieren auch gut, danke.
    Habe damit eine alte Regel ersetzt die komischer Weise nicht immer www erzwungen hat.

    Ich habe in der .htaccess ja nun mehrere Anweisungen, die alle mit RewriteEngine On beginnen. Auch für eine Zugriffssperre auf den Include Ordner von WordPress zum Beispiel. Ist es Sinnvoll diese alle zusammenzufassen um so jedesmal der RewriteEngine On Befehl zu sparen oder ist das egal? Übersichtlicher ist es natürlich wenn ich alles einzeln lasse. Spielt das aus Performance-Gründen eine Rolle?

    Gruß Timo

  • S. Maier
    S. Maier - 21. November 2018 um 13:34 Uhr

    Vielen Dank für die ausführliche Beschreibung. Ich habe jedoch ein anderes Problem, welches oben leider nicht geschildert wurde.
    Ich habe zwei Domains die auf ein Root-Verzeichnis zeigen – eine .de- und eine .at-Domain. Jetzt möchte ich beide Domains so weitergeleitet haben das sie mit https:// und www. angezeigt werden.

    also wie folgt:
    https://www.meineWebseite.de
    https://www.meineWebseite.at

    Ist das Möglich?

    Ich habe versucht folgenden Code einzupflegen, was leider mit keinen Erfolg verbunden ist.

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !www\.meineWebseite\.de$
    RewriteRule ^(.*)$ http://www.meineWebseite.de/$1 [L,R=301,QSA]

    RewriteCond %{HTTP_HOST} !www\.meineWebseite\.at$
    RewriteRule ^(.*)$ http://www.meineWebseite.at/$1 [L,R=301,QSA]

    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    Besten Dank im Voraus

    Herzliche Grüße
    Steve

  • Alexander Riegler
    Alexander Riegler - 28. Januar 2019 um 16:14 Uhr

    Ein kleiner Tippfehler: Redirect Plath > Path
    Für Ungeübte wie mich, hätte noch der Hinweis stehen können, wie Tipp 1 und 2 kombiniert werden können. Von der Logik her war es aber klar, zuerst www dann https.

    Danke für den Hinweis.
    Alex