Redirection dans index.htm

WRInaute discret
Bonjour,

Sur notre site web, le fichier de base : index.htm dispose d'un script java pour la redirection vers une zone française ou anglaise du site. Mais aucun autre lien ni texte dedans.

Code:
<SCRIPT>
if (navigator.appName=='Netscape')
var language=navigator.language;
else
var language=navigator.browserLanguage;
if (language.indexOf('fr')>-1) document.location.href='fr/index.php'; // PAGE FRANCAIS
else if (language.indexOf('en')>-1) document.location.href='fr/index.php?th=2'; // ANGLAIS
else document.location.href='fr/index.php'; // PAGE PAR DEFAUT
</SCRIPT>

J'ai l'impression que cela a un effet assez nefaste pour les moteurs de recherche. (aucun lien <A href> entre autre. N'y aurait-il pas une manière plus sympa pour organiser la redirection du site ? Existe-t-il une autre methode en utilisant le PHP ?

Merci de votre aide

Structure du site :
Code:
/index.htm
/fr/index.php
 
WRInaute accro
Ben tu peux faire une redirection en PHP après avoir détecter la langue du navigateur.

Mais personnellement, je fais cette vérification sur toutes les pages des sites multilingues (tout en leur donnant le choix de la langue puisqu'un visiteur qui a un navigateur anglais peut vouloir voir ton site en français) que je réalise, car si tu regarde tes stats, tu constatera que la majorité de tes visiteurs n'accède pas à ton index mais directement à l'intérieur de ton site.
 
WRInaute discret
En fait, mon problème n'est pas au niveau des utilisateurs. Car ceci est transparent pour eux. Le but est que le site web devine quelle sera la langue utilisée par le navigateur afin d'eviter un clic.

Ma question regarde surtout les moteurs de recherche. Est-ce que les liens sont biens suivi par cette methode, ou bien les moteurs s'arrête-t-il sur la page index.htm ?

Toutefois, sache que la personne peux toujours consulter la langue de son choix en choisissant ensuite le français ou l'anglais.
 
WRInaute passionné
Code:
<?php
$lang=explode(",",$_SERVER["HTTP_ACCEPT_LANGUAGE"]);
if ($lang[0]='en') header("Location: en/index.php");
else header("Location: fr/index.php");
exit();
?>

doit marcher :wink:
 
WRInaute discret
ça à l'air de bien fonctionner !

Quelqu'un peut-il me dire quel sera le comportement de Google et/ou voir d'autre moteur avec cette astuce ?

Merci

(Un petit webmaster heureux 8) )
 
WRInaute discret
Je rajouterai un
<noscript>
<p>
<a href="fr/index.htm">Mot clé en français</a><br>
<a href="fr/index.php?th=2">Keyword in english</a>
</p>
</noscript>

Ainsi les robots pourront indexer les 2 langues de ton site.
Plus petit bonus référencement grâce au lien avec mot-clé.

Idéalement tu devrais bien séparer l'anglais du français.
Pex. fr/index.php et en/index.php

@David@site:
Je ne connaissais pas le truc du .htaccess, merci. (Mais ça ne règle pas le problème du robot)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut