8.3 Redirect af links (Avanceret)

Generelt

Efter en shop konvertering, skift af domænenavn eller for eksempel sletning af varer og oprettelse af disse igen, kan man være i den situation at man har en masse links til produkter indekseret af søgemaskinerne, som ikke længere virker. Disse links, vil hvis der ikke tages højde for det, være "døde", og vil så i stedet gå til shoppens forside.

 

Det undgås ved at oprette en side (en såkaldt 404 side), som de "døde links" henvises til i stedet for forsiden. DanDOmain kan være behjælpelig med oprettelsen af en sådan side. På 404 siden kan man via et stykke kode fortælle søgemaskinerne hvor produktet nu i stedet befinder sig. Der laves en såkaldt "301 Redirect" som fortæller søgemaskinen at den gamle adresse er nedlagt, og at der for eftertiden skal benyttes den nye, hvorved indekseringer i søgemaskinerne bibeholdes.

 

Koden (eksempel)

BEMÆRK: DanDomain supporterer ikke følgende kode. Det er op til kunden selv at tilrette koden med døde og nye links.

 

I koden indsættes der for hvert link en ny linje i CASE Statementet. Eksempel:

 

Case "/forside.htm" RedirectTo = "/forside.asp"

 

I eksemplet herunder er der altså lavet 4 redirects af gamlelinks.

 

 

<%

Dim BadURLAll, BadURLPath, BadURLParam, RedirectTo

BadURLAll        = LCase(Request.ServerVariables("HTTP_URL"))

BadURLAll        = Right(BadURLAll, (Len(BadURLAll) - (Instr(BadURLAll, chr(59)))))

if LEFT(BadURLAll,7) = "http://" then

                             BadURLAll = Mid(BadURLAll, 8)

end if

Pos = Instr(BadURLAll, "/")

if Pos > 0 then

                             BadURLAll = Mid(BadURLAll,Pos)

end if

BadURLPath    = BadURLAll

Pos = Instr(BadURLAll, "?")

if Pos > 0 then

                             BadURLParam = Mid(BadURLAll,Pos)

                             BadURLPath    = Mid(BadURLAll,1, Pos-1)

end if

if Right(BadURLPath,1) = "/" then

                             BadURLPath = Mid(BadURLPath,1, LEN(BadURLPath)-1)

end if

RedirectTo = ""

SELECT CASE BadURLPath

                             Case "/forside.htm"                                                                                                                                                                                                                            RedirectTo = "/forside.asp"

                             Case "/profil.htm"                                                                                                                                                                                                                                RedirectTo = "/profil.asp"

                             Case "/menubund.htm"                                                                                                                                                                                       RedirectTo = "/menubund.asp"

                             Case "/kontakt.htm"                                                                                                                                                                                                                           RedirectTo = "/kontakt.asp"

                             

END SELECT

if RedirectTo <> "" then

                             Response.Status = "301 Moved Permanently"

                             Response.AddHeader "Location", RedirectTo

                             Response.End                                                          

else

                             %>

                             <html>

                             <head>

                             <title>siden blev ikke fundet</title>

                             </head>

                             <body>

                             <center>

                             <h2>Siden blev ikke fundet</h2><br><br>

                             Den anmodede side (<%=BadURLAll%>)blev ikke fundet.<br><br>

                             </center>

                             </body>

                             </html>

<%end if%>