Korrekte Weiterleitungen und Redirects

Es kommt nicht selten vor, dass mehrere Domains auf den selben Inhalt zeigen sollen oder das ein alter Domainname durch einen neuen Namen ersetzt werden soll.

Um bei derartigen Umstellungen nicht hart erkämpfte Suchmaschinenpositionen zu verlieren oder Backlinks ins Leere laufen zu lassen, sollte den Crawler der Suchmaschinen mitgeteilt werden, dass die Seite umgezogen ist und wo die neue Seite zu finden ist. Wird dies korrekt durchgeführt geht keine Linkpower verloren.

Die Kommunikation mit den Crawlern erfolgt dabei über sogenannte Statuscodes die vom Server bei jedem Zugriff übermittelt werden. Im Normalfall wird 200 (alles okay) alles Statuscode versendet.

Um den Browser mitzuteilen, dass eine Seite umgezogen wurden gibt es zwei Statuscodes. Mit dem Code 301 (Moved Permanently) und dem Code 302 (Moved Temporarily) teilt man einen URL-Wechsel mit. Bevorzugt sollte dabei der Code 301 verwendet werden, denn eine 302 Weiterleitung kann zu sogenanntem URL-Hijacking führen.

Korrekte Redirects bzw Weiterleitungen können per .htaccess Datei oder (falls der Server dies nicht unterstützt) auch direkt in den index-Datein durchgeführt werden. Im letzten Fall reicht es aus wenn php unterstützt wird.

.htaccess redirects

Diese Weiterleitungen müssen in der Datei .htaccess hinterlegt werden. Da diese Datei nacheinander abgearbeitet wird, sollten die Anweisungen so weit oben wie möglich stehen.

Redirect permanent /index.html http://www.neue-domain.de/index.html

oder

RewriteEngine On
RewriteRule ^(.*)\.html$ http://www.neue-domain.de/$1.html [R=301,L]

PHP-Variante

Diese Variante verändert den gesendeten Header und leitet eingehende Aufrufe direkt um. Hier können aber nur spezielle Datein umgeleitet werden, eine globale Weiterleitung wie mit der .htaccess Version ist leider nicht möglich.

<?php
header(„HTTP/1.1 301 Moved Permanently“);
header(„Location: http://www.neue-domain.de“);
header(„Connection: close“);
?>