Techtalk

Sinnvolle Redirects – Bedachtes Weiterleiten

Wenn Ihre Domain umgezogen ist, benötigen Sie meist eine Weiterleitung um die Besucher der alten Seiten aufzufangen. Hierfür gibt es drei Varianten, welche Ihnen auf ganz unterschiedliche Weise die Wege öffnen. Eine Übersicht des Themas:

Der Header-Redirect ist der empfehlenswerteste Redirect, den Sie anwenden können. Er wird auch von Suchmaschinen wie Google empfohlen und stellt auch den seriösesten Eindruck dar, da er nicht wie der Frame-Redirect die Herkunft der Seite “verschleiert”. Es gibt mehrere Methoden für einen Header-Redirect:

  • in der .htaccess
  • per PHP-Header
  • mod_rewrite

Variante .htaccess

Wir nehmen an www.domain-A.de soll auf www.domain-B.de weitergeleitet werden. Variante .htaccess Wir legen auf www.domain-A.de eine Datei namens .htaccess an. In Windows-Systemen kann man diese nicht aus dem Explorer anlegen, daher können wir diese auch anders nennen und auf dem Server umbenennen. In diese .htaccess schreiben wir Folgendes:

Redirect permanent / http://www.domain-B.de/

Damit wird jede Anfrage die auf / gelangt (also JEDE Anfrage auf die Domain) an www.domain-B.de weitergeleitet. Das “permanent” bewirkt einen 301er Redirect. Wäre dies nicht der Fall wäre würde ein 302er Redirect eingesetzt.

Variante php-header

Man kann den Redirect ebenfalls in PHP steuern lassen, um so beispielsweise abzufragen welche Sprache der Besucher spricht und diesen entsprechend weiterleiten zu lassen.

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domain-B.de/");
header("Connection: close");
?>

Variante per mod_rewrite

Sofern mod_rewrite auf dem Server aktiviert ist, kann man auch die Version mit mod_rewrite einsetzen:

RewriteEngine On
RewriteRule ^(.*)\.html$ http://www.domain-B.de/$1.html[R=301,L]

Prüfen der Weiterleitungsart

Welche Art der Header-Weiterleitung nun wirklich genutzt wird, kann mit einem HTTP Status Code Checker analysiert werden. Zeigt dieser einen Status Code 302, so kann man gezielt eingreifen.

Frame-Redirect

Beim Frame-Redirect wird Ihre Seite in einen Frame gepackt. Domain A enthält exakt die gleiche Seite wie Domain B. Jedoch wird die Seite nur wie durch ein Fenster in einem anderen Haus angezeigt. Diese Variante ist nicht sehr
suchmaschinenfreundlich und Ihre Besucher werden es nicht mögen, denn die Besucher surfen innerhalb des Frames. Folge: Die Adresszeile ändert sich nicht und Ihre Besucher können die Unterseiten nicht bookmarken. In manchen
Fällen ist es allerdings doch sinnvoll einen Frame-Redirect einzusetzen. In der Praxis legt man eine index.html auf der entsprechenden Domain an und füllt diese mit dem anzuzeigenden Frame.

<html>
<head>
<title>Beispiel Frame-Redirect</title>
</head>
<frameset cols="100%,*" rows="*" frameborder=0 border=0>
<frame src="https://www.platinpower.com/">
</frameset>
</html>

Meta-Refresh

Häufig benutzt, aber nie gewollt – der Meta-Refresh. Ungeahnte Webmaster setzen Meta-Refreshs ein, um beispielsweise nach x Sekunden den Besucher auf die nächste Seite zu gelangen. Was sie jedoch nicht wissen, ist, dass diese Methode von Google genauso abgewertet wird, wie von den Benutzern, die mit aller Hektik von Seite zu Seite gerissen werden. Nur in wenigen Fällen ist ein Meta-Refresh sinnvoll. Beispielsweise möchte man in einem geschlossenem CMS den Besuchern nach dem Speichern der Änderungen das klicken auf “weiter” ersparen und leitet diese nach 3 Sekunden weiter.

  • Da ein Login erforderlich ist, bekommt Google & Co. nichts davon mit und
    man brauch sich nicht um gehijackte Seiten zu sorgen.
  • Die Besucher haben genug Zeit, um die kleine Information zu lesen, dass alles O.K. ist.

In dem Fall ist der Meta-Refresh in Ordnung. Dafür baut man ihn einfach zwischen die head-Tags:

<meta http-equiv="refresh" content="2;url=http://www.domain-B.de/">

Der “böse” 302er Redirect

Der 302er Redirect ist wohl einer der häufigst erwähntesten Redirects, von denen man hört. Dieser sagt nicht aus, dass
die Seite dauerhaft, sondern nur temporär nicht erreichbar ist. Bei Google bewirkte dies aus simpler Logik heraus beim linken von beliebten Seiten aus das entfernen der verlinkten Seite aus den Suchmaschinen und brachte viel Unruhe bei den “guten” SEOs und viele Klagen. Momentan arbeitet Google mit etwas Erfolg an der Problematik.

8 thoughts on “Sinnvolle Redirects – Bedachtes Weiterleiten

  1. „Header-Redirect“ ist die Funktion die mir ein Domainhoster wie domainssaubillig (nachfolgend „dsb“) anbietet?
    Evtl. kennt ja jemand dessen Funktionen.
    Ich weiß nicht ob der Support mich verstanden hat, ich hatte eigentlich detailliert gefragt ob ein Redirect-301 Sache des Domainhoster oder Webhoster ist.

    Frage:
    „Ist für eine Weiterleitung („redirect 301“?) der Domainhoster, oder der Webspacehoster zuständig?

    Z.B. eine .com-Domain (nicht bei ds) die ich besitze regulär auf Webspace (nicht bei ds) geschaltet, und de-Domains die ich bei domainssaubillig habe zusätzlich in diesen Webspace.

    Ich kann problemlos alle in den gleichen Webspace leiten, beim aufschalten der Domain kann ich den bestehenden Ordner einer anderen aufgeschalteten Domain wählen.

    Aber ich las von „Duplicate Content“, und das scheint mir genau dann der Fall zu sein (?).“

    Antwort:
    „wenn Sie selbst die Domain zu Ihrem Webhosting-Paket hinzufügen können würde es sich lohnen diese direkt mit Ihrem Paket zu verbinden.
    Hierfür müssen Sie einfach die IP-Adresse Ihres Servers für Ihre Domain bei uns als A-Record hinterlegen.
    Sie können dann alle Weiterleitungen etc. in Ihrem Webhosting-Paket einstellen.“

    Noch verwirrender die Antwort vom Webhoster (Site-Bank):
    „Der Dokumentenstamm kann für mehrere Domains identisch sein. Es werden bei Aufruf der Webseite anschließend die gleichen Inhalte geladen. Ein Double Content entsteht dabei nicht. Sie können für Redirects auch eine .htaccess Datei erstellen oder diese bearbeiten.“

    Da geht es mir um die Behauptung dass kein „Double Content“ vorliegt.
    Oder ist „Double Content“ (hab dort das falsche Wort geschrieben) etwas dass auch eine andere Bedeutung hat?
    trotzdem hätten die doch wissen müssen, was ich meine, oder nicht?

    Wenn ich jetzt alle Domains in den gleichen Dokumentstamm laufen lasse, sind sie alle gleichwertig mit dem Webspace verbunden (?).
    Es ist von außen keine Domain DIE Domain.
    Auch im Kundebereich gibt es keinen Unterschied.

    Bei dsb habe ich die Funktion „Weiterleitung“ als „Header“ und „Frame“.
    „Frame“ ist klar, ein Fenster in einem anderen.

    Ist „Header-Redirect“ (hier „der empfehlenswerteste Redirect“) der „Redirect 301“ (den ich bisher als empfehlenswertesten googlete)?

    Denn den kann ich ja dann beim Domainhoster einrichten, ohne beim Webspacehoster eine Domain aufschalten zu müssen.
    Diese können dort ja z.B. auf 10 begrenzt sein.
    Als DNS-Laie (gibt leider keine gute Anleitung bzw. besser >Erklärung<) ist man ja froh beim Webspacehoster den Nameserver nutzen zu können.
    Also einfach Domains aufschalten, und deren DNS ist fertig eingerichtet.

  2. Hallo Patrick,
    ich finde deinen Beitrag ziemlich interessant, da ich zur Zeit an einer Webseite arbeite indem ich eine Weiterleitung realisieren muss.

    Dabei sollen folgende Dinge bei der Webseite gegeben sein:

    1. Das Grundgerüst der Webseite soll nur einmal geladen werden und die einzelnen Inhalte der Unterseiten mit AJAX nachgeladen und ersetzt werden. Einerseits um Traffic zu sparen und andererseits damit der wechsel, zwischen den einzelnen Unterseiten, flüßig animiert weden kann.

    2. Trotz einer einzigen index.html für die komplette Webseite soll der Besucher der Seite trotzdem das Gefühl haben, dass es sich um verschiedene Unterseiten handelt. Dazu muss dann auch die URL beim nachladen einer Unterseite angepasst werden. Je nach Browserunterstützung wird es dann mit der HTML5-History-API oder mit Hash-Bangs(#!) realisiert.

    3. Die URLs müssen gebookmarkt werden können.

    4. Bezogen auf dein Artikel sollten die Unterseiten von Suchmaschienen, vorzugsweise Google, anstandslos indiziert werden.

    Punkt 1 und 2 funktionieren soweit, falls der Besucher auf die Hauptseite „http://www.example.de“ landet und ab da navigiert.
    Wenn der Besucher jetzt direkt in eine Unterseite einsteigen möchte, sei es durch einen Bookmark oder einen Vorschlag von Google, wie realisiere ich das am besten?
    Der erste Gedanke war, für alle Unterseiten wirklich Verzeichnisse zu erzeugen und dort jeweils eine Kopie des Webseitengrundgerüsts (index.html) einzufügen. Leider müsste ich in jeder Kopie absolute Pfadangaben zu Bilddateien, Scripten etc. verwenden. Ausserdem würde ich bei einer kleinen Anpassung des Grundgerüsts alle kopien mit abändern müssen. Diesen Gedanken habe ich dann schnell verworfen.

    Der nächste Gedanke war >>Es kann nur funktionieren wenn der Server die URLs der Unterseiten, die nicht wirklich existieren, auf die Hauptseite umleitet<< Nach recherche bin ich dann auf deinen Blogeintrag gestossen.

    Im Prinzip wäre hierfür doch die htaccess-Permanent-Methode sinnvoll. Wobei alle URLs der Form "http://www.example.de/Unterseite2&quot; auf die Hauptseite geleitet werden, also "http://www.example.de/#!/Unterseite2&quot; mit dem entsprechenden Fragment der Unterseite. Falls der Browser die History-API unterstützt könnte er ja die URL einfach verschönern, ansonsten einfach die Hash-Bang-Form belassen.

    Wäre diese Vorgehensweise in Ordnung oder gibt es vielleicht bessere Methoden?
    Unterstützt die htacces-Methode überhaupt Fragmente (#) oder ignoriert er diese einfach?

    Auch wenn dein Beitrag jetzt schon fast 2 Jahre alt ist, hoffe ich trotzdem wenn du mir einen Feedback geben könntest.

  3. Hallo Jarek,

    durchaus gute Fragen. Zu aller erst sei gesagt, dass die Hashtags (#blub) nicht zum Server gesendet werden können, der Server aber durchaus den Nutzer auf eine URL mit einem Hashtag weiterleiten lassen kann.

    Wenn die Nutzereingabe also beispiel.de/unterseite.html lautet, lässt sie sich auf beispiel.de/dynamic#unterseite weiterleiten — andersrum jedoch nicht.

    Eine Suche in Google nach „htaccess redirect hashtags“ gibt einige Treffer, wie bspw. so eine Umleitung aussehen kann (nicht getestet):

    „The # is getting encoded as %23. Try using the NE flag in your rule:

    RewriteRule ^([0-9]+)/([0-9]+)$ /api/web/index.html#$1/$2 [R=301,NC,L,NE]

    the NE flag tells mod_rewrite not to encode the URI.“

    Viele Grüße
    Patrick

    1. Das die Hashtags nicht vom Server erkannt werden ist natuerlich ein Problem.
      Mittlerweile habe ich fuer jede Unterseite eine eigene statische index.html erstellt. Werde dann erst auf Html5 history-Api und Single-Page-Ajax-Seiten setzen wenn die unterstuetzenden browser ausreichend verwendet werden.
      Finde die alte klassische Methode der statischen Unterseiten garnicht so schlimm. Einerseits ist es fuer Suchmaschienen wohl die beste Loesung und andererseits faellt der Wechsel der Unterseiten garnicht schlimm auf, da das Grundgeruest, der sich auf jeder Unterseite Wiederholt, ohnehin vom Browser gecached wird.

      Das ist die Webseite an der ich gearbeitet habe
      http://www.szs-solarien.de
      (Nicht fuer mobile Browser optimiert!)

      Danke noch fuer dein Feedback!

  4. Anmerken muss ich wohl noch, dass die Domain, wo die htaccess ist nicht umgezogen o. ä. ist. Ich möchte eine weitere Domain auf meine Haupt-URL um- bzw. weiterleiten.

  5. Ich möchte gerne alle Inhalte die bisher auf einer Unternehmenswebsite und 2 Produktwebsite verteilt sind in einem großen Unternehmensportal anbieten. Es sollen jedoch die 3 Domains http://www.abc.de, http://www.xyz.de und http://www.rst.de (Beispiele) erhalten bleiben. http://www.abc.de soll auf die Startseite im Webspace zeigen und weiterhin die Startseite der Unternehmensseite zeigen, http://www.xyz.de soll im Verzeichnis Produkte/Produkt1 die Landingpage anzeigen. Unter der Landingpage soll es dann eine Navigation innerhalb der Landingpage geben. Bei http://www.rst.de soll es sich ähnlich verhalten (nur anderes Verzeichnis).

    Wie bekomme ich alles unter einem Webspace mit den 3 Domains zusammen, sodass es auch noch Suchmaschinenkonform wird?
    Kann ich mir dann eine gute Positinierung von http://www.xyz.de und http://www.rst.de aus dem Kopf schlagen und arbeite eigentlich nur noch mit http://www.abc.de?
    Was geht in der Konfiguration dann nicht und was wäre möglich?

    1. Hallo Herr Kaut,

      im Idealfall gibt es für jede Unterseite der Domains ein passendes Gegenstück, das dazu matched.
      Sollte dies aus Gründen der Menge nicht möglich sein, so sollten die Domains möglichst auf die Unterordner weiterleiten.

      Im Konzept muss man sich dabei vorstellen, dass Google von der alten Domain jede Seite durchgehen wird und dann der Weiterleitung folgt. Es ist unwahrscheinlich, dass die Startseite immer das beste Gegenstück für jede Unterseite ist. Dementsprechend werden dann die Rankings für die Unterseite neu berechnet, wenn es die Ziel-Startseite gewesen wäre, die hätte ranken müssen. In der Regel schneidet diese dann schlechter ab, wenn man nicht konkrete Pärchen bildet.

      Beste Grüße
      Patrick Beck

Schreibe einen Kommentar zu Johannes Antworten abbrechen

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