Duplicate Content mit der htaccess bekämpfen

Ein großes Thema im Bereich Suchmaschinenoptimierung (SEO) ist der „Duplicate Content“:

Hausgemachte Störenfriede im Kampf um die vorderen Plätze im Suchmaschinen Ranking.

Aufgrund einer schlecht konfigurierten .htaccess-Datei auf eurem Webserver, kann es zu doppelt indizierten Inhalten kommen und das ist – pauschal gesagt – schlecht. Ein erster Schritt zur Lösung des Problems ist einfach und wird im Nachfolgenden geschildert.


Eine kleine Übersicht worum es hier geht:

  1. Was ist Duplicate Content und warum ist er problematisch?
  2. Drei Domain-Faktoren die zu „duplicate content“ führen
  3. Eine Umleitung per .htaccess bauen – warum?
  4. Wie kann ich eine htaccess Datei mit diesen Einstellungen in WordPress nutzen?
  5. Tipps

Mit der htaccess Datei im Kampf gegen den Duplicate Content

Der nachfolgende Text zeigt euch wie ihr euren Sever mittels einer htacces Datei so steuert, dass damit eine der wichtigsten Ursachen für doppelt indizierte Inhalte eliminiert werden kann. Der Code für die Datei läuft unter WordPress auf einem Apache Server, ist getestet und macht bisher genau was er soll. Wenn jemand Korrekturvorschläge oder Tipps hat, freue ich mich sehr über einen Kommentar!

Was ist Duplicate Content und warum ist er problematisch?

Suchmaschinen durchkämmen das Internet nach Informationsquellen, die relevante Antworten auf die Eingaben der Suchenden liefern. Gleichzeitig muss die Suchmaschine SPAM herausfiltern, also Werbeinhalte die nur so tun als wären sie relevant für die Suche. Je besser sie diesen Job machen, desto mehr Suchende nutzen die Suchmaschine, die Software wird zum Erfolgsprodukt. Wird unser Inhalt als relevant erachtet, ist die Wahrscheinlichkeit gegeben, dass wir auf den vorderen Rängen der Ergebnisauflistung landen. Hierzu müssen wir eine Menge Arbeit investieren:

  • Relevante Inhalte für unsere Leser produzieren
  • Inhalte aktualisieren und verfeinern
  • Inhalte strukturieren
  • Technisch optimieren
  • uvm.

Schlecht ist es, wenn unsere Dokumente unter einer Vielzahl von URLs erreichbar sind. Die Suchmaschine erkennt den gleichen Inhalt unter verschiedenen Webadressen, das schwächt die Relevanz der einzelnen URL und kann im schlimmsten Fall dazu führen, das uns die Suchmaschine abstraft.

Drei Domain-Faktoren die zu „duplicate content“ führen können

Schlecht vorstellbar: Der gleiche Inhalt wird von Google mehrmals gefunden und gespeichert obwohl dieser eigentlich nur einmal auf der Webseite vorkommt. Der Grund hierfür ist, dass der gleiche Inhalt unter unterschiedlichen Domains auffindbar ist. Wenn man die Zeichenfolge einer Domain genau betrachtet, kann man kleine Unterschiede erkennen:

 

Eine URL mit www. und ohne

www.benedikt-sahlmueller.de

benedikt-sahlmueller.de

Schon muss die Suchmaschine zwei Adressen für den gleichen Inhalt speichern. Welche URL ist die relevante?

 

Eine URL mit http:// und https://

http://benedikt-sahlmueller.de

https://benedikt-sahlmueller.de

SSL ist seit längerem ein Ranking-Faktor, darum kommt dieses Problem nun sicher häufiger vor.

 

Eine URL mit und ohne trailing slash

http://benedikt-sahlmueller.de/example.html

http://benedikt-sahlmueller.de/example.html/

Der Unterschied erscheint winzig: im ersten Fall wird auf ein Dokument, im zweiten auf einen Ordner verwiesen. Auch dieser Unterschied sollte ausgebügelt werden.

Eine Umleitung per .htaccess bauen – warum?

Die .htaccess-Datei eignet sich wunderbar für eine ganze Reihe von Optimierungen, im Nachfolgenden wollen wir uns mit dem Thema der Umleitungen beschäftigen. Warum? Nun, mit der Erreichbarkeit unser Dokumente unter verschiedenen Web-Adressen, wurden diese im Zweifelsfall auch indiziert. Das heißt Google hat unser Webdokument „hallo.html“ unter verschiedenen Domains gespeichert und liefert hierzu auch die Links wenn jemand danach sucht. Es wäre also schlecht, wenn wir einen Weg gingen der dazu führt, dass die Google Ergebnisse 404er aufgeben oder vlt. sogar Fehler. Besser ist es eine Umleitung einzurichten, noch besser ist es eine Umleitung einzurichten die der Suchmaschine sagt, dass der referenzierte Inhalt zukünftig und endgültig unter der angegebenen Zieladresse erreichbar ist.

————-
Die htaccess kann wesentlich mehr: So könnt ihr damit beispielsweise Verzeichnisse schützen, die die Webseitenauslieferung beschleunigen und die Sicherheit erhöhen.
————-

Eine Umleitung via htaccess kann genau das: Die 301er Umleitung sagt dem Server: „Hier geht’s lang und zwar immer“. Diesen Zustand kann Google schließlich „erlernen“ und in seinen Daten abbilden. Kombinieren wir nun alles zu einer .htaccess, sieht das Ganze so aus:

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

# Alle Anrufe gehen verschlüsselt über https
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

#Stelle sicher das alle Domains trailing slashes aufweisen
RewriteEngine On
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,QSA,L] 
 

 

Wie kann ich eine htaccess Datei mit diesen Einstellungen in WordPress nutzen?

Ich beantworte diese Frage mal für die folgende Konstellation:

  1. Wir haben ein aktuelles WordPress
  2. Wir verfügen über ein FTP Programm (z.B. FileZilla)
  3. Der Webserver läuft auf Apache (2.4) – das tun viele

 

Der Code für die .htaccess 

Nachfolgend findest Du den Code der alle drei Umleitungen enthält. Zwei Punkte sind bei WordPress Installationen zu beachten:

a) Du musst den Standard WordPress .htaccess Code mit einbauen

 
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
 

b) Der Code muss korrekt platziert werden

Update: Bisher wurde der .htaccess-Code im nachfolgenden Beispiel direkt in den Basis-Code von WordPress implantiert. Hieraus ergibt sich aber ein Problem: WordPress selbst verwirft nach einiger Zeit die Änderungen und setzt auf seinen Original-Code zurück. Das nachfolgende Beispiel trägt diesem Umstand Rechnung:

 

RewriteEngine On
RewriteBase /
# Erzwinge www. an allen Domains
RewriteCond %{HTTP_HOST} !www\.example.\.de$
RewriteRule ^(.*)$ http://www.example.de/$1 [R=301,L,QSA]
 
# Alle Anrufe gehen verschlüsselt über https
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 
#Stelle sicher das alle Domains trailing slashes aufweisen
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,QSA,L]
 
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
 

Wie bekommt man die .htaccess Datei auf den Server? 

Zuerst muss man eine FTP oder SSH Verbindung auf den Server aufgebaut haben. Eine Anleitung hierzu liefert das Hosting Unternehmen. Wenn die Verbindung steht suchst Du das Stammverzeichnis von WordPress: Normalerweise das Verzeichnis, in das Deine Domain zeigt. In der Regel liegen alle WordPress-Dateien in einem Ordner namens „WordPress“.

Suche die .htaccess heraus

Die .htaccess-Datei wird in vielen Fällen bereits vorhanden sein. Falls nicht, kann man auf dem Rechner eine leere Textdatei erzeugen und mit Programmen wie Notepad++ bearbeiten. Der bereits installierte „Editor“ auf Windows reicht auch, bitte verwende aber kein Schreibprogramm wie Word.

Wenn eine entsprechende Datei vorhanden ist, lade diese herunter. Bitte gehe dann noch einmal in Deinen Webspace (bei Filezilla das rechte Fenster) und benenne die Datei auf dem Server um, z.B. in alte_htaccess. Öffne nun die heruntergeladene Datei mit einem Editor (z.B. Notepad++) und setze den Code ein. Anschließend lädst Du die Datei wieder auf den Server, stelle dabei sicher, dass die fertige Datei auf de mServer .htaccess heißt. Auf einem System wie windows kann man keinen Punkt vor den Dateinamen stellen, darum benennst Du die Datei auf dem Server um, Dein FTPProgramm kann das.

Die alte_htaccess lassen wir als Backup auf dem Server.

Tipps

Ein paar Tipps kann ich nach kurzer Verwendung der .htaccess Einstellungen geben:

  1. Testet alle Fälle selbst durch und prüft ob die Seiten aufgerufen werden wie gewollt.
  2. Installiert Euch für Euren Test „redirect path“ (Chrome) um den Status der Umleitung zu testen.
  3. Caching-Tools: Vergesst nicht Eure Caching Tools ggf. vor dem Test auszuschalten.
  4. Anstelle von FTP-Programmen kann man die htaccess auch mittels WordPress Plugins bearbeiten.
  5. Eine tolle Quelle für .htaccess Code-Schnipsel ist GitHub.