ASP.NET Redirect – Aber bitte Suchmaschinenfreundlich

Wenn Sie die URL zu Ihrer Webseite ändern müssen, sollten Sie bereits vorher die richtigen Maßnahmen ergreifen, dass ein Internet Surfer der auf diese Seite zugreifen möchte nicht den häßlichen Fehler 404 (Datei nicht gefunden) angezeigt bekommt.

Eine durchaus übliche Lösung hierfür ist es ein meta refresh hierfür zu verwenden.

Auf der URL eines Seite anzulegen welche als einzigen Inhalt den nachfolgenden meta refresh enthält.

meta http-equiv="refresh" content="0; URL=http://www.Domain.de/" />

Der oben dargestellte meta refresh leitet ohne Zeitverzögerung den Internet Surfer auf die im Parameter URL stehende neue Webseite um.

So weit so Gut, aber !!

Es gibt 3 Gründe warum man dies nicht machen sollte:
  1. Sie werden diese Umleitung ewig bestehen lassen müssen, da der Internet Surfer nie wirklich etwas von Ihrer neuen Internetseite erfährt.
  2. Suchmaschinen bewerten solche Umleitungen häufig als SPAM und streichen wenn Sie Pech haben, all Ihre Seiten aus Ihrer Datenbank.
  3. Das Thema Ranking spielt hier eine Rolle. Ich Denke jeder kennt das PageRank von Google. Also nehmen wir einmal an Sie hatten auf der alten URL einen PR von 5, im besten Fall akzeptiert die Suchmaschine Ihre Umleitung und behält Ihren Eintrag in Ihrer Datenbank. Das Ranking der Seite liegt aber weiterhin auf der alten URL und wird nicht zu einem eventuelle Ranking der neuen Seite hinzugezogen.

Was geschieht bei einem Redirect egal ob über meta-equiv oder über Source Code „Context.Response.Redirect“.

Die Seite wird umgeleitet und im Response Header wird ein Status Code 302 zurückgeben.

Dieser Status kommt sagt aus das die URL gefunden wurde. Gefunden bedeutet aber, Sie musste gesucht werden, nicht Gut !!

Wenn ein URL Zugriff einwandfrei verläuft dann sollte ein Status Code 200 zurückgegeben werden.

So jetzt haben wir was von Status 200 und 302 gehört, aber wie können wir es erreichen dass wir durch unseren Redirect die Suchmaschinen nicht böße machen und dass die neue URL als Quelle der Information im Internet bekannt wird.

Die Lösung heißt: Permanente Weiterleitung.

Eine Permanente Weiterleitung ist im ersten Moment auch nur ein Redirect, aber der zurückgegeben Status Code ist 301 (URL wurde verschoben). Diese Information nutzen die meisten Suchmaschinen um Ihre Einträge auf die neue URL in Ihren Datenbanken zu aktualisieren. Das hat den Vorteil. dass nach einige Zeit die Informationen über die neue URL direkt in den Suchmaschinen zur Verfügung stehen, und ganz wichtig, das auf der alten liegende PageRank wird auf die neue URL übernommen.

Wie kann ich jetzt eine Permanente Umleitung erstellen:

Mit einem meta-equiv leider nicht (nicht in ASP.NET)

Aber für was haben wir denn ein intelligentes Framework auf dem unser Web läuft.

Zu diesem Zweck erstellen wir einfach eine ASPX Seite die dem alten URL Namen entspricht.

In diese ASPX Datei schreiben wir folgenden Inline Code:

    <%@ Page Language="vb" AutoEventWireup="false"%>
    <SCRIPT runat="server">
    Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Context.Response.Status = "301 Moved Permanently"
    Context.Response.AddHeader("Location", "<http://www.schelian.de/Default.aspx/tabid/189>")
    End Sub
    </SCRIPT>

Wenn Sie nun die Datei auf dem Server gespeichert haben wird eine permanente Suchmaschinenfreundliche Umleitung vorgenommen.

Hier ein Beispiel http://www.schelian.de/MindManager.aspx

Dieser Link wird auf den URL http://www.schelian.de/default.aspx/tabid/155 umgeleitet.

Und nun viel Spaß beim suchmaschinenfreundlichen Umleiten von Seiten!

2 Gedanken zu „ASP.NET Redirect – Aber bitte Suchmaschinenfreundlich“

  1. hallo hans-peter!

    ist dein beispiel nur für fälle, in denen sich die domain ändern?
    ich hab das grad probiert mit einer einzigen seite unserer dnn-installation, ich weiß aber nicht, wohin ich das file legen muss….

    wohin gehört das file, wenn ich eine seite eines untermenüpunktes habe wie z.b.: http://www.mein-dnn-irgendwas.com/hauptmenuepkt/untermenuepkt/tabid/123/Default.aspx

    ich hab da mal einfach versucht die verzeichnis-struktur zu per hand zu erzeugen und dann dorthin das file gelegt… das bringt aber nichts….

    weißt du, wie das gehen könnte?

    danke
    martin

  2. Hallo Martin,
    ich weiß nicht warum, aber aus irgend einem Grund habe ich den Hinweise auf deinen Kommentar nicht erhalten und habe erst Heute gesehen, dass du hier einen Kommentar mit einer Frage hinterlassen hast.
    Sollte deine Frage noch akut sein, dann melde dich noch einmal.

    HP

Schreibe einen Kommentar

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