Répertoires + cookies + redirection asp

Nouveau WRInaute
Bonjour,

J'ai un site STATIQUE en 4 langues que j'ai organisé en répertoires /fr /nl /it /en

Maintenant mon but est de déterminer une langue par défaut et donc de diriger à la 1ere connection le visiteur vers /fr/index.htm et que lorsqu'il fait son choix, le stocker dans un cookies.

Mon code asp est le suivant :
(root)/index.asp

<%
Response.buffer = True
If trim(lang) = "" Then lang = Request.querystring("lang")
'response.Write("GET" & lang & "<br>")
if lang ="" then
'Lire cookies
lang = Request.Cookies("lang")
'response.Write("COOKIES" & lang & "<br>")
end if
if lang="" then
lang="fr"
'response.Write("DEFAUT" & lang & "<br>")
end if
if lang <> "" then
Response.Cookies("lang") = lang
Response.Cookies("lang").Domain = "www.mondomaine.be"
Response.Cookies("lang").expires = now()+30
'response.Write("ECRIT COOKIES" & lang & "<br>")
end if
response.redirect lang & "/index.htm"
%>

et dans /fr/index.htm

<a href="../index.asp?lang=nl">NL</a><br>
<a href="../index.asp?lang=it">IT</a><br>
<a href="../index.asp?lang=en">EN</a><br>

Ce petit script marche pas trop mal mais je me pose une petite question : Quel va être l'influence de tout cela sur le PageRank vu que les pages des différentes langues ne sont pas reliées entre elles?

Merci d'avance pour vos réponses.
 
WRInaute impliqué
Le visiteur fait bien son choix en cliquant sur un lien vers le bon repertoire non? Donc les robots vont pouvoir visiter ces liens?

Après le Pagerank, franchement, on s'en fiche un peu... mais si tu y tiens, il faudra avoir des backlinks pour chaque langue...

Si tu souhaites vraiment une solution optimum, tu peux mettre un lien sur chaque page vers les 3 autres pages correspondantes en langue étrangère.
 
Nouveau WRInaute
non justement je n'ai pas prévu que le client clique sur un lien... je veux qu'a sa 1ere visite, il soit directement dirige vers le FR...

Ce que je viens de faire, c'est mettre des liens juste en dessous de mon script... comme ca si le robot suit la redirection il la suit...

si il la suit pas, il suivra les liens...
 
WRInaute impliqué
Si tu passes par des Cookies pour la langue, le robot ne la suivra jamais... donc le lien sera utilisé à chaque fois...
Pense à mettre un mot-clé dans ces liens ^^
 
Nouveau WRInaute
Je pensais que les robots suivaient les Response.redirect

Mais qd sur la page /fr/index.htm :

il y a un lien vers ../index.asp?lang=en

là je sais pas si il aurait suivi...
 
Nouveau WRInaute
Ma seule crainte maintenant est que le robo suive directement le Response.redirect (sans lire le cookies) et sans lire les liens (en dur) qui sont en dessous...

Ce qui aurait comme conséquence que seule ma verion FR serait parcourue...

vous en pensez quoi ?
 
Nouveau WRInaute
donc le code donne

<%
Response.buffer = True
If trim(lang) = "" Then lang = Request.querystring("lang")
'response.Write("GET" & lang & "<br>")
if lang ="" then
'Lire cookies
lang = Request.Cookies("lang")
'response.Write("COOKIES" & lang & "<br>")
end if
if lang="" then
lang="fr"
'response.Write("DEFAUT" & lang & "<br>")
end if
if lang <> "" then
Response.Cookies("lang") = lang
Response.Cookies("lang").Domain = "www.mondomaine.be"
Response.Cookies("lang").expires = now()+30
'response.Write("ECRIT COOKIES" & lang & "<br>")
end if
response.redirect lang & "/index.htm"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Mon titre</title>
</head>
<body>
<a href="nl/index.htm">NL</a><br>
<a href="it/index.htm">IT</a><br>
<a href="en/index.htm">EN</a><br>
</body>
</html>
 
Nouveau WRInaute
Maintenant le site est en ligne...

Auparavant j'avais un PR = 5

Maintenant quand je vais sur http://rankit.free.fr/ il me donne des resultats surprenants...

Mon url simple .be dont la page par défaut est la page de redirection n'est plus dedans....

L'url /fr/index.htm n'est pas dedans non plus....

alors que /nl/index.htm /en/index.htm et /it/index.htm PR 0 => 4

Quelqu'un a-t-il une explication ?
 
Nouveau WRInaute
Quand je cherche sur google.it uniquement italien...

il me trouve uniquemlent le site en francais...

Qu'est-ce que je peux faire ?
 
Nouveau WRInaute
Serait-il mieux de remplacer le Response.redirect par

response.status = "301 moved permanently"
response.addheader "location", ls_proto & "www.mydomain.be/" & lang & "/index.htm"
response.end

?

Le but etant bien sur d'indexer les 4 langues !

Merci
 
WRInaute impliqué
En donnant l'adresse de ton site, ce sera quand même plus simple pour te répondre...
Là j'ai perdu un peu le fil ^^
 
Nouveau WRInaute
c juste que je ne peux pas donner le nom de mon entreprise...

le code est le suivant...

Code:
<%
Response.buffer = True
ls_proto = "http://"
If trim(lang) = "" Then lang = Request.querystring("lang")
response.Write("GET" & lang & "<br>")
if lang ="" then
'Lire cookies
lang = Request.Cookies("lang") 
response.Write("COOKIES" & lang & "<br>")
ls_proto ="https://"
end if
if lang="" then 
lang="fr"
response.Write("DEFAUT" & lang & "<br>")
end if
if lang <> "" then
Response.Cookies("lang") = lang
Response.Cookies("lang").Domain = "www.mydomain.be"
Response.Cookies("lang").expires = now()+60
response.Write("ECRIT COOKIES" & lang & "<br>")
end if

response.redirect ls_proto & "www.mydomain.be/" & lang & "/index.htm"
response.end
%>

et j'hésite à remplacer le response.redirect par

Code:
response.status = "301 moved permanently"
response.addheader "location", ls_proto & "www.mydomain.be/" & lang & "/index.htm"

le but etant bien evidemment de referencer correctement toutes les langues en sachant que dans les homepages des langues... le changement de langue se fait via

Code:
<a href="../index.asp?lang=it" >IT</a>

Merci
 
Discussions similaires
Haut