Site multilingue sous .com

WRInaute discret
Bonjour à tous,

Voilà mon problème j'ai un site en anglais et francais, qui tourne sous un .com.

Pour l'instant j'avais crée un index.php sous le .com, qui détecte la langue du navigateur ($lang = explode(",",$HTTP_ACCEPT_LANGUAGE);
$lang = StrToLower(substr(chop($lang[0]),0,2));)

Puis le fichier .php est compléter en fonction de la langue.
Hors quand GG passe chez moi il est en anglais et référence donc que l'anglais...

J'ai donc passer pas mal de temps sur le forum pour trouver le bonne technique.
(J'ai vu les différent poste que vous recommander)
Sous de nom de domaine par langue, sois des sous-domaines, sois des dossier par langue.
Ok je choisi le dossier.
Mais après Comment j'applique le technique??? comment référencer les dossier???

Surtout que ce que je souhaite c'est que malgré tout le client tappe sur www.XXX.com et arrive sur l'index en en ou fr en fonction de sa langue!!!

Merci de vos eclaircissement, car j'ai beau passer du temps sur le forum, et autre, j'ai vu plein de poste mais je comprend pas la mise en application...
 
WRInaute accro
Eh bien tu dois avoir un lien sur les autres langues dans chaque page d'accueil, donc Google va les crawler.
Perso, c'est ce que je fais, et il m'indexe toutes les versions.
En plus je fais un sitemap séparé pour chaque langue dans GWT ce qui me permet de les géolocaliser.
 
WRInaute discret
ok je te remercie.

donc j'ai:
- un index.php à la racine (avec détection de langue pour le client, et qd GG crawl il vois la version en)
- un dossier FR
- un dossier EN

-le problème c'est que si j'ai un liens depuis la racine vers le /fr et /en je vais avoir des ducplicant content entre la racine(en language détecter, et le dossier de la même langue)
 
WRInaute discret
Bonjour à tous.

Excuser moi, ma question n'est elle pas assez clair et dois-je reformuler, ou bien personne ne peut me répondre?

Merci
 
WRInaute discret
Je te remercie marie aude.

Donc si j'ai bien compris:
à la racine tu as un fichier qui détecte la langue et redirige ensuite vers:
/LANGUE/index.php
? est ce celà?

Si c'est le cas, ta redirection ne pose t elle pas de problème pour les robots? il n'aime pas trop celà?
Qu'elle forme prend ta redirection?
Je pense pas que ce soit un refresh??

Je te remercie de m'aider.
 
WRInaute accro
Bonjour, Marie-Aude,

comment voir le fichier qui est à la racine de ton www ?
Aurais-tu plus d'infos et/ou d eliens à nous donner sur c script, STP ?
 
WRInaute accro
L'idée du système de Marie-Aude (si je comprends bien) c'est de gérer la détection automatique mais également de permettre de visiter une version depuis une autre.

Je suis français, le site me dirige par défaut sur le dossier FR, mais je peux tout a fait choisir de visiter le contenu du dossier EN.
 
WRInaute accro
Merci UsagiYojibo San,

ma question allait plutôt dans le sens de "comment faire pour étecter la langue et rediriger ensuite vers le répertorie adéquat".. quel script ? Quelle piste à suivre ?
 
WRInaute discret
Je vais essayer d'être plus clair.

aujourd'hui j'ai
à la racine un index qui detect la langue avec des liens vers /fr, et /en

dans le dossier /fr index en fr +liens vers /fr et /en

dans le dossier /en index en en +liens vers /fr et /en

le problème c'est qu'alors il y a duplicant content entre l'index racine et l'index du dossier correspondant à la langue détecter.

Sinon je fais sauter l'index de racine, en redirigeant direct vers le dossier, mais comment rediriger sans être pénaliser par les robots?

Merci
 
WRInaute accro
Le Lyonnais japonisant a parfaitement compris :)

En fait le script php détecte une des valeurs du referer, qui est la langue par défaut du crawler.
(On peut supposer que la personne la parle...)

Le fait de mettre une page par défaut quand il n'y a pas de langue dans le referer (cas des robots) permet de favoriser une version de langue par rapport à une autre.

Le script que j'utilise est quasiment identique.
 
WRInaute discret
Retour d'expérience et besoin d'aide.

Voilà j'ai mis en place la solution de marie -aude mais voilà ce que j'ai
(identique sous google.com, google.fr, page web, francophone):
Bienvenue sur XXX, vente d\'objet de xxx et ...
Bienvenue sur XX, vente d\'objet de xxx. Welcome XXXenglish, Online Shopping for xxxenglish.
www.XXX.com/ - 1k - En cache - Pages similaires

car dans includes/base_Inc.php on as:
Code:
$StartUrl=$_SERVER["REQUEST_URI"].(preg_match("/\?/",$_SERVER["REQUEST_URI"])?"&":"?");?>
<html><body><br /><br /><br /><br /><br />	  			
<div align="center"><a href="<?=$StartUrl ?>Language=FR">Bienvenue sur XXX, vente d'objet de xxx.</a><br /><br /><br />	  			
<a href="<?=$StartUrl ?>Language=EN">Welcome XXX, Online Shopping for xxx.</a><br /><br /><br />	  	</div></body></html>
<?exit; 
    }
$_SESSION["UserLanguage"]=LANGUAGE;
define('HTML_LANG_PATH',HTML_ROOT_PATH . 'Languages/Lang_'. LANGUAGE .'/');

Y a pas un moyen de faire afficher une description pour la recherche FR, et un autre pour la recherche anglaise??

Merci
 
WRInaute accro
Oui.

Il suffit de les mettre dans une base de données :) Puisque de toute façon ta description doit être unique pour chaque page, n'est ce pas ?

Sinon si tu veux garder cet include pas beau du tout, tu fais "if en = "", else if fr ="" , else if "de", etc.
 
Nouveau WRInaute
Salut,

Mouais...

Bon, tu detectes la langue du navigateur, et tu l'ajoutes à l'url, par exemple ?langue=fr
Si tu utilises des sessions, stock directement sur session
Tu n'as pas besoin d'un répertoire à chaque fois (je raconte pas le bordel pour modifier un site avec 5 ou 6 langues, et le forum, tu fais comment).

Ensuite, c'est simple, tu fais de l'url rewriting du style :
RewriteRule ^([a-z]{2})/index.html$ /index.php?langue=$1 [L]

Et pour chaque lien, bah tu fais un echo "http://www.monsite.tld/".$langue."/index.html

Et voila !
 
WRInaute discret
Excusez moi mais là je suis perdu.
c.f. début du post j'ai migrer vers http://www.phpcs.com/codes/SITE-MULTILINGUE-AVEC-DETECTION-LANGUE-EXPL ... 30657.aspx , justement pour gérer ce problème.

Hors maintenant si j'ai bien tout compris et notamment ce que dis marie-aude, faut que je retourne à la source avec une détection du language du navigateur, mais qui pose problème avec les robot qui sont tjs en anglais, et ne vois donc pas ma page fr...?

Mon problème est:
Avoir une page pour deux langue, que les robots crawl les deux version, et renvoie sur les recherche :
- FR, mes title,et description FR,
- EN, mes title,et description EN,
 
WRInaute accro
Les robots crawleront les deux langues, puisque ta page en français contiendra des liens vers ta page en anglais.
Les robots ne "sont pas" en anglais, parce qu'ils n'ont pas de navigateur (donc avec ma méthode, pas de langue), tu leur serviras donc comme page d'accueil ta langue par défaut, et ils iront voir le reste aussi

Ensuite pour les "répertoires" par langue, tout dépend de la façon dont ton site est organisé, c'est soit des répertoires virtuels si tu gères tout en base de données, soit des répertoires physiques. Tout dépend de chacun (et je ne comprends pas trop la difficulté d'avoir des répertoires physiques pour une langue... )
 
WRInaute discret
Bonjour,

Une autres fois a le dire ,

Travailler avec des dossier ou sousdomaine ou autres nom de domaine c'est la meme, chose,

Pour que google indéxe leatres version de ton site , faut mettre des LIEN EN DURE dans toutes les pages de ton site ,

Maintenant pour faire un script qui vas rediriger le visiteurs vers langues de son pays c'est tres bien, mais faut aussi mettre un lien pour qu'il visite le site manuellement, Comme j'ai fait sur mon site dans le www .


Une autre chose faut dire a Google dans votre espace pour les webmaster que par exemple tonsite.com/es est géolocaliser en éspagne le /it en italie etc.......


A vous , merci cordialement.
 
WRInaute discret
je te remercie.

Donc si j'ai bien compris, dans mon cas au lieu d'avoir un .com avec la version fr et en, je crée des sous-domaine(ou dossier), du type
pour la version en: www.ndd.com/en
et fr: www.ndd.com/fr

puis je crée des liens en dur dirigeant
vers:www.ndd.com/fr pour le version fr
et www.ndd.com/en pour le version en

mais est il possible d'avoir:
pour la version en: www.ndd.com/en
et fr: www.ndd.com
car notamment j'ai déjà commencer à référer avec une 100aine de liens.

enfin j'ai une boutique oscommerce qui genre les langues et la page dont on parle est un page d'accueil donc est que sa poserais un problème si j'ai
pour la version en: www.ndd.com/en un liens vers www.ndd.com/catalog/
et fr: www.ndd.com un liens vers www.ndd.com/catalog/

et que le sous domaine disparaisse?

Merci
 
Discussions similaires
Haut