Duplicate Content vermeiden: Aufrufe ohne www mit 301 Weiterleitung umleiten

Man weiß es ja nun nicht 100% inwiefern sich die Erreichbarkeit sowohl mit www, alsauch ohne www auswirkt. Bei Google kann man mitlerweile z.B. in den Webmastertools einstellen welche Version man bevorzugt. Aber es gibt ja auch noch andere Suchmaschinen, und sicher ist sicher. 301 Weiterleitung heißt die Lösung!

Für WordPress gibt es da übrigens auch schon ein fertiges Plugin, welches einem die Arbeit abnimmt. Das benutze ich auch hier für diesen Blog dafür. Wer also nur seinen WordPress-Blog entsprechend anpassen will läd sich das Plugin runter und aktiviert es, und hört dann hier auf zu lesen. Alle andern lesen ruhig weiter. :-)

Warum poste ich das, wo es doch schon tausende Beiträge zu dem Thema gibt ? Nunja, ganz einfach. Ich hab gestern selber nach entsprechender Lösung gesucht, und habe 4-5 Codeschnippsel probiert, die alle nicht das gewünschte Ergebnis gebracht haben. Daher hier nun eine funktionierende Lösung.

Was braucht man ?

Auf deinem Server sollte das Modul Mod_Rewrite aktiviert sein. Informiere dich im Handbuch des Webservers dazu wie das geht, oder bei deinem Hoster.

Der Rest ist dann ganz einfach. Erstelle einfach eine Datei namens .htaccess im Hauptverzeichnis deiner Website ( root ). Da schreibst du dann folgenden Inhalt rein:

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

Du kannst das auch in eine bereits bestehende .htaccess Datei einfügen. Logischerweise sollte es dann natürlich relativ weit oben ( wohl eher ganz oben ) hin, damit zuerst weitergeleitet wird [Wobei ich mir da nicht ganz sicher bin].

Was bedeutet das nun ?

Die erste Zeile aktiviert die RewriteEngine. Die zweite und dritte sind die Bedingungen, unter denen weitergeleitet wird. Die vierte sammelt alles was nach der Host-Adresse kommt ( z.b. “blog” bei example.com/blog ) auf und leitet dann per 301-Weiterleitung auf die Seite mit www davor weiter. Wenn jemand deine Seite z.B. mit example.com/blog aufruft wird er also weitergeleitet auf www.example.com/blog. 301 Weiterleitung bedeutet in dem Fall in etwa so viel wie “Permanent umgezogen”, sodass die Suchmaschinen sofort wissen “Aha, ja, ich muss das Ding MIT www aufrufen, weils da nun zu finden ist.”

Ich hoffe damit sind nun alle Unklarheiten beseitigt und das Web wird von duplicate Content befreit bleiben! :-)

Viel Spaß damit!

Gruß,

Nils

  • http://www.lukx.de Lukx

    Hallo.
    Vielleicht sollte man an dieser Stelle erwähnen, dass man mit Rewirte-Rules auch wunderbar CMS-URLs anpassen kann, in dem man z.B. http://example.org/eltern auf http://example.org/index.php?page=eltern umleitet!

    Damit hat man schönere Urls die sich zum einen besser merken lassen, und zum anderen auch suchmaschinenfreundlicher sein sollen.

  • http://derdualstudent.de Tobias Genge

    Bei manchen Webhostern hat man es sogar noch einfacher, wenn man Zugriffe auf die DNS-Einträge hat. Dann kann nämlich gleich auf Serverebene die Weiterleitung einrichten. Allerdings muss ich generell mal sagen, dass ich die Duplicate Content Debatte für viel zu überbewertet halte.