13.06.2017

Weiterleitungen sind client- oder serverseitige Umleitungen von Ressourcen (beispielsweise URLs). Dabei werden alte, nicht oder nicht mehr existierende URLs zur neuen URL weitergeleitet. Weiterleitungen können über zwei Wege realisiert werden. Eine Weiterleitung mittels PHP-Datei oder mit der Konfigurationsdatei htaccess. Darüber hinaus kann noch per JavaScript oder per HTML weitergeleitet werden, was sich allerdings aus SEO-Sicht weniger empfiehlt.

Wann werden 301 Weiterleitungen verwendet?

Weiterleitungen haben aus verschiedenen Gründen ihre Daseinsberechtigung, um wie oben beschrieben eine Verknüpfung von der alten zur neuen Ressource zu schaffen. Des Weiteren sind Weiterleitungen empfehlenswert, wenn:

  • alte URLs z. B. nach einem Relaunch dem neuen Ziel zugeordnet werden müssen
  • Backlinks auf nicht (mehr) vorhandene Seiten umgeleitet werden sollen, so dass kein Linkjuice „verpuffen“ kann
  • 404-Fehlerseiten ausgeschlossen und durch die Weiterleitung auf die korrekte Ziel-URL umgeleitet werden sollen
  • Duplicate Content vermieden werden soll– zum Beispiel durch den synchronen Aufruf einer Seite mit und ohne www

Weiterleitungen via PHP erstellen

Die Weiterleitung mittels PHP wird direkt im Quellcode der Datei realisiert. Beim Aufruf dieser und der folgenden Anweisung wird per 301-Weiterleitung zur neuen Zielseite umgeleitet.

# Weiterleitung mittels PHP:
 <?php
 header("HTTP/1.1 301 Moved Permanently");
 header("Location: http://www.example.com/neues-ziel.php");
 header("Connection: close");
 ?>

Weiterleitungen via htaccess erstellen

Die Hypertext Access, kurz htaccess, ist eine Konfigurationsdatei die das Verhalten eines Webservers beeinflussen kann. Weiterleitungen bilden damit nur einen Teil des Funktionsumfangs der htaccess.

htaccess-Voraussetzungen

Um die Funktionalitäten der htaccess nutzen zu können ist ein Apache Webserver notwendig. Wenn man sich nicht sicher ist, ob dies der Fall ist, dann kann entweder der Hoster Auskunft geben oder man erstellt auf dem Webserver eine Datei mit dem Namen phpinfo(); und ruft diese auf. Der Aufruf zeigt alle Informationen zur verwendeten PHP-Version.

Ist diese Voraussetzung gegeben, so kann – sofern noch keine bestehende htaccess vorhanden ist – ein leeres Textdokument mit einem beliebigen Texteditor erstellt werden. Anschließend muss über „Datei speichern“ der Dateityp „Alle Dateien“ gewählt werden. Der Dateiname lautet „.htaccess“. Der „Punkt“ vor dem Dateinamen ist Bestandteil und damit elementar bei der Namensvergabe. Anschließend wird das Dokument in das Root-Verzeichnis des Webservers geladen.
Hinweis: Da die htaccess mit einem Punkt beginnt, kann das FTP-Programm so voreingestellt sein, dass die Datei ausgeblendet ist. Dies muss, je nach Software, wieder eingeblendet werden.

Ist bereits eine htaccess auf dem Webserver vorhanden, so sollte diese natürlich entsprechend herangezogen werden.

htaccess-Kommentare einbinden

Damit man auch bei einer großen Anzahl an Weiterleitungen/Änderungen den Überblick behält, sind Kommentare empfehlenswert. Diese werden mit einer Raute versehen und leiten einen Kommentar zeilenweise ein.

# Dies ist ein Kommentar zur 301-Weiterleitung in der htaccess
Redirect 301 /alte-seite.html http://www.example.com/neue-seite.html

Redirect- versus RewriteRule-Anweisungen erstellen

Grundsätzlich und wie beide Namen schon andeuten, unterscheiden sich Redirect und RewriteRule in ihren Funktionalitäten. Redirect oder auch Weiterleitung bezeichnet eine Umleitung von einer alten zur neuen URL.

RewriteRule oder auch Rewrite-Engine ermöglicht interne Anfragen umzuschreiben. Basis dafür bildet das Apache Modul mod_rewrite. Mit diesem Modul können URLs manipuliert und nach Belieben geändert werden. Eine Manipulation ist zum Beispiel bei der Änderung auf suchmaschinenfreundliche URLs interessant:

# Paramater-URL vor der Manipulation durch mod_rewrite:
 http://wwww.example.com/default.html?lang=de?page_id=24

# suchmaschinenfreundliche URL nach dem Einsatz von mod_rewrite:
 http://www.example.com/das-ist-eine-lesbare-url

Beispiel einer 301-Redirect-Anwendungen:

Mit der 301-Weiterleitung wird von einer bestehenden oder alten URL auf eine neue URL verwiesen. Beispielsweise wenn eine bisherige Adresse nicht mehr existent ist und auf ein neues Ziel verweisen soll, bei einem Relaunch oder einer Verzeichnis-/Pfadänderung.

# 301-Weiterleitung von einer alten zur neuen Ressource
Redirect 301 /alte-seite.html http://www.example.com/neue-seite.html

Aufbau von 301-Redirects/Weiterleitungen mittels htaccess

# Syntax einer 301-Weiterleitung:
 Redirect 301 AlteRelativeURL NeueAbsoluteURL

# Beispiel einer 301-Weiterleitung:
 Redirect 301 /alte-seite.html http://www.example.com/neue-seite.html

# Alternative Syntax:
 Redirect permanent AlteRelativeURL NeueAbsoluteURL
 Redirect permanent /alte-seite.html http://www.example.com/neue-seite.html

Grundsätzlich besteht die Syntax einer 301-Weiterleitung aus folgendem Schema:


Beispiel einer RewriteRule-Anwendung:

# Weiterleitung von non-www zu www:
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

RewriteCond: beinhaltet Bedingungen, die erfüllt sein müssen – hier: führe folgende Regel nur(!) aus, wenn der Ausdruck (die Domain) nicht „www.example.com“ entspricht

%{HTTP_HOST}: enthält den Hostnamen
!: nicht/Negation des folgenden Ausdrucks
^: alle folgenden Zeichen ab „^“
$: Ende des regulären Ausdrucks
[NC]: no case (sensitive) – Groß- und Kleinschreibung wird ignoriert

RewriteRule: definiert die Regel, wie mit der Anweisung verfahren werden soll – hier: leite alle URLs, die aus obiger Bedingung zutreffen, per 301 -Weiterleitung zur www-Version um

.*: eine komplette Zeichenfolge
$1: ersetzt das Ziel, welches (.*) enthält
[L]: last – alle nachfolgenden Anweisungen ignorieren
[R=301]: Redirect – 301-Weiterleitung

Mit RewriteRule sind aber weitaus mehr Anwendungen möglich. Ein Kompendium an Anwendungen bietet die Apache Dokumenation.

Weitere Anwendungen mittels htaccess

  • Zugriffsbeschränkungen: Passwortschutz oder Login-Daten
  • IP-Adressen oder IP-Bereiche ausschließen
  • Zeichensatz festlegen (zum Beispiel utf-8)
  • Eigene Fehlerseiten (Error Messages)
  • Alle IE-Nutzer aussperren 🙂

Vorsicht! Diese Weiterleitungs-Fehler solltest du vermeiden

  1. Grundsätzliches
    Mit der htaccess-Datei können weitreichende serverseitige Konfigurationen vorgenommen werden, welche im schlimmsten Fall zu folgenden Fehlern führen können:

    • Fehlerseiten
    • Backend und/oder Frontend sind nicht (mehr) erreichbar
    • Ausschluss von Seiten aus dem Google Index
    • Änderungen von Verzeichnis- und Verhaltens-Regeln

    Eine unsaubere Syntax kann also mitunter zu Programmfehlern führen und letztendlich die Domain unerreichbar machen. Es muss also auf eine exakte Schreibweise geachtet werden!

    Es empfiehlt sich daher vor jeder Änderung der htaccess-Datei, als auch generell bei Änderungen am gesamten System, ein Backup der Dateien zu erstellen.

  2. Zu viele Weiterleitungen
    Eine Begrenzung von Weiterleitungen gibt es per se nicht. Theoretisch können mehrere tausend Anweisungen in der htaccess stehen. Zu viele Weiterleitungen hintereinander stellen jedoch ein Problem dar. Zum einen können sie die Performance unnötig belasten bzw. „drücken“. Dies äußert sich durch größere Ladezeiten und erfreut weder den Nutzer noch den Googlebot.Zum anderen springt der Googlebot ab einem gewissen Punkt der Weiterleitungskette ab und verfolgt diese nicht weiter. In der Folge wird keine Linkkraft (Linkjuice) weitergegeben und das Weiterleitungsziel kann nicht gecrawlt werden
  3. Falsche Weiterleitungen oder Weiterleitungsziele
    Um eine korrekte Usability zu gewährleisten, sollten Weiterleitungen so eingerichtet werden, dass Quelle und Ziel logisch miteinander verknüpft sind und diese der Erwartungshaltung des Nutzers entsprechen.Übertrieben gesagt, sind Nutzer weniger erfreut, wenn die gewünschte Zielseite eine Weiterleitung enthält, die zum Impressum o.ä. führt. Dies kann im „Worst Case“ zum Seitenausstieg führen.  Google erhält dadurch negative Signale, was sich wiederum negativ auf das Ranking auswirken kann. Weiterleitungen sollten also mit Bedacht gewählt werden!

Matt Cutts hat zur Thematik „Redirects hintereinander“ noch ein paar erhellende Worte zu sagen:

 

Fazit: Weiterleitungen mit der htaccess bilden ein mächtiges Werkzeug, sollten aber mit Bedacht genutzt werden

Weiterleitungen sind für Webseitenbetreiber essentiell und unerlässlich. Damit diese korrekt implementiert werden können, stellt die Konfigurationsdatei htaccess ein geeignetes Mittel dar. Mit den schier unendlichen Anpassungsmöglichkeiten und Weiterleitungsoptionen, die das Verhalten eines Webservers beeinflussen, können aber auch viele Fehler entstehen, die die Seite u. U. abstürzen lässt. Wer also stets ein Backup seiner htaccess zieht und ein wenig Übung in der Syntax hat, der kann die Struktur seiner Website mit wenigen Handgriffen massiv beeinflussen.

(Bildmaterial: Pixabay.com)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.