Tutorial: Automatische Weiterleitung für Webseiten einrichten

Mit .htaccess, PHP, HTML oder JavaScript...

Werbung
Die Techniken der Suchmaschinen-Optimierung (SEO) helfen Ihnen dabei, dass Ihre Website im Internet leichter gefunden wird. Auch die Benutzerfreundlichkeit Ihrer Website kann durch SEO verbessert werden.
Die Techniken der Suchmaschinen-Optimierung (SEO) helfen Ihnen dabei, dass Ihre Website im Internet leichter gefunden wird. Auch die Benutzerfreundlichkeit Ihrer Website kann durch SEO verbessert werden.

Im Lauf des Lebens einer Website ergeben sich von Zeit zu Zeit immer mal wieder Änderungen an der Seitenstruktur. Sei es die Aktualisierung einzelner Verzeichnis- und Dateinamen oder gar ein Umzug der kompletten Website auf eine neue Domain.

Das Problem: Die bei Suchmaschinen hinterlegten und von Besuchern als Lesezeichen gespeicherten URLs werden dadurch ungültig und würden ins Leere führen oder eine unschöne Fehlermeldung produzieren.

Damit bei derartigen Änderungen kein Traffic verloren geht und alle Besucher auch weiterhin den richtigen Weg finden, bieten sich sogenannte „Redirects“ an (englisch für „Weiterleitungen“ oder „Umleitungen“).

Technisch lassen sich diese Redirects auf mehrere Arten realisieren. Im folgenden zeigen wir die gängigen Varianten zur Einrichtung von Weiterleitungen und betrachten deren spezifische Vor- und Nachteile.

Download: Beispiele für Umleitungen (als .zip-Archiv)

Serverseitige oder clientbasierte Redirects?

Die serverseitige Weiterleitung nutzt den HTTP-Header, um dem Webbrowser (oder einem Crawler) mit Hilfe eines der beiden HTTP-Statuscodes 301 oder 302 die neue Adresse mitzuteilen.

  • Statuscode 301 – moved permanently: Die Umleitung gilt dauerhaft.
  • Statuscode 302 – moved temporarily: Die Umleitung besteht nur kurzzeitig.

Diese Unterscheidung ist hauptsächlich für Suchmaschinen relevant:

Der Statuscode 301 wird von den Webcrawlern der meisten Suchmaschinen dahingehend interpretiert, die alte URL aus dem Index zu entfernen und durch die neue URL zu ersetzen, während bei einem Statuscode 302 beide Adressen gleichberechtigt in den Suchergebnissen verbleiben.

SEO-Tipp: Verwenden Sie bei Änderungen in der Seitenstruktur immer den Statuscode 301, da es ansonsten durch Doppeleinträge zu Verlusten im Ranking kommen kann.

Die clientbasierte Weiterleitung nutzt Anweisungen im aufgerufenen Dokument, um dem Webbrowser (oder einem Crawler) die neue Adresse mitzuteilen. Für die Umsetzung wird also Zugriff auf die alte URL benötigt, da hier zwingend eine Datei hinterlegt werden muss.

Diese Form des Redirects eignet sich immer dann, wenn eine serverseitige Weiterleitung durch technische Limitierungen des Webhosters nicht möglich ist oder nur einzelne Seiten verschoben wurden.

Als Einschränkung muss gesehen werden, dass sich kein bestimmter Statuscode für den Redirect (301 oder 302) festlegen lässt, was allerdings nur für die Crawler von Suchmaschinen von Belang ist.

Weiterleitungen via .htaccess (serverseitig)

Die Datei .htaccess (der Punkt zu Beginn ist wichtig) wird von NCSA-kompatiblen Webservern wie Apache zur verzeichnis-spezifischen Konfiguration verwendet. Im Hauptverzeichnis einer Website abgelegt, gilt sie für die gesamte Seitenstruktur (alle Dateien und Ordner).

Grundsätzlich lassen sich mit .htaccess komplexe Konfigurationen realisieren, aber eben auch einfache Weiterleitungen wie die folgenden.

Da .htaccess nichts anderes als eine Textdatei ist, kann sie in jedem beliebigen Editor geöffnet und bearbeitet werden (beim Speichern auf das korrekte Dateiformat achten!).

Beispiel für die Weiterleitung der gesamten Website auf eine neue Domain:

Redirect 301 / https://www.14all.eu/

Beispiel für die Weiterleitung eines bestimmten Dokuments:

Redirect 301 /alter-pfad/index.html https://www.14all.eu/neuer-pfad/index.html

Alternativ zur permanenten Weiterleitung (301) ist auch ein temporärer Redirect möglich; in diesem Fall muss die Angabe entsprechend auf den Wert 302 geändert werden.

Keine .htaccess-Datei gefunden?

Da es sich bei .htaccess um eine versteckte Systemdatei handelt (erkennbar am Punkt als erstes Zeichen des Dateinamens), müssen Sie sicher stellen, dass Ihr FTP-Client diese auch anzeigt.

Normalerweise gibt es hierfür in den Einstellungen der Software eine entsprechende Option, welche Systemdateien in der Darstellung des Verzeichnisinhalts sichtbar macht.

Experten-Tipp: In der Kommandozeile können Sie hierfür den Befehl ls -la nutzen und dann beispielsweise mittels pico .htaccess die Datei gleich bearbeiten.

Testen, testen, testen!

Änderungen an der .htaccess-Datei treten sofort nach deren Aktualisierung in Kraft. Fehlerhafte Angaben können die Erreichbarkeit Ihrer Website gefährden.

Bitte testen Sie deshalb jede Anpassung äußerst gründlich und erstellen vorab eine Sicherungskopie der originalen .htaccess-Datei, damit diese bei Problemen schnell zur Hand ist.

Weiterleitungen via PHP (serverseitig)

Steht auf Ihrem Server oder Webhosting-Account die Programmiersprache PHP zur Verfügung, kann eine Weiterleitung auch damit erfolgen.

Legen Sie ein als PHP-Skript ausführbares Dokument (z.B. index.php) mit folgendem Inhalt an und kopieren es an die Stelle in der Verzeichnisstruktur, wo die Umleitung stattfinden soll:

<?php
header("Status: 301 Moved Permanently");
header("Location: https://www.14all.eu/intern-newsletter/");
exit;
?>

Das Skript definiert zwei Einträge im HTTP-Header, zum einen den Statuscode der Umleitung („Status“) und zum anderen die Ziel-URL („Location“). Für die Einrichtung eines temporären Redirects muss der Inhalt der zweiten Zeile wie folgt angepasst werden:

header("Status: 302 Moved Temporarily");

Voraussetzung für ein reibungloses Funktionieren dieser Variante ist, dass Sie das Skript zwingend am Anfang der Datei einbinden (ohne Leerzeichen oder Leerzeilen davor) und dem Dokument ansonsten keinen weiteren Inhalt hinzufügen.

Weiterleitungen via HTML (clientbasiert)

Das Meta-Tag http-equiv ist ein sogenanntes HTTP-Äquivalent. Diese dienen dazu, Funktionalitäten des HTTP-Headers auch auf Client-Ebene zu realisieren.

Für die Einrichtung einer Weiterleitung nutzen Sie die Angabe „refresh“ und übergeben im content-Attribut die Wartezeit bis zur Weiterleitung in Sekunden sowie die Ziel-URL (getrennt durch ein Semikolon).

Die Einbettung erfolgt im Header einer HTML-Datei, also in deren Kopfbereich. Das könnte so aussehen:

<html>
<head>
<meta http-equiv="refresh" content="0; URL=https://www.14all.eu/intern-newsletter/">
</head>
<body>
</body>
</html>

In diesem Beispiel wurde die Wartezeit auf 0 gesetzt, es erfolgt beim Aufruf der Seite also eine sofortige Weiterleitung an die hinterlegte URL https://www.14all.eu/intern-newsletter/.

Fallback-Alternative anbieten

Manche Webbrowser blockieren aus Sicherheitsgründen derartige Weiterleitungen oder fordern vom Anwender eine explizite Bestätigung an.

Daher macht es Sinn, im Körper des HTML-Dokuments einen erklärenden Hinweis auf die neue Adresse unterzubringen. Beispielsweise folgendermaßen:

<html>
<head>
<meta http-equiv="refresh" content="5; URL=https://www.14all.eu/intern-newsletter/">
</head>
<body>
Unsere Website wurde aktualisiert!<br /><br />
Die neue Version dieser Seite finden Sie unter der Adresse:<br />
<a href="https://www.14all.eu/intern-newsletter/">https://www.14all.eu/intern-newsletter/</a>. Sie werden in Kürze weitergeleitet...
</body>
</html>

Denken Sie daran, die Wartezeit für die Umleitung anzupassen (hier: 5 Sekunden); ansonsten haben selbst flinke Leser keine Chance, Ihren Hinweistext zu lesen. Im Fall technischer Probleme kann der Nutzer den anklickbaren Link verwenden, um ohne lästige Tipparbeit zur neuen Adresse zu gelangen.

Weiterleitungen via JavaScript (clientbasiert)

Ein Redirect via JavaScript funktioniert ganz ähnlich wie die HTML-Variante und erfordert ebenfalls einen Eintrag im Kopf einer HTML-Datei. Ein Beispiel:

<html>
<head>
<script>
window.location.replace("https://www.14all.eu/intern-newsletter/");
</script>
</head>
</html>

Die JavaScript-Methode „window.location.replace“ tut genau das, was ihr Name bereits vermuten lässt – sie ruft die übergebene URL im Webbrowser als neue Adresse des Dokuments auf.

Auch hier bietet sich an, den Besucher im Körper der Seite auf die Umleitung hinzuweisen. Für den Fall, dass der Webbrowser nicht in der Lage ist, JavaScript zu verarbeiten (was jedoch nur für sehr alte Versionen gilt) oder dies aus Sicherheitsgründen deaktiviert wurde.

Empfehlung zu Seiten-Weiterleitungen

Am einfachsten sind Redirects via HTML zu implementieren, doch nicht alle Webbrowser setzen dies für den Besucher transparent um.

Die Nutzung der .htaccess ist die professionellste Variante, jedoch technisch anspruchsvoll und vergleichsweise risikobehaftet (Fehler können zur Nichterreichbarkeit der gesamten Website führen).

Die Methode via PHP bietet einerseits die Vorteile einer serverseitigen Umleitung (z.B. explizite Angabe des HTTP-Statuscodes), andererseits ist sie auf ein einzelnes Dokument beschränkt (während in .htaccess sich beliebig viele Redirects an einer zentralen Stelle einrichten lassen).


Autor: Tobias Eichner | Datum der Veröffentlichung: September 2018
Wichtig: Bitte beachten Sie die Nutzungsbedingungen und rechtlichen Hinweise für diesen Beitrag!