301 Redirect: Weiterleitung per htaccess, PHP & Plugin

Ab und an kommt es vor, dass Seiten durch neue ersetzt werden (müssen). Ist die betreffende Seite gut gerankt, wäre es natürlich dumm, auf Traffic und somit Leser und Kunden zu verzichten. Musst du auch nicht, die Lösung heißt 301 Redirect.

Mir persönlich ist das gerade bei meiner Harzer Wanderseite passiert. Die Struktur steht, die ersten Seiten sind im Netz – und schon ist alles nicht ganz so optimal wie gedacht. Dummerweise sind die Seiten, die mich stören, längst in Google gelistet. Was also tun? Einfach die Seiten verlegen und Schwamm drüber? Nicht unbedingt clever, denn wenn Besucher einen 404er (nicht existierende Seite) angezeigt bekommen, verschwinden die meist auf Nimmerwiedersehen.

Schade drum, oder? Vor allem dann, wenn die Seite selbst ja gar nicht gelöscht ist, sondern lediglich einen neuen Pfad erhalten hat. Die gesuchte Information wird weiterhin angeboten, nur auf einer „neuen“ Seite oder vielmehr neuen URL. Was mich störte, war nämlich allein die Struktur. Von daher drängt sich ein 301 Redirect regelrecht auf, zumal dieser nicht schwer zu setzen ist.

Weiterleitung: Was sind 301 und 302 Redirects?

Wobei es sicher besser ist, diese 301 Weiterleitung oder eben 301 Redirect erst einmal zu erklären. Per 301 wird dem Server der Befehl erteilt, beim Aufruf einer URL oder Datei auf eine andere umzuleiten. Weil die URL oder Datei ersetzt, verschoben oder gelöscht wurde, also nicht mehr in ihrer Ursprungsform existiert. Der 301 Redirect steht übrigens für eine dauerhaft verschobene URL/Datei (moved permanently), die ursprüngliche URL/Datei ist somit auf alle Ewigkeit gelöscht.

Parallel gibt es den 302 Redirect für URLs oder Dateien, die eben nicht auf ewig verschoben sind. Ergo signalisiert ein 302 dem Client lediglich eine vorübergehende, nicht dauerhafte Weiterleitung. In punkto SEO sind beide Redirects interessant. Zum einen, um den Traffic weiterleiten zu können. Zum anderen, um den gewonnenen Linkjuice einer URL zu behalten, statt Besucher und Google ins Nirwana zu schicken. Google ist ein gutes Stichwort, denn permanente Crawling-Fehler können zu Sichtbarkeitsverlusten in Suchmaschinen führen. Das will keiner.

Redirect 301 Weiterleitung per htaccess

Kommen wir zur Umsetzung des 301 Redirects. Die erste Lösung für eine 301 Weiterleitung wäre htaccess. Bei WordPress ist die Datei schon vorhanden und braucht lediglich um ein paar Zeilen Code ergänzt werden. Voraussetzung für die 301 Weiterleitung via htaccess ist ein Apache/Linux-Webserver mit mod_rewrite. Das Modul ist in der Regel bereits aktiviert oder lässt sich im Adminbereich aktivieren. Andernfalls kontaktierst du einfach mal deinen Hoster, dass der den mod_rewrite für dich einrichtet.

Wie gesagt, bei WordPress und auch anderen CMS wie Drupal ist die .htaccess-Datei bereits standardgemäß vorhanden. Lade diese Datei vom Server runter und füge – am besten nach der Erstellung einer Sicherungskopie – folgenden Quellcode hinzu:

RewriteEngine On
Redirect 301 /alt.html http://www.domain.de/neu.html

„RewriteEngine On“ spricht das erwähnte mod_rewrite Modul an. „Redirect 301“ befiehlt die gewünschte Weiterleitung. Der erste Pfad steht für die alte, gelöschte Datei. Der zweite für die neue, auf welche künftig beim Aufruf der alten URL weitergeleitet werden soll.

Wichtig: Zwischen beiden URLs/Pfaden – die übrigens NICHT auf der gleichen Domain liegen müssen, womit der 301 Redirect auch (und gerade) bei einem Domainwechsel interessant ist – ist ein Leerzeichen Pflicht. Bei der ersten (alten) URL musst du außerdem das typische „http://www.domain.de“ weglassen und lediglich die Datei eintragen, ansonsten wird die Weiterleitung nicht erkannt. Die Muster-URLs ersetzt du natürlich durch deine eigenen Pfade. Für weitere 301 Redirects kopierst du einfach die zweite Zeile so oft wie nötig und fügst die jeweiligen alten/neuen URLs ein.

Redirect 301 Weiterleitung per PHP

Eine andere Möglichkeit der 301 Weiterleitung ist PHP, weswegen diese Variante nur bei entsprechenden PHP-Dateien funktioniert. Der große Nachteil gegenüber der 301 Weiterleitung via htaccess ist, dass jedes PHP-Dokument einzeln mit einem zusätzlichen Code versehen werden muss. Diese kommt in die erste Zeile des weiterzuleitenden Dokuments und lautet:

header(„HTTP/1.1 301 Moved Permanently“);
header(„Location: http://www.domain.de/neue-datei.php“);
header(„Connection: close“);

In Zeile zwei wird die neue URL eingetragen, die (PHP)Datei abgespeichert und auf den Server übertragen, fertig. Das Manko der 301 Weiterleitung via Php ist somit klar: Wenn du mehrere URLs weiterleiten willst, vielleicht sogar einige Hundert oder gar Tausend, bist du mit der htaccess besser beraten. Hier reicht die Änderung einer einzigen Datei – fertig.

Redirect 301 Weiterleitung per WordPress Plugin

Eine dritte Variante des 301 Redirect dürfte Webworker freuen, die auf WordPress setzen und sich nicht an den Quellcode trauen. Denn WP bietet zur 301 Weiterleitung wenig überraschend eigene Plugins an. Selbst Erfahrungen mit solchen Plugins habe ich zugegeben keine, für weniger technisch versierte Webmaster aber ist die Variante sicher eine einfache Alternative. Kurz gegoogelt sind schon zwei WP Plugins gefunden: Simple 301 Redirects und Redirection.

Beide 301 Redirect Plugins sind seit Jahren auf dem Markt, kostenlos und werden weiterhin aktualisiert. Die Installation muss wohl kaum erklärt werden und kann direkt im Admin-Bereich der WP-Seite vorgenommen werden (Plugins > Installieren > Feld „Plugin suchen“ > „Simple 301 Redirects“ respektive „Redirection“ eingeben > installieren und aktivieren). Wie gesagt, selbst habe ich die Plugins nicht ausprobiert, aber zumindest zu Simple 301 Redirects ist auf mr-online-marketing.de ein Bericht samt Anleitung zu finden.

301 Weiterleitung: Weitere Infos zum Redirect

Persönlich ziehe ich übrigens die erste Methode der 301 Weiterleitung vor. Die htaccess ist (je nach Aufwand) schnell angeglichen und regelt alles aus einer zentralen Datei. Die PHP-Methode ist deutlich aufwendiger, vor allem, wenn es um (sehr) viele Weiterleitungen geht. Plugins wieder gehen zu Lasten der Performance, weswegen ich mit den Zusatzprogrammen generell sparsam bin (oder zumindest versuche, sparsam zu sein).

Interessant dürfte noch die Frage sein, wie viele Weiterleitungen eigentlich Google „erlaubt“? Sind zu viele 301 Redirects – egal welcher Variante – eventuell schädlich für die Website? Die Antwort gibt Google-Mann Matt Cutts persönlich. Im folgenden, offiziellen Google-Webmasters-Video mit deutschem Untertitel erklärt Cutts Sinn und Zweck der Weiterleitungen. Die Frage, die am brennendsten interessiert, beantwortet Cutts mit einem klaren Nein. Egal, ob du einen 301 Redirect setzt oder mehrere tausend, Google ist das gleich.

Viel wichtiger als die Menge an 301 Weiterleitungen ist, dass du den Redirect möglichst auf eine echte Ersatz-URL leitest und nicht einfach auf deine Startseite. Das neue Ziel sollte also tatsächlich ein echter Ersatz für die gelöschte Seite sein, schließlich wertet Google jede (Unter)Seite deiner Website einzeln aus. Wenn du keine echte „Ersatzseite“ erstellst, wäre eine peppige 404-Seite wohl besser. Die entschuldigt und erklärt deinem Besucher den Fehler beziehungsweise die Löschung der alten Seite und kann auf andere interessante Unterseiten oder Angebote aufmerksam machen.

Das war’s zum Thema 301 Weiterleitung per htaccess, PHP und Plugin. Kommentare sind wie immer gern gesehen 🙂

9 Antworten auf 301 Redirect: Weiterleitung per htaccess, PHP & Plugin

  • Vielen Dank für deine Anleitung! Du hast mir mit deiner Anleitung sehr geholfen und mich überzeugt, die erste Variante zu nehmen. Ich muss bei mir auf dem Blog nur 3 oder 4 Seiten umleiten, sollte also keine all zu große Sache sein. Werde das morgen direkt umsetzten.
    Liebe Grüße und ein schönes Wochenende, Karim.

  • Hallo,
    wenn du es selbst nicht benutzt oder gemacht hast, dann solltest du auch keine Blog-Beiträge darüber schreiben. Sowas wirkt in meinem Augen absolut unseriös. ich habe das Plugin installiert und ich finde kein Menü, um irgendetwas einzugeben. Deine Anleitung verstehe ich auch nicht und sagt auch nichts aus, sondern verwirrt nur noch mehr.

    • Hallo Caroline, ich habe ganz offen gesagt, dass ich diese Plugins noch nicht genutzt habe. Und daher auf eine Seite mit einer Anleitung verlinkt. Transparenter geht’s doch nicht. Davon ab könnte man (bzw. frau) einfach mal selber googeln?! Die meisten Plugins werden weiterentwickelt, somit ändern sich manche Sachen im Laufe der Zeit. Menü: linke Seite > Plugins? Eventuell wird das Plugin auch gesondert (linkes WP-Menü) geführt.

  • Vielen Dank – das ist sehr gut erklärt – doch funktioniert es nicht 🙁

    Ich möchte einen RSS-Feed umleiten. Muss ich da noch etwas anderes beachten? Außerdem gibt es bereits eine Weiterleitung in meiner .htaccess und ich weiß nicht, wo ich die zweite Weiterleitung einfüge.

    • Hallo Brigitte, auf was willst du den Feed umleiten? Eigentlich reicht die alte Adresse plus dahinter die neue Feed-URL. Bei der alten URL ist halt wichtig, dass du die Domain weglässt, also wirklich nur den „Rattenschwanz“ nimmst. Ansonsten baust du zweite Weiterleitung einfach unter die erste Weiterleitung ein. Da kannst du dann sogar das „RewriteEngine On“ weglassen und eben nur die alte und neue URL einfügen (im fetten Beispiel die zweite Zeile). htaccess speichern und auf den Server hochladen, fertig.

  • Vielen Dank! Doch das funktioniert auch nicht 😉 Oder ich habe da irgend einen Fehler im Text.

    Ich habe jetzt das Plugin Simple 301 Rederechts genommen und das klappt 🙂 Hier muss man bei Request auch nur den „Rattenschwanz“ einfügen.

    Vielen Dank Dennis!

    • Gern doch, auch wenn ich keine große Hilfe war 🙂 Die neue URL hast du dann schon komplett angegeben? Weil die MUSS wieder komplett sein. Ist halt ein bissel ulkig gemacht…

  • Ja, die neue URL habe ich komplett angegeben. Ja, ich finde das auch komisch – mal so und mal so 😉

    Aber auf jeden Fall funktioniert es jetzt 🙂

Schreibe einen Kommentar

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