Site bilingue, besoin d'aide pour comprendre

Nouveau WRInaute
Bonjour,

je parcours le web depuis 3 jours, je suis novice et en ne trouvant pas une solution et explication à mon problème, j'ai décidé de demander sur le forum :) Je poserais une question bête, donc ne m'en voulez pas trop.

Alors, j'ai fait un site bilingue : FR et EN avec php. Cependant, j'ai lu des articles sur le référencement et je ne comprend pas comment obtenir ces fameux dossiers "virtuels" recommandés par google.

Actuellement, j'ai mon site qu'il soit en anglais ou français affiche : index.php
Je voudrais faire comme la plupart d'entre nous, donc afficher : monsite.fr/en/index.php ou monsite.fr/index.php

J'ai essayé de faire avec URL rewriting, mais j'obtiens à chaque fois une erreur 500. Je suis en local pour le moment sous MAMP.

Je vous laisse mes bouts de code que j'ai fait en suivant un tuto.

Alors ma page LANG.PHP :


Code:
<?php

  if(isset($HTTP_COOKIE_VARS['lang'])) {
 	     $lang = $HTTP_COOKIE_VARS['lang'];
 	 } else {
 	     // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
 	     $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2);
 	 }

	 //script d'origine

     if (isset($_POST['lang_select']))
     {
         if ($_POST['lang_select'] == 'fr')
         {
            $lang = 'fr';
            //include('lang/fr-lang.php');
         }
         elseif ($_POST['lang_select'] == 'en')
         {
            $lang = 'en';
            //include('lang/en-lang.php');
         }

     }

	 if ($lang=='fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
	     include('lang/fr-lang.php');
	 } elseif ($lang=='en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
	     include('lang/en-lang.php');
	 }
	 //fin du script d'origine

	 //définition de la durée du cookie (1 an)
	 $expire = 365*24*3600;

	 //enregistrement du cookie au nom de lang
	 setcookie("lang", $lang, time() + $expire);

?>

Ma page EN-LANG.PHP

Code:
<?php

//Menu
define ('menu','Menu');
define ('Home','Home');
define ('Services','Services');
define ('Products','Products');
define ('how_it_works','How It Works?');
define ('about','About Us');
define ('contact','Contact');



//CONTENT
define('HomePage','Home');
define('ProductsPage','Products');
define ('how_it_works_TITLE','How It Works?');




?>


MA PAGE DE CHOIX DE LANGUE :

Code:
<form method=post name="lang" class="form_lang">
                <select name="lang_select" onchange="document.lang.submit();">
                  <option label="Français" value="fr" <?php echo ($_POST['lang_select'] == 'fr'?'selected':'');?>>Français</option>
                  <option label="English" value="en" <?php echo ($_POST['lang_select'] == 'en'?'selected':'');?>>English</option>
                </select>
            </form>

Déjà je ne sais pas comment faire pour avoir des icones ou lieu d'une liste déroulante, car c'est la seule solution que j'ai trouvé et qui fonctionne pour moi (peut être je ne me suis pas bien prise), ensuite pour l'URL c'est une catastrophe, je ne comprends pas comment appliquer cette méthode avec mon script actuel.

Si une âme généreuse peut m'éclairer sur ces points, je serais plus que réconnaissante! :)

Je vous remercie d'avance.
 
WRInaute passionné
Bonjour et bienvenue sur WRI !

La meilleure méthode, d'un point de vue référencement, c'est de faire 2 sites distincts sur 2 domaines différents (1 nom de domaine pour la version FR + 1 domaine pour la version EN).

Cette méthode a pas mal d'avantages, et en plus elle est assez simple.
 
Nouveau WRInaute
Bonjour et merci ! :)

Pour le site, je ne vois pas trop comment m'y prendre, en fait il faut que je crée 2 fois le même site? Mais ce sera un peu compliqué à gérer pour les mises à jour... Il n'y aurait-il pas une autre solution?
 
WRInaute passionné
Les mises à jour ? Quelles mises à jour ?

S'il y'a un texte à modifier, il faudra le modifier aussi bien sur la version Française que sur la version Anglaise, donc que ce soit 2 sites distincts ou 1 seul, ça ne devrait pas changer grand chose côté mises à jour (pour un petit site).

Ce ne sera pas 2 fois le même site, mais 2 sites différents (et c'est l'avantage côté référencement).
Ils peuvent être semblables en tous points(design, code etc.), et différer uniquement sur qq images et surtout sur le texte.
 
Discussions similaires
Haut