Für Suchmaschinenoptimierung (SEO) sollte man sich mit dem Einrichten von Weiterleitungen auskennen. Ich habe hier ein paar Möglichkeiten mit htaccess-Dateien & Co zusammengefasst und erklärt wozu die Redirects gut sind. Sollte ich was vergessen haben, könnt ihr mich ja ergänzen.

Wozu weiterleiten?

Vermeide doppelten Inhalt und leite Anfragen auf http://meineseite.de immer auf http://www.meineseite.de – Somit wird von der Non-www Adresse auf die www-Adresse weitergeleitet

Vermeide 404. Ändert sich die Adresse einer Seite, sollte man Sie mit einem 301 Redirect weiterleiten, damit die Suchmaschine keinen 404 Fehler erhält und die neue URL indexieren kann. 301 steht für permanente Änderung. Dies ist vor Allem dann wichtig, wenn man eine Seite zu einer neuen Domain umzieht.

Beim Weiterleiten verwenden wir meist den 301 Status Code (Moved Permanently), der bedeutet, dass die Weiterleitung permanent gilt. Für eine temporäre Weiterleitung wird 302 verwendet.

Weiterleitung per htacces Datei

Die Weiterleitungsmethode mit einer htaccess Datei ist die verbreiteste, da sie bei den meisten Webhostern funktioniert. Der Hoster muss hierbei das Apache Modul „mod_rewrite“ aktiviert haben,  das ist aber meist der Fall. Mit ihr lassen sich Weiterleitungen mit einem Redirect Code auch SEO konform einrichten. Man erstellt dazu in seinem Document Root (Webroot) Verzeichnis eine Datei namens „.htaccess„. Der Dateiname beginnt mit einem Punkt, der aussagt, dass es sich um eine versteckte Datei für Linux handelt. Für eine normale Non-WWW auf WWW-Weiterleitung kann die Datei einfach mit dem folgenden Code füllen und die Domain „meineseite.de“ auf seine eigene anpassen. Fertig.

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

Mit dem R=301 wird der Redirect Status Code angegeben. Möchte man eine einzelne URL zwecks Umzug oder Dateinamensänderung umleiten, kann folgendes anfügen:

RewriteRule ^alteseite.html$ /neueseite.html [R=301,L]

Praktisch ist auch, dass man hier eine 404 Seite hinterlegen kann, die angezeigt wird, wenn eine Seite nicht gefunden wird.

ErrorDocument 404 http://www.meineseite.de/404.html

Weiterleitung per Apache Virtual Host Konfiguration

Die Weiterleitungen lassen sich auch direkt in der Konfiguration des Webservers einstellen. Darauf haben natürlich nur die Admins Zugriff, die eigene Root-Server haben. Die vhosts befinden sich im „sites-available“ von Apache. Bei mir ist das „/etc/apache2/sites-available/“ . Die Non-WWW Redirect funktioniert hier so:

<VirtualHost *:80>
ServerName meineseite.de
ServerAlias meineseite.de
RedirectMatch (.*) http://www.meineseite.de$1
</VirtualHost>

Weiterleitung mit PHP

Mit einer PHP Datei kann man ebenfalls weiterleiten. Folgender Befehl setzt die Header-Daten, die eine Weiterleitung und Status Code enthalten können. Ohne Angabe eines  Status Codes wird 302 verwendet. Die Weiterleitung sollte vor der ersten Ausgabe geschehen und mit einem exit abgeschlossen werden, damit das Script beendet wird.

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.meineseite.de/neueseite.html");
exit;
?>

Weiterleitung mit HTML

Sollte man für die obigen Weiterleitungen keine technische Möglichkeit haben, gibt es noch die HTML Weiterleitung. Diese ist aber nicht SEO konform. Hierbei setzt man einfach folgende Zeile in den head-Bereich. Die 0 gibt hier die Wartezeit an, nach 0 Sekunden erfolgt also die Weiterleitung.

<meta http-equiv="refresh" content="0; URL=http://www.meineseite.de" />

Weiterleitung mit JavaScript

Ebenfalls eine unschöne Art des Weiterleitens, da kein Redirect Code angegeben werden kann und Suchmaschinen höchst-wahrscheinlich diese Weiterleitung ohnehin nicht auswerten werden.

<script language ="JavaScript">
<!–
window.location.replace(‚http://www.meineseite.de/neueseite.html‘);
// –>
</script>

Im Prinzip ist alles Suchmaschinen-konform, sofern sich ein Status Code übermitteln lässt. Mehr Informationen zum Thema findet man in dem externen Artikel Automatische Weiterleitungen. Hab ich noch was vergessen?

Donnerstag, 11. Februar 2010 [SEO] RSS 2.0 / Trackback senden

4 Kommentare

  1. Sascha

    Sonntag, 13. Juni 2010 um 00:08

    Wenn man für eine Webseite die Dateistruktur ändert und aus einer Webseite die ehemalig nur aus html Dateien bestanden hat alles in php abändern muss, da die Webseite zu groß geworden ist. Ist es dann besser für das Ranking um Positionen mitzunehmen eine Weiterleitung per 301 oder sollte einfach nur per mod rewrite die php Datei in eine html „umbenannt“ werden?

  2. Elias

    Sonntag, 13. Juni 2010 um 13:39

    Wenn du das mit mod rewrite gestaltest, ist die die Suchmaschine keine Aenderung sichtbar, das heißt es aendert sich nichts, wenn man es sauber macht. Weiterleitungen setzt man nur im Notfall ein, zb wenn zukünftig die Dateiendung anders ist, ein mod rewrite Konstrukt zu kompliziert wäre und alte URLs nun auf die neuen umgeleietet werden sollen.

  3. Michael

    Dienstag, 12. April 2011 um 13:01

    Angenommen ich habe mehrere domains wie http://www.meine-seite.de und http://www.meineseite.de. Ich möchte von der einen Domain auf die andere Domain umleiten, aber vermeiden, dass durch die Suchmaschine doppelter Content erkannt wird. Per Javascript bekomme ich das hin und es funktioniert. Welche anderen Methoden gibt es in diesem Fall und wie macht man das?

  4. Elias

    Dienstag, 12. April 2011 um 13:08

    Dann verwendest du am besten die Weiterleitung per htacces Datei mit 301 (siehe oben), dann gibts keine Probleme mit Duplicate Content.

    RewriteEngine On
    RewriteRule (.*) http://www.meineseite.de/ [R=301,L]

Einen Kommentar hinterlassen

XHTML allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>