Unbekannt verzogen? Nicht mit htaccess Redirects. Über Weiterleitungen für Webseiten führst du User und Bots von einer alten URL zu einer neuen Adresse. Wir erklären dir, wie diese Weiterleitungen funktionieren, warum sie so wichtig sind und wie du typische Fehlerquellen umgehst.
Neuer Server, neuer Host, neue Webseitenstruktur: Es gibt gute Gründe, warum eine Webseite umzieht. Diesen Umzug solltest du gut vorbereiten. Sonst landen Google-Bots und User bei der alten Adresse, erhalten von dort aber nur eine Seite mit dem 404-Fehlercode.
Die einfachste Möglichkeit, einen Weg von der alten zur neuen URL zu ebnen, sind permanente Weiterleitungen mit dem HTTP-Statuscode 301.
Diese kannst du unter anderem über htaccess Redirects in der .htaccess-Datei für Apache Webserver realisieren. Dafür muss das mod_rewrite Module aktiviert sein.
Weiterleitungen sorgen nicht nur dafür, dass dein Content gefunden und besucht wird. Sie sichern dir auch deine Sichtbarkeit über Suchmaschinen.
Grundlagen: Wie funktioniert eine 301-Weiterleitung?
Jede Website im World Wide Web ist an einem bestimmten Ort zu finden, der über Kommunikations- und Übertragungsprotokolle von einem Client (z. B. Browser) gesucht und von einem Server bereitgestellt wird. Alle dafür notwendigen Informationen sind in der URL abgebildet.
Weil diese Adresse nicht nur den Ort, sondern auch die Art des Zugriffs auf diese Website mitteilt, gibt es Zugriffsregeln, die für alle Verzeichnisse der Domain gelten. Diese sind für Apache Webserver in der textbasierten Datei .htaccess hinterlegt.
Bei jedem Serverzugriff werden die Verzeichnisse hinsichtlich dieser Regeln gescannt. Ist alles an seinem definierten Platz, meldet der Server dem Client einen Erfolg (HTTP-Statuscode 200) und schickt die gewünschten Daten (also den Inhalt der Webseite) an den Client.
Wird eine Website zum Beispiel von einem Unterverzeichnis in eine andere Kategorie verschoben, ohne dass diese Änderung korrekt eingetragen und „gemeldet“ wurde, gibt es ein Problem:
Die Client-Anfrage erfolgt auf die alte URL. Diese existiert jedoch nicht mehr. Der Server schickt den Statuscode 404 (Not Found). Der Nutzer sieht im besten Fall eine hübsch gestaltete 404-Seite, ist aber genauso schlau wie vorher.
Um dies zu umgehen, richtest du eine (permanente) Weiterleitung von der alten auf die neue URL ein. Über htaccess Redirects erhält der Server eine Wegbeschreibung von der alten zur neuen Adresse, die er dem Client mitteilen und weiterreichen kann. Diese Weiterleitungen werden als Statuscode 301 (Moved Permanently) angezeigt.
Es gibt auch temporäre Weiterleitungen (Statuscode 302), die in diesem Zusammenhang jedoch keine gute Idee sind.
Denn damit signalisierst du nur einen zeitweiligen Umweg, willst aber deine neue URL als permanente Basis für die Indizierung etablieren.
Was ist eine htaccess-Weiterleitung?
Linux Apache-Server werden über die .htaccess-Datei konfiguriert. Sie sind der am weitesten verbreitete Servertyp und damit Blaupause für die Einrichtung einer 301-Weiterleitung per htaccess Redirects.
Die Textdatei .htaccess regelt auch den Verzeichnisinhalt, also die Wegbeschreibungen zu den einzelnen Seiten und URL. Diese Datei findest du im Root-Verzeichnis. Für den Zugriff benötigst du ein FTP-Programm und einen standardmäßigen Texteditor.
Mittels Quellcode für die Weiterleitung teilst du in dieser zentralen Datei mit, von welcher Ursprungs-URL auf welche neue URL umgeleitet werden soll. Mit dieser Information löst der Verzeichnisscan sauber auf und der Nutzer wird zum gewünschten Content geführt.
Wie erstelle ich htaccess Redirects?
In der .htaccess-Datei kannst du über das (aktivierte) mod_rewrite Module höchst komplexe Weiterleitungen und Verzeichnisregeln festschreiben. Ob du diesen Weg gehst, solltest du von der tatsächlichen Komplexität der Weiterleitungen und deinem Wissensstand abhängig machen.
Der grundsätzliche Quellcode für htaccess Redirects im mod_rewrite lautet:
RewriteEngine On
RewriteRule ^vz/dokument.html https://www.domain.de/dokument.html [R=301]
- RewriteEngine On „aktiviert“ das Rewrite-Modul.
- RewriteRule leitet die Weiterleitungsregeln ein.
- Es folgt ein LEERZEICHEN.
- Die alte URL wird mit der ursprünglichen Verzeichnisposition angegeben.
- Es folgt ein LEERZEICHEN.
- Die neue URL wird vollständig angegeben.
- Abschließend muss der HTTP-Statuscode für permanente Weiterleitungen (301) definiert werden. Vergisst du das, greift Apache auf seine Standardeinstellung 302 (temporäre Weiterleitung) zurück.
Anstelle von .htcaccess Redirects über das mod_rewrite Module kannst du auch Redirect-Direktiven im mod_alias erstellen. Das hat den Vorteil, dass du bei eingeschränktem Wissen nicht in den Eingeweiden deiner Webseite arbeitest.
Auf der anderen Seite ist der Weg über Apache mod_alias nur für einfache Weiterleitungen sinnvoll – zum Beispiel, wenn du eine einzelne Webseite ein Verzeichnis höher schieben willst. Dazu nutzt du die generelle Syntax:
Redirect [URL-path] URL
Es gibt noch viele weitere Möglichkeiten, um 301-Weiterleitungen in der für dich bequemsten Form zu realisieren. Einen Überblick mit Quellcode-Vorlagen haben wir im Beitrag Wie erstelle ich eine 301-Weiterleitung? zusammengestellt.
Wie vermeide ich Fehler bei htaccess Redirects?
Wenn du in einem Root-Verzeichnis oder einer zentralen Datei wie .htcaccess Änderungen vornimmst, solltest du vorher zwingend ein Backup dieser Datei machen.
Schon der kleinste Syntaxfehler (zum Beispiel fehlende Leerzeichen) führt zu unerwarteten Serverproblemen (HTTP-Statuscode 500). Als Fehler (vor allem aus SEO-Sicht) gilt es auch, wenn du Weiterleitung auf Weiterleitung setzt und sogenannte Weiterleitungsketten generierst.
Ein Zwischenschritt über eine URL ist (auch für Google) in Ordnung, alles darüber hinaus sorgt für ein höchst instabiles System und die Gefahr, dass die Weiterleitung nicht mehr funktioniert.
Doch bevor du dich überhaupt mit htaccess Redirects auseinandersetzt, ist es wichtig, alle URL zu identifizieren, die Weiterleitungen benötigen.
Die Google Search Console bzw. das SISTRIX Optimizer-Tool zeigen dir an, welche Seiten einen 404-Fehler generieren, weil sie verschoben oder geändert wurden.
Welchen Einfluss haben htaccess Redirects auf Sichtbarkeit und SEO?
Aus nachvollziehbaren Gründen will Google, dass die Nutzer dort landen, wo sie etwa beim Klick auf die Google SERPs hinwollten. Enden solche Klicks in einer 404-Sackgasse, geht Google davon aus, dass deine Website weniger relevant ist.
Ähnlich „frustriert“ reagieren die Crawler, wenn sie bei einer neuen Indexierung auf ein „Unbekannt verzogen“ treffen. Dann wird diese Seite – auf der sich vielleicht dein rankingstärkster Content befindet – aus dem Index gelöscht und geht für dein Ranking verloren.
404-Fehler bzw. Deadlinks sind außerdem ein nutzerbezogenes Problem. Funktionieren interne Links auf deiner Website nicht mehr, steigen Nutzer aus und schauen sich bei anderen Anbietern um.
Funktionieren externe Backlinks nicht mehr, leiden deine Reputation und das Image der verlinkenden Seite. Und niemand will auf Dauer mit einem permanenten 404-Generator zusammenarbeiten.
Über Redirects als Bestandteil der OnPage-Optimierung schlägst du also viele entscheidende SEO-Fliegen mit einer Klappe. Dabei sind die Weiterleitungen nicht nur ein technisches Mittel zum Zweck. Sie erlauben dir auch, deine Verzeichnisstruktur zu hinterfragen und zum Beispiel unübersichtliche Menüs aufzuräumen.
Spätestens, wenn du vor lauter Einzel-Weiterleitungen deine Verzeichnisse nicht mehr siehst, solltest du dich fragen, ob du mit dieser Struktur überhaupt noch glücklich bist.
Deshalb sind Restrukturierungen meist integraler Bestandteil eines Relaunchs, was wiederum niemals ohne Weiterleitungen angegangen werden sollte. Der Aufwand ist am Anfang groß, lohnt sich aber auf lange Sicht enorm.
Fazit
htaccess Redirects bzw. 301-Weiterleitungen sind die einfachste Möglichkeit, dein Ranking und die korrekte Darstellung deiner Website zu sichern, wenn du an Struktur schraubst oder einen Seitenumzug planst.
Wichtig ist dabei, dass du die Regeln kennst, die richtigen Weiterleitungen etablierst und bei der Umgehung von Error 404 keine neuen Fehlercodes generierst.