301 Weiterleitung – Nutzer und Suchmaschine richtig navigieren

geschrieben am in der Kategorie SEO von

301 – 3 Ziffern, die vielen Internet-Nutzern schon über den Weg gelaufen sind. Der durchschnittliche Nutzer weiß wohlmöglich nichts damit anzufangen, jeder Webmaster sollte sich damit auskennen. Weiterleitungen spielen gerade in der Suchmaschinenoptimierung aber auch in der Customer Journey eine wesentliche Rolle. Sie leiten uns im besten Falle auf die Seite, die wir suchen, wenn alte Inhalte oder URL Strukturen nicht mehr existieren. Im schlimmsten Falle führen Sie uns in die Irre und treiben uns dazu, die Webseite zu verlassen.

Was ist eine 301-Weiterleitung?

301 Weiterleitung

Bildquelle: Peter von Bechen / pixelio.de

Technisch gesehen ist die 301 Weiterleitung (auch 301 Redirect) ein Statuscode, der vom Server an den Client geliefert wird, wenn dieser eine Anfrage (z.B. via Browser) stellt. Der Code 301 sagt dem Client, dass zur Erreichung des Ziels weitere Schritte nötig sind. Der Nutzer, der am Endgerät sitzt, bekommt davon nur wenig mit, da alle gängigen Browser die Antwort des Servers verarbeiten können und entsprechend reagieren. Populärwissenschaftlich kann man von einer Weiterleitung sprechen, d.h. der Nutzer wird aus einem bestimmten Grund auf eine andere URL umgeleitet, welche ungleich der ursprünglichen Ziel-URL ist. Welche Gründe diese Weiterleitung haben kann, darüber soll der folgende Abschnitt Aufschluss geben.

Wann sollte man eine 301 Weiterleitung einrichten?

Ein 301 Redirect wird immer dann nötig, wenn die alte URL nicht mehr erreichbar ist, deren Inhalte unter einer neuen Adresse abgelegt wurden oder die Inhalte veraltet sind und nicht mehr zur Verfügung gestellt werden sollen. Mögliche Anwendungs-Szenarien sind z.B. das Wegfallen eines Produktes im Webshop, der Umzug einer Domain auf eine andere Domain, Vermeidung von Duplicate Content oder das Verschieben eines Artikels zwischen verschiedenen Kategorien (abhängig von der Struktur des Online Shops).

Da Inhalte oft verlinkt werden – sowohl intern als auch extern – kommt es vor, dass verschiedene Links plötzlich ins Leere führen, wenn der Inhalt unter der ursprünglichen URL nicht mehr verfügbar ist. Als Beispiel könnte man hier ein Forum zur Hand nehmen, in dem ein Nutzer ein bestimmtes Produkt aus einem Webshop verlinkt. Nach einem halben Jahr ist der Artikel nicht mehr im Sortiment und wird auch aus dem Online Shop rausgenommen, d.h. der Inhalt der verlinkten URL wird gelöscht. Das führt nun dazu, dass Nutzer die den entsprechenden Beitrag lesen und dem Link folgen, auf einer Fehlerseite landen. In dieser Situation ist die Wahrscheinlichkeit sehr hoch, dass der Nutzer den Webshop wieder verlässt. Wie kann man das umgehen? – Auch wenn das Produkt nicht mehr verfügbar ist, kann man dem Nutzer ähnliche Produkte anbieten. Entweder man gestaltet dafür eine entsprechende Fehlerseite und bietet diese an, oder man schickt den Nutzer gleich weiter auf ein – sofern vorhanden – ähnliches Produkt oder eine Kategorieseite, auf der er dann stöbern kann. Somit minimiert man das Risiko, dass der Nutzer und potentielle Käufer abspringt. Wichtig: Trotz einem sauberen Weiterleitungs-Schema muss eine sinnvolle 404 Seite eingerichtet werden, die falsche Links abfängt. Weiterleitungen können keine 404-Seite ersetzen.

Zieht eine Domain um, von www.webshop-abc.de auf www.webshop-xyz.de, so muss die alte Domain weitergeleitet werden, damit Nutzer, welche über die alte URL in den Shop einsteigen wollen nicht auf einer Fehlerseite landen. Sonst würde auch an dieser Stelle viel Potenzial links liegen gelassen.

Das Duplicate Content Problem tritt auf, wenn z.B. die Startseite unter http://www.webshop-abc.de und http://webshop-abc.de erreichbar ist. Dann findet Google unter zwei unterschiedlichen URLs den gleichen Inhalt. Auch um dieses Problem zu lösen, bietet sich eine 301 Weiterleitung an. Dazu entscheidet man sich für eine Variante (ob mit oder ohne „www.“ ist für die Suchmaschine irrelevant, beeinflusst also die Rankings nicht) und leitet die andere Variante auf die URL der Wahl weiter. Hier können auch Tippfehler wie „ww.webshop-abc.de“ oder „wwww.webshop-abc.de“ abgefangen werden, um möglichst keine Nutzer zu verlieren.

Das letzte Anwendungsbeispiel soll sein, dass ein Produkt im Webshop einer anderen Kategorie zugeordnet wird. Die ursprüngliche URL des Produktes www.webshop-abc.de/deko/kerzenständerxyz ändert sich durch Verschieben in www.webshop-abc.de/licht-und-raum/kerzenständerxyz. Wird diese URL nun wieder von einer externen oder internen Seite verlinkt, landen Nutzer, welche dem Link folgen auf einer Fehlerseite. Auch hier sollte also eine Weiterleitung eingerichtet werden. Auch sollte man das Szenario bedenken, dass sich Nutzer auf der Webseite umschauen, eine Unterseite bookmarken und später darauf zugreifen wollen. Ist die URL dann nicht mehr erreichbar, kann man auch auf diesem Wege einen potenziellen Käufer verlieren.

Einrichten der 301 Weiterleitung

Eine 301 Weiterleitung wird am besten über die .htaccess Datei im Rootverzeichnis der Webseite implementiert. Dazu gibt es verschiedene Syntaxen – je nach Anwendungsfall. Natürlich gibt es auch noch diverse andere Möglichkeiten, die Weiterleitung einzurichten, darüber ausführlich zu berichten würde jedoch den Rahmen sprengen.

Die Standard-Weiterleitung richtet man mittels einer einzigen Zeile in der .htaccess ein. Dieser Code muss je nach Anwendungsfall angepasst werden. Im Folgenden ein paar Beispiele:

1. Weiterleitung eines Verzeichnisses auf ein anderes Verzeichnis

Redirect permanent /altesverzeichnis http://www.webshop-abc.de/neuesverzeichnis

Versucht ein Nutzer nun www.webshop-abc.de/altesverzeichnis/seite.php aufzurufen, so landet er auf der Seite www.webshop-abc.de/neuesverzeichnis/seite.php. Ob man hier die Phrase „Redirect permanent“ oder „Redirect 301“ nutzt, ist nicht von Bedeutung, nur sollte man den Status „permanent“ oder „301“ nicht ganz weglassen, sonst erwidert der Server der Statuscode 302, dazu später mehr. Außerdem ist zu beachten, dass die Quell-URL stets als relativer Pfad anzugeben ist, während das Weiterleitungsziel immer ein absoluter Pfad sein muss.

2. Weiterleitung einer einzelnen Seite

Redirect permanent /seite1.html http://www.webshop-abc.de/seite2.html

Hier wird der Nutzer beim Aufrufen von www.webshop-abc.de/seite1.html automatisch auf die Seite www.webshop-abc.de/seite2.html weitergeleitet. Dies kann nützlich sein, wenn sich eine einzelne URL ändert.

Für die Anwendung komplexerer Weiterleitungen empfiehlt sich der Einsatz der Rewrite Engine. Dieses Modul wird mit Apache Servern mitgeliefert. Sollte das Modul nicht aktiv sein, wird ein Mitarbeiter des Hosters mit Sicherheit seinen Teil zur Installation beitragen können. Weiterleitungen mittels der Rewrite Engine sind im eigentlichen Sinne keine Weiterleitungen: Wie der Name des Moduls schon sagt, wird hier die URL lediglich umgeschrieben. Bei entsprechender Kombination kann man allerdings auch mit der Engine 301 Weiterleitungen erstellen. Diese Form des Redirects ist wesentlich dynamischer und kann komplexere Anweisungen ausführen als zuvor vorgestellte Methode.

Die Rewrite Engine basiert auf der Prüfung von Regeln: Trifft eine spezifizierte Regel auf die angefragte URL zu, so wird der entsprechend hinterlegte Schritt ausgeführt.

Um mit der Rewrite Engine ganze URL Blocks abzufangen und umzuleiten wird der Einsatz von regulären Ausdrücken (regular Expressions) nötig. Mittels dieser „Platzhalter“ lassen sich Schemata festlegen, die überprüft werden. Entspricht eine URL einem spezifizierten Muster, so wird die entsprechende Anweisung ausgeführt. Mit der Rewrite Engine lassen sich zahllose Varianten an Weiterleitungen einrichten, so dass das einen eigenen Blogbeitrag wert wäre. Da wir uns aber dann schon ziemlich weit vom Thema SEO entfernen, überlasse ich dies lieber Programmierer-Blogs oder -Foren.

Anwendungsfälle für die Rewrite Engine: Umleitung ganzer Verzeichnisse, Umleitung von Seiten mit einem (oder mehreren) bestimmten Paramter, …

Weitere Möglichkeiten, eine 301 Weiterleitung einzurichten:
PHP Weiterleitung (es wird via Header ein Statuscode übergeben)
• IIS Weiterleitung
• ColdFusion Weiterleitung
• Java Weiterleitung
• …

Eine Übersicht zu vielen Weiterleitungsarten inklusive Codeschnipsel findet ihr hier.
Wichtig: Das Weiterleitungsschema muss konsistent sein und darf unter gar keinen Umständen Zirkelbezüge aufweisen (Endlosschleifen, in denen der Nutzer zwischen zwei oder mehr URLs hin und her geleitet wird). Auch sollte man Doppelweiterleitungen vermeiden um die Performance der Seite nicht zu beeinflussen.

Alternativen zur 301 Weiterleitung

Man kann natürlich dem Browser auch noch ganz andere Statuscodes zurückliefern. Jedoch sollte man stets darauf achten, dass alle gängigen Browser mit jenem Code umgehen können, damit es nicht zu Missverständnissen kommt.

Eine in den meisten Fällen schlechte Alternative zum 301 Redirect ist der Statuscode 302. Dieser wird „dekodiert“ mit dem Ausdruck „vorrübergehende Weiterleitung“. Das bedeutet, dass der Inhalt der Ziel-URL vorrübergehend unter einem anderen Pfad zu erreichen ist. Großes Manko an dieser Art der Weiterleitung: In einigen Fällen wird Google den Linkjuice über diese Links nicht weitergeben, auch der Pagerank wird nicht in allen Fällen weitervererbt. Matt Cutts äußerte einst (2006), dass die Behandlung dieser Weiterleitungen von Google abhängig von der Länge der ursprünglichen und aktuellen URL ist. Wer sich dazu näher belesen möchte, kann das auf dem offiziellen Blog von Matt tun. Aus SEO Sicht ist die Lösung also wenig ratsam, was nicht bedeuten soll, dass sie nicht an verschiedenen Stellen sinnvoll sein kann.

Ein weiterer Typ ist die 300 Weiterleitung. Bei dieser Weiterleitung wird erst beim Aufruf entschieden, welches Ziel die Weiterleitung hat. Das Ziel wird aus einer vordefinierten Liste gewählt. 307 und 308 sind alternative „Bezeichnungen“ für vorrübergehende und permanente Weiterleitungen. Wer sich einen Überblick über alle möglichen HTTP Statuscodes holen möchte, dem sei diese Seite empfohlen.

Neben der Weiterleitung über den Statuscode, kann man den Nutzer auch mit einem Frame „weiterleiten“. Dazu wird die neue Ziel-URL, welche eigentlich das Weiterleitungsziel wäre, mit einem Frame im Inhalt der alten URL eingebunden. Dies kann aber zu Missverständnissen gegenüber der Suchmaschine führen und bietet auch ein gewisses Risiko für Duplicate Content. Gerade verschiedene Webhoster bieten diese Art der Blendung in den Website-Baukästen an. Vom Einsatz der Frames stellvertretend für Weiterleitungen ist grundsätzlich abzuraten, da dann unterschiedliche Inhalte unter ein und derselben URL erreichbar sind.

Google und Weiterleitungen

Wie oben schon angesprochen, ist das Einrichten von Weiterleitungen nicht nur wichtig für Nutzer, sondern auch für die Suchmaschinen. Wenn der Suchmaschinen-Crawler auf der URL landet, für die eine Weiterleitung eingerichtet wurde, so sieht er stets die Inhalte des Weiterleitungsziels, weiß aber auch, dass eine Weiterleitung zwischengeschaltet wurde, was nicht weiter tragisch ist.

Wichtig ist, dass gerade URLs, die von externen Seiten verlinkt werden erreichbar sind. Linkjuice fließt nicht über Links, die auf einer Seite mit dem Statuscode 404 münden. Deshalb muss eine Weiterleitung eingerichtet werden, welche den Linkjuice weiterreicht – am besten via 301-Statuscode. Wie oben schon erwähnt, ist dies auch mit einem 302-Statuscode möglich, allerdings sollte man lieber sichergehen und die permanente Variante des Redirects nutzen.

Weiterleitungen in Content-Management-Systemen

WordPress bietet beispielsweise die Möglichkeit mit Plugins Weiterleitungen zu erstellen. An dieser Stelle sei Simple 301 Redirects als potentieller Kandidat erwähnt. Bei der Benutzung verschiedener Plugins ist zu beachten, das entsprechende Rechte an der .htaccess Datei vergeben werden müssen, sonst darf WordPress diese Datei nicht ändern und kann die Weiterleitung nicht einrichten.

Die meisten Shopsysteme können bereits in der Standardversion Weiterleitungen anlegen. Um die entsprechende Funktion zu finden, muss man je nach Anwendungszweck das Backend durchsuchen. Für Shopware hält beispielsweise der SEO Router verschiedene Funktionen bereit. Auch Magento hält mit dem URL Rewrite Management eine entsprechende Funktion bereit. Natürlich kann mit diesen Standardformularen nicht jeder Fall beachtet werden, aber an manchen Stellen helfen auch sie schon. Für alle weiterführenden Anwendungen muss man selbst Hand anlegen und die .htaccess mit eigenen Codeschnipseln befüllen.

Für viele Fälle wurden auch schon Lösungen gefunden und Google hilft ungemein bei der Bewältigung des Problems. Viele Foren halten bereits entsprechende Codebausteine bereit, welche dann nur noch entsprechend angepasst werden müssen.

Fazit

Beim Einsatz von Weiterleitungen ist größte Sorgfalt gefordert. Für die Performance der Webseite ist ein sauberes Weiterleitungsschema unentbehrlich – sowohl um die User Experience qualitativ zu sichern, als auch Google die Webseitenstruktur klar verständlich zu machen und keine leichtfertigen Ranking-Einbußen in Kauf zu nehmen.

Auch wenn eine Weiterleitung funktioniert, lohnt es sich in vielen Fällen, verschiedene Szenarien durchzuspielen und verschiedene URLs, die von der Weiterleitung betroffen sind (oder sein könnten!!!) zu testen um Nutzer und Suchmaschine keine wichtigen Inhalte vorzuenthalten. Gerade bei der Arbeit mit der Rewrite Engine ist das Durchspielen verschiedener Testszenarien für weniger erfahrene Anwender unentbehrlich.

Stefan ist seit November 2011 Teil des Projecter-Teams. Mit seinem Interesse an der „Maschine“ Internet ist er dort auch gut aufgehoben. Stefan ist ursprünglich als Werkstudent auf der Suche nach Praxiserfahrung zu Projecter gekommen und hat im Oktober 2011 sein Bachelor-Studium der Angewandten Mathematik abgeschlossen. Nach Traineeship und vier Jahren als Account Manager leitet Stefan seit Februar 2016 den Affiliate Kanal und das Analytics Team.

Einen Kommentar schreiben

* Pflichtfelder

  1. Wichtig ist auch noch, dass man nicht denkt, dass solche 301-Weiterleitungen schlecht für den Linkjuice sind und man daher URLs von Seiten nicht mehr ändern sollte, um diesen zu erhalten. Es wurde bereits mehrfach getestet und auch bei einer 301er werden alle darauf verweisenden Links auf die neue URL weitergeleitet – es ist also eine sehr gute Möglichkeit, auch Seiten, bei denen die URL nicht mehr ganz passt, trotzdem noch suchmaschinen- und nutzerfreundlich umzugestalten.

  2. Danke für den ausführlichen Beitrag – du schreibst, dass bei Shopware der SEO Router einige Funktionen für die Weiterleitungen bereithält – ich habe mal nachgeschaut und kann da leider nichts finden, womit mit eine einfache Einrichtung einer 301-Weiterleitung ermöglicht wird – vielleicht liegt es auch an der neuen 4er-Version von Shopware? Über einen kurzen Tipp würde ich mich freuen.

    Viele Grüße

    • Hi Jasmina,

      es kommt natürlich drauf an, was für Weiterleitungen Du einrichten möchtest.Soweit ich das Überblicke stellt der SEO Router eher Funktionen für Rewrites zur Verfügung, so dass die unschönen URLs (z.B. http://www.ihrshop.de/detail/index/sArticle/326) durch sprechende ersetzt werden, also ganze URL Blocks bearbeitet werden.

      Für die Weiterleitung einzelner Seiten konnte ich allerdings auch keine Infos finden. Hier musst Du dann wahrscheinlich auf die htaccess und ggf. auch noch einmal auf die Rewrite Engine zurückgreifen.

      Ich hoffe, ich konnte Dir helfen.

      Beste Grüße

      Stefan

  3. Hallo Stefan,
    danke für die ausführliche und gut verstehbaren Ausführungen auch für Nicht-Techniker.

    Bietet sich eine 301 auch bei „unechten“ URL-Änderungen an? Ein Beispiel. Projecter.de hat bei seinen URLs .html hinten dran. Sagen wir mal, ihr wolltet auf WordPress als neues CMS umstellen, hättet auch statische Seiten mit .html-URLs und wollt eure URLs exakt so beibehalten mit WP. In WP kann man aber keine Seiten mit .html-Urls anlegen. Der Zusatz „.html“ muss beim Anlegen der Seiten zunächst mal wegbleiben.

    Einige lösen das mit Plugins (z.B. „.html on pages“), die html anfügen, andere eben mit einer 301, die dann die in WP angelegte z.B. projekter.de/seo auf projekter.de/seo.html umleitet. Würdest du hier 301 bevorzugen?

    Grüße,

    Martin

    • Hi Martin,

      rein technisch gesehen und gemäß der Empfehlungen von Google, müsste das eine 301 Weiterleitung sein. Wenn du aber Sitewide Weiterleitungen händisch einrichten möchtest hast Du einen riesen Haufen Arbeit vor Dir und Fehler sind fast vorprogrammiert. 😉 Aus diesem Grund solltest Du dieses Problem über einen Rewrite lösen.

      Dazu definierst Du in der .htaccess Regeln mit regulären Ausdrücken, welche bei jedem URL-Aufruf geprüft werden. Wenn eine Regel dann zutrifft, so wird an das Ende der URL ein .html angehängt. Damit simulierst du quasi eine Weiterleitung. Wichtig ist, dass Du an das Ende des Codeblocks den Teil „[R=301,L]“ anhängst, damit auch eine 301 simuliert wird.

      Infos zu URL Rewrites findest Du z.B. unter http://www.askapache.com/htaccess/modrewrite-tips-tricks.html

      Ich hoffe, Du kannst mit den Infos Dein Problem lösen.

      Beste Grüße

      Stefan

      • Hallo Stefan,
        danke für die Info, „Problem“ habe ich noch keines, will aber auch keines bekommen.
        Ich verstehe leider nicht, warum hier die 301-Status-Info richtig ist. Wäre nett, wenn du mir das erklären kannst.

        Wenn bei mir z.B. http://www.domain.de/blabla.html unter WordPress als CMS wieder http://www.domain.de/blabla.html werden soll, ist das also ein Fall, der den Statuscode 301 = dauerhafte URL-Veränderung rausgeben sollte?

        Google sagt zur 301: https://support.google.com/webmasters/answer/93633?hl=de

        Oder andersrum gefragt, wenn WordPress bei der dynamischen URL-Erzeugung rein technisch bedingt bei „pages“ (anders als bei posts) Hilfe braucht, um vom „Zwischenschritt“ http://www.domain.de/blabla auf das Endergebnis http://www.domain.de/blabla.html zu kommen, ist das „301“?

        Da sich die URLs für mich, den Web-User und auch Google nicht ändern sollen, hätte ich jetzt eher an ein rein server-INTERNES mod-rewrite gedacht – oder ggf. ein Plugin, das innerhalb von WP den URLs das .html anhängt.

        Grüße,

        Martin

      • Hallo Stefan,
        danke für die Info, „Problem“ habe ich noch keines, will aber auch keines bekommen :).
        Ich verstehe leider nicht ganz, warum hier die 301-Status-Info richtig ist. Wäre nett, wenn du mir das erklären kannst.

        Wenn bei mir z.B. http://www.domain.de/blabla.html unter WordPress als CMS wieder http://www.domain.de/blabla.html werden soll, ist das also ein Fall, der den Statuscode 301 = dauerhafte URL-Veränderung rausgeben sollte?

        Oder andersrum gefragt, wenn WordPress rein technisch bedingt speziell bei pages etwas Hilfe braucht, um bei der dynamischen URL-Erzeugung von http://www.domain.de/blabla.html auf das gewünschte Endergebnis http://www.domain.de/blabla.html zu kommen, ist das quasi eine permanente URL-Veränderung?

        Da sich für mich, den Web-User und auch Google die URLs NICHT ändern sollen, hätte ich jetzt eher an eine server-INTERNE Rewrite-Anweisung in der .htaccess gedacht, die das von WP erzeugte blabla auf blabla.html umleitet.

        Google zur 301: https://support.google.com/webmasters/answer/93633?hl=de

        Grüße,

        Martin

      • Hi Martin,

        wenn Deine Seite die ganze Zeit unter http://www.domain.de/blabla lief und dann plötzlich unter http://www.domain.de/blabla.html läuft, so ist das ja schon (wortwörtlich) eine permanente URL Änderung. Wenn hier z.B. externe Backlinks auf eine „alte“ URL zeigen, dann wird deren Kraft auch nur durch eine 301 transportiert, deshalb ist eine 301 das richtige Werkzeug.

        Also zusammenfassend: URLs die bereits auf eine andere Weise bestanden, müssten via 301 weitergeleitet werden. Bei neuen URLs ist es in Ordnung, wenn „nur“ die neuen Varianten erreichbar sind. (Anpassung der internen Verlinkung nicht vergessen)

        Beste Grüße

        Stefan

  4. Super Beitrag. Anhand deiner Hilfe und des von dir erwähnten WP-Plugins, habe ich die meisten fehlerhaften Links korrigiert. Jetzt bin ich glücklich 🙂

  5. Hallo Stefan!

    Vielen Dank für den sehr ausführlichen Beitrag!

    Bei mir war das Problem, dass ich einige Artikel als Blogartikel angelegt habe wobei es sich um Produkte handelte. Irgendwann musste ich auf WooCommerce umsteigern und Beiträge in Produkte umwandeln. Dadurch ist natürlich DC entstanden. Die Lösung war 301-Redirect von Beiträgen zu den Produkten. Hoffentlich war das die richtige Lösung.

    Gruß
    Eugen