Redirect 301 – Moved Permanently
Oft müssen Webseiten auf andere URLs weitergeleitet werden. Das kann unterschiedlichste Gründe haben, Umzug auf anderen Server, alles soll über die Subdomain www laufen, neuer Domainname, etc. Die Methode, mit der weitergeleitet wird, gilt es zu beachten, da mit der falsch gewählten Sprache sich schon so mancher seine gute Google-Positionierung zunichte gemacht, oder sich ganz aus dem Google-Index geschossen hat.
Grundlegend stehen zwei Optionen zur Verfügung, client- und serverseitige Weiterleitung.
Clientseitige Weiterleitung
Die clientseitige Weiterleitung wird vom Browser übernommen, was zum einen mit HTML und zum andern mit Java Script gelöst werden kann.
1. HTML
<META HTTP-EQUIV=Refresh CONTENT="5; URL=http://www.hierhin-weiter-geleitet.de">
Dieser Code wird in den “head” Bereich der Webseite eingefügt. Die Zahl 5 steht hierbei nach wie vielen Sekunden der Browser zu entsprechenden URL “umspringt”
2. Java Script
<script LANGUAGE="javascript"> top.location.href='http://www.hierhin-weiter-geleitet.de' </script>
Clientseitige Redirects sind jedoch tunlichst nicht anzuwenden, ganz einfach, weil sie den wichtigen HTTP 1.1 Standard ignorieren – und das mögen Suchmaschinen ganz und gar nicht. Untechnsich gesagt, wir die Zielseite (die ja eigentlich die “alte” Seite ist) als neue Seite betrachtet und muss sich erst eine gute Positionierung “verdienen”.
Serverseitige Weiterleitung
Bei dieser Methode wird direkt vom Server an den Browser oder Suchmaschinenspider gemeldet, dass die Seite nun woanders zu finden ist. Spider beachten dieses und machen ein Update zum Eintrag der Seite mit der neuen URL. Das Ergebnis ist, dass PageRank und Positionierung erhalten bleiben. Das kann über htaccess oder auch mit PHP gelöst werden
1. htaccess
Beispiel 1: Alle Anfragen an domain.tld werden an www.domain.tld weitergeleitet.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.tld$ [NC]
RewriteRule ^(.*) http://domain.tld/$1 [L,R=301]
Den meisten ist es ziemlich egal, ob ihre Webseiten mit oder ohne www aufgerufen weden. Das ist aber bei Google und Co. nicht der Fall. Dieser Umstand wird als zwei Seiten mit gleichem Inhalt betrachtet. Sichwort” duplicate content” (doppelter Inhalt), das mag Google ganz und gar nicht.
Beispiel 2: Alle Anfragen an alte-domain.tld an neue-domain.tld weiterleiten:
RewriteEngine on RewriteRule ^(.*) http://www.neue-domain.tld/$1 [R=301,L]
Weitere Regelen zur Weiterleitung mit htaccess finden Sie in der apache Dokumentation zum Thema mod_rewrite.
2. PHP
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.hierhin-weiter-geleitet.de");
exit;
?>
Diese Code muss ganz am Anfang des PHP-Scripts plaziert werden. Ausgaben davor über echo oder auch nur ein Leerzeichen vor “<?php” führen zu Fehlermeldungen. Es können jedoch Variablen aufgelöst und weitergegen werden.
Bsp.:
<?php
if(isset($_GET['id']) && $_GET['id'] == 25) {
header("HTTP/1.1 301 Moved Permanently");
header("Location:
http://www.hierhin-weiter-geleitet.de/und-zwar-genau-hin.html");
}
else {
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.hierhin-weiter-geleitet.de");
}
exit;
?>
Aufgefallen sind bestimmt der Begriff “Moved Permanently” und im htaccess-Beispiel die Zahl “301″. Beides gibt an, dass die Seite nun permanent unter dem neuen Link zu erreichen sind. Bei htaccess kann auch “302″ angegeben werden. Das bedeutet das der neue Link nur vorübergehend ist.
Das PHP-Script sollte mit exit beendet werden, da nachfolgender Code Fehler erzeugen und die Ausführung behindern kann.