Redirection Fr en EN

Nouveau WRInaute
Bonjour,

ayant développer un site web à l'adresse suivante http://reims-online.fr en langue française
et le répertoire où se situe les pages en langue anglaise http://reims-online.fr/en/

je souhaiterai faire une redirection automatique via le pays du visiteur. (Pour le moment, juste visiteurs français et anglais)

Donc j'ai créé un fichier .htaccess pour faire les test en attendant de mettre tout ceci en interne sur mon serveur apache.

Voici le code que j'utilise :

#Redirection d'un visiteur Anglais vers les pages en langue française
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^FR$
RewriteRule ^en/(.*)$ /$1 [R,L]

#Redirection d'un visiteur Français vers les pages en langue anglaise
RewriteEngine on
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^(EN|US)$
RewriteRule ^(.*)$ /en/$1 [R,L]

La redirection des pages française vers les pages anglais ne fonctionne pas !
Que dois-je mettre dans cette ligne, si toutefois c'est cette ligne où se situe l'erreur, RewriteRule ^(.*)$ /en/$1 [R,L] pour que chaque page française soit rediriger sur une page anglaise ?
 
WRInaute accro
Bonjour
Je ne réponds pas à la quesion, mais : ce n'est pas une bonne idée que de faire ça niveau SEO ... vers quelle version vas-tu rediriger le bot Google ? Quelle version va-t-il indexer ?
 
Nouveau WRInaute
J'ai indiqué la balise :
<meta http-equiv="content-language" content="fr"/>
ou
<meta http-equiv="content-language" content="en"/>
pour que mes pages soient indexées dans le moteur de recherche Google, c'est à dire la langue adéquate.

J'utilise le mod-geoip pour procéder à une redirection par pays, donc ça ne concerne pas le bot de Google !
Car je pense que les IP des bots de Google ne rentre pas en ligne de compte via les IP du fichiers inclus avec mod_geoip
Donc, si cela est le cas, ça n'aura aucune incidence sur le référencement de mes pages web.
 
WRInaute accro
Code:
J'ai indiqué la balise :
<meta http-equiv="content-language" content="fr"/>
ou
<meta http-equiv="content-language" content="en"/>
pour que mes pages soient indexées dans le moteur de recherche Google, c'est à dire la langue adéquate.

Balise dont se contrefout Google.

Un peu de lecture : https://support.google.com/webmasters/answer/182192?hl=fr

Quant au mod-geoip avant d'assurer quelque chose, je me renseignerait. Je ne suis pas sûr que de base cela exclut les IP des moteurs.
 
WRInaute passionné
Pourquoi tu ne fais pas une redirection en javascript selon le language de preference du navigateur?
 
Nouveau WRInaute
Pourquoi tu ne fais pas une redirection en javascript selon le language de preference du navigateur?

Dans le même genre, mais en interne dans le serveur apache :

RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteRule ^en/(.*)$ /$1 [R,L]

RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule ^(.*)$ /en/$1 [R,L]

Mais le soucis est le "même" car le passage des pages française vers les pages anglaise donne une redirection en boucle.
Je pense que le soucis se situe dans la ligne en rouge.
 
WRInaute passionné
non le soucis c'est que ta condition est uniquement si le language est EN, alors que ca devrait etre si le language est EN et que l'url ne commence pas par /en/ :)

Sinon pour ne pas forcer les gens, j'utiliserai en plus un cookie, comme ca si ils cliquent sur le drapeau de la version francaise, malgré qu'ils ont le language EN, le cookie prendra la priorité.
 
WRInaute accro
Edit : grilled, mais je publie quand même

En fait, dans ta redirection, des que la langue "en" est détectée, tu fais une redirection vers /en/*, quelle que soit l'URL appelée,
en gros http://www.example.com/en/page.html >>>www.example.com/en/page.html >>>www.example.com/en/page.html >>>www.example.com/en/page.html >>>www.example.com/en/page.html >>>www.example.com/en/page.html >>>www.example.com/en/page.html >>>www.example.com/en/page.html >>> etc.

Ta boucle est là je pense.

Et sinon, si tu veux pas laisser l'internaute cliquer et que tu veux le forcer vers une langue, choisis en effet, plutôt qu'une redir 301, la redirection en Javascript, ce sera moins radical.

Google lui même recommande d'éviter les redirections basées sur la détection de la langue de l'internaute

https://support.google.com/webmasters/answer/182192?hl=en&hlrm=en#1

Google le magnifique a dit:
Avoid automatic redirection based on the user’s perceived language. These redirections could prevent users (and search engines) from viewing all the versions of your site.
 
Nouveau WRInaute
Google lui même recommande d'éviter les redirections basées sur la détection de la langue de l'internaute

https://support.google.com/webmasters/answer/182192?hl=en&hlrm=en#1

D'après les dire de Google, j'en conclu qu'il faut mieux que j'adapte mon site sans redirection par rapport à l'adresse IP du visiteur, ou par rapport à la langue du navigateur, et laisser le visiteur choisir la langue grâce à des petits drapeaux que je vais incorporer dans mon site web.
 
Discussions similaires
Haut