Für das Weiterleiten einer (alten) Seite auf eine neue empfiehlt Google und andere Suchmaschinen einen serverseitigen Redirect durch den HTTP-Status Code 301 (Moved Permanently).
Diese Art der Weiterleitung teilt den Suchmaschinen mit, dass die Seite permanent übersiedelt wurde und gibt auch die URL der neuen Seite an. Beim nächsten Crawl der Seite wird der Redirect gefunden und der Robot folgt diesem idealerweise und findet dadurch die neue URL der Web- oder Unterseite.
Aus SEO-Sicht ist nur die permanente Weiterleitung per 301 Redirect zu empfehlen, da diese auch den (meisten) Link Juice an die neue Domain oder Unterseite übergibt und diese im Idealfall dadurch die Rankings der alten Seite übernimmt.
Redirects sind sowohl per HTML, PHP, JavaScript als auch serverseitig möglich. 301 Redirects können zwar auch mittels PHP erstellt werden, für eine kürzere Ladezeit ist aber die Weiterleitung per .htaccess-Datei besser geeignet.
Ich gehe im folgenden nur auf Weiterleitungen per .htaccess-Datei (auf einem Webserver mit Apache) ein, da dies von den meisten Webservern unterstützt wird.
Inhaltsverzeichnis:
- Weiterleitung einer gesamten Domain
- Weiterleitungen einzelner Unterseiten
- Weiterleitung der Startseite ohne Unterseiten
- Weiterleitung von www auf nicht-www
- Weiterleitung von HTTP auf HTTPS
- Weiterleitungen mittels PHP
- 301 Redirect mit PHP
Weiterleitung einer gesamten Domain
Hat sich die ganze Domain einer Webseite geändert, ist es ratsam die Weiterleitung im Backend des Hosting-Providers oder per .htaccess-Datei einzurichten.
301 Redirect einer gesamten Domain
Will man eine ganze Domain, also die Startseite inkl. Allen Unterseiten, weiterleiten
kann man die folgenden Zeilen in der .htaccess-Datei einfügen um wirklich Alles (Webseiten und alle Unterseiten) weiterzuleiten:
RewriteEngine on RewriteRule (.*) http://neue-domain.tld/$1 [R=301,L]
301 Redirect einzelner (Unter)seiten
Hat sich die URL einer einzigen Unterseite geändert, kann man diese so weiterleiten:
RewriteEngine on Redirect 301 /alte-seite.html http://domain.tld/neue-seite.html
Beachten Sie aber, dass die alte Unterseite per relativem und die neue per absolutem Pfad angegeben wird.
Das selbe Spiel können Sie auch für mehrere Redirects von Unterseiten machen. Geben Sie pro Zeile aber nur einen Redirect ein.
RewriteEngine on Redirect 301 /alte-seite.html http://domain.tld/neue-seite.html Redirect 301 /alte-seite2.html http://domain.tld/neue-seite2.html
301 Redirect der Startseite ohne Unterseiten
Auch wenn dieser Fall in der Praxis eher selten vorkommt, ist es dennoch gut zu wissen, wie man einen solchen Redirect richtig erstellt.
Eigentlich wäre die folgende Weiterleitung aus logischen Gründen in Ordnung, in der Praxis funktioniert diese aber nicht:
RewriteEngine on Redirect 301 / http://neue-domain.tld/
Auch wenn Sie keine Datei namens index.html in Ihrem Hauptverzeichnis haben, funktioniert diese Art der Weiterleitung so:
RewriteEngine on Redirect 301 /index.html http://neue-domain.tld/
301 Redirect von www auf nicht-www
Ich persönlich bevorzuge die nicht-www Version einer Webseite, da das www genau genommen eine Subdomain ist und ich die Webseite aber auf der Hauptdomain haben will. Was SEO betrifft ist es meiner Meinung nach vollkommen egal ob die Webseite mit oder ohne www erreichbar ist. Wichtig ist aber, dass die www auf die nicht-www Version der Webseite zeigt (oder eben umgekehrt).
Das erreichen Sie durch diese Zeilen in Ihrer .htaccess-Datei:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
301 Redirect von HTTP auf HTTPS
Bei der Nutzung von HTTPS ist es notwendig, dass jede Unterseite entweder per HTTP oder per HTTPS erreichbar ist um Duplicate Content zu vermeiden. Durch 301 Redirects (permanente Weiterleitungen) kann man das gewährleisten.
In den meisten Fällen will man alle (Unter)seiten via HTTPS aufrufen. Dafür sind neben einem gültigen SSL-Zertifikat die folgenden zwei Zeilen in der .htaccess-Datei notwendig.
RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Weiterleitungen mit PHP
Neben der serverseitigen Weiterleitung via .htaccess-Datei ist es auch möglich einen Redirect mit PHP durchzuführen. Ich persönlich nutze diese Methode nur selten, da ein Redirect per .htaccess schneller geht und auch mehr Möglichkeiten bietet.
Code für Weiterleitung mit PHP:
<?php header("Location: https://praxismarketing-agentur.com/"); exit; ?>
Speichert man diesen Code-Snippet in einer PHP-Datei ab und ruft diese am Server ab, wird man automatisch auf die URL https://praxismarketing-agentur.com/
weitergeleitet. Diese Weiterleitung ist ein „temporärer“ Redirect mit dem HTTP-Status Code 302 (Moved Temporarily).
301 Redirect mit PHP
Da wir aus SEO-Sicht eine Weiterleitung per HTTP-Status Code 301 (Moved Permanently) wollen, müssen wir folgenden Code verwenden:
<?php header("Location: https://praxismarketing-agentur.com/", true, 301); exit; ?>
Dadurch bekommen wir den erwünschten 301 Redirect per PHP.
Weiterleitungen dieser Art sind praktisch, da man einzelne Weiterleitungen dadurch erstellen kann ohne die .htaccess-Datei zu vergrößern und den Webserver zu verlangsamen.
Der große Nachteil liegt jedoch daran, dass man jeweils nur einen Redirect machen kann und eine seitenweite Weiterleitung um einiges aufwändiger ist als per .htaccess-Datei.
0 Kommentare