Domaines .fr, .it, .com et une seule page en php ?

Nouveau WRInaute
Bonjour,

Je suis un newbie, ce que je fais ds la vie n'a rien à voir avec le web, mais la triste évolution du marché m'oblige à m'y mettre et à tout faire moi-même.

Voilà :

J'ai un site en français, anglais, italien.

Auparavant, mon architecture était :

http://www.monsite.com/fr/page1_en_francais.php
http://www.monsite.com/en/page1_en_anglais.php
http://www.monsite.com/it/page1_en_italien.php

http://www.monsite.com/fr/page2_en_français.php
http://www.monsite.com/en/page2_en_anglais.php, etc.

Récemment, je l'ai optimisé, et maintenant, ça ressemble à :

http://www.monsite.com/page1.php?lg=fr
http://www.monsite.com/page1.php?lg=en, etc.

donc toutes les langues sur la même page, à la racine.

Maintenant, au passage, je me suis retrouvé totalement déclassé sur Google, ce qui me déprime. J'ai pris des mesures (redirection 301), mais un peu tard apparemment. Le mal est fait, j'ai l'impression.

Bref, je commence à me préoccuper de référencement sérieusement, et accessoirement, j'aimerais aussi pouvoir donnet des liens vers mes urls sans "?", donc j'aimerais vous demander quelle est la meilleure solution pour que je puiss garder mon idée de mettre toutes les langues sur la même page avec une varible "lg".

J'ai découvert la réécriture d'URL dans le fichier .htaccess, donc une solution du type :
http://www.monsite.com/page1-fr.htm qui renverrait vers la page1.php?lg=fr serait envisageable, mais apparemment les répertoires ou les sous-domaines sont plus appréciés des moteurs de recherche, et le top du top semblerait d'avoir un http://www.monsite.fr, http://www.monsite.com et http://www.monsite.it pour chaque langue.
Confirmez-vous cela aux dernières nouvelles de Google ?

Le prix semble symbolique, donc ce serait faisable, sauf que je ne vois pas vraiment très facilement comment rediriger toutes ces adresses différentes vers une seule page à chaque fois, sauf à imaginer des scénarios un peu tordus, donc pensez-vous que ça en vaille la peine ou même que ça soit faisable ?

Ce qu'il me faudrait :

que
http://www.monsite.fr/page1.htm
http://www.monsite.com/page1.htm
http://www.monsite.it/page1.htm

aillent toutes vers :
http://www.monsite.fr/page1.php?lg=$lg

Je sais qu'on peut acheter un nom de domaine chez ovh où je suis et le rediriger vers un répertoire d'un autre domaine, donc on pourrait envoyer
http://www.monsite.fr/page1.htm
vers
http://www.monsite.com/fr/page1.php

puis faire une réécriture d'url via un .htaccess dans le répertoire http://www.monsite.com/fr, pour que le navigateur affiche http://www.monsite.com/page1.php?lg=fr à la place.

Ca me semble un peu chiant, pour ces motifs que j'ai identifié :

1. cela m'oblige à réécrire tous les liens de mes pages comme des liens externes, car sinon ça me rajoute le /fr/ dans tous les liens de ma page1.php : savez-vous si c'est sans conséquences sur le référencement ?

2. Je n'ai pas de solution pour la page d'index du site http://www.monsite.fr, sauf à faire un include "../page1.php" dans un fichier http://www.monsite.com/fr/index.php, ce qui me semble aussi compliqué et source de complications...

Bref, tout cela me semble être une USINE A GAZ, donc pensez-vous que ça vaille vraiment le coup, et quelle solution pensez-vous être la meilleure dans mon cas, simple et efficace pour le référencement ?
En particulier, quelle solution auriez-vous pour que je puisse avoir des noms de domaine différents pour chaque langue et que toutes les versions soient contenues dans une même page mapage.php?lg=lg, mais qu'à l'affichage http, ça donne : http://www.monsite.fr/mapage.php (ou.htm), ou http://www.monsite.com/mapage.php ou www.monsite.it/mapage.php, suivant que la langue demandée est le français, l'anglais ou l'italien.

Je vous remercie de votre patience...
 
WRInaute discret
Bonjour,

J'ai la même problématique que je n'ai pas résolu avec de la réécriture d'url, car j'utilise déjà cette dernière à d'autres fin.

Pour rediriger les personnes vers la bonne langue, je me sers simplement de la provenance du visiteur :
$provenance = $_SERVER['HTTP_HOST'];
if ($provenance == "www.monsite.com")
{
$langage = "en";
}
elseif ($provenance == "www.monsite.it")
{
$langage = "it";
}
elseif ($provenance == "www.monsite.fr")
{
$langage = "fr";
}

Ça oblige à avoir un point d'entrée unique pour toutes les pages php (ce qui est recommandé) ou bien de recopier ce bout de code dans chaque page multilangue. Pour ma part, j'ai plusieurs dizaines de milliers de pages gérées de la même manière pour toutes les langues avec une traduction en fonction de la variable $langage et ça fonctionne très bien.
 
Discussions similaires
Haut