Site (multilingue) référencé par yahoo, mais pas par google

Bonjour à tous,

Je suppose que beaucoup de personnes ont le meme problème que moi , ou un problème similaire. Voilà, je m'explique, mon site web est bien référencé par yahoo, (avec 2 mots clefs) mais pas dans google. Cela fait 3 mois qu'il est en ligne... donc, je me pose quelques questions...

Le site est multilingue : donc, j'ai opté pour redirection vers un sous-dossier :

1) En fonction de la langue du browser : EX :
-----------------------------------------------------------------
$lang2 = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$lang = explode(",",$lang2);
$lang = StrToLower(substr(chop($lang[0]),0,2));
switch ($lang) {
case "fr":
header('HTTP/1.1 301 Moved Permanently');
header('location:FR/index.php');
...
.... La meme chose pour le néérlandais.
.... La meme chose pour le default.
-----------------------------------------------------------------

2) En plus, dans cette meme page, mais je ne sais pas si ça se fait, j'ai rajouté une redirection HTML du genre :
-------------------------------------------------------
switch ($lang) {
case "fr":
echo '<meta http-equiv="refresh" content="0; url=http://***********"/>';
---------------------------------------------------------
Pour ceux que ça intéresse, j'ai mis l'adresse du site ici :
-http://www.***********/ //Heu, enlevé. ça faisait tache ds google

Mais etant donné la redirection du site, il est impossible "d'intercepter" le fichier de redirection. (Donc, je vous fait un gros copier, coller de celui-ci, ci-dessous... Si ça ne dérange personne, sinon, je fais un lien vers un fichier texte si vous préférez........ lol...
Rem : j'ai volontairement racourci et supprimé les mots clefs.

Merci de votre aide!


FICHIER -http://**********/index.php
------------------------------------------------------------------

<?php
$lang2 = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$lang = explode(",",$lang2);
$lang = StrToLower(substr(chop($lang[0]),0,2));
switch ($lang) {
case "fr":
header('HTTP/1.1 301 Moved Permanently');
header('location:FR/index.php');
break;
case "nl":
header('HTTP/1.1 301 Moved Permanently');
header('location:NL/index.php');
break;
default:
header('HTTP/1.1 301 Moved Permanently');
header('location:FR/index.php');
}
?>
<?php
header('Content-Type: text/html; charset=ISO-8859-1');
header('Connection: close');
echo '<', '?', 'xml version="1.0" encoding="ISO-8859-1"?>'; //entête XML pour ISO-8859-1
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> ...</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<?php
switch ($lang) {
case "fr":
echo '<meta http-equiv="refresh" content="0; url=http://www.**********/FR/index.php"/>';
break;
case "nl":
echo '<meta http-equiv="refresh" content="0; url=http://www.************/NL/index.php"/>';
break;
default:
echo '<meta http-equiv="refresh" content="0; url=http://www.**********/FR/index.php"/>';
}
?>
<META NAME="robots" content="index,follow" />
<META NAME="Keywords" CONTENT="........">
<META NAME="description"CONTENT="........">
<META NAME="author" CONTENT=".........">
</head>
<body>
<?php
echo '<p><a href="http://www.**********/FR/index.php">***** en français</a></p>';
echo '<p><a href="http://www.**********/NL/index.php">***** in het Nederlands</a></p>';
?>



</body>
</html>
 
Peut etre que GG n'aime pas les chemins relatifs:
genre: header('location:FR/index.php');

essaie header('location:http://www.mte-huvema.be/FR/index.php');
puis un petit exit;. pour etre sur que rien de plus n'est executé. (ce qui devrait etre le cas selon les 'regles')

Autres remarques:
J'ai cru comprendre que GG n'aime pas trop les meta http-equiv="refresh"
A supprimer? (le sera si tu utilises le exit decrit plus haut)

sinon moi j'ai fait mes redirections en javascript ainsi je controle ce que voient les robots. voir -www.tradjus.net

A+
 
Thx

Merci beaucoup pour ta réponse! Je vais tester ça dès que j'aurai le temps de le faire. (Cad après les exams). Lol.

Xav.
 
Tu peux ne garder que
Code:
<?php
$lang="";
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($lang) {
    case "nl":
      header('HTTP/1.1 301 Moved Permanently');
      header('location:http://www.example.com/NL/index.php');
      break;
   default:
      header('HTTP/1.1 301 Moved Permanently');
      header('location:http://www.example.com/FR/index.php');
}
?>
le reste ne sert à rien... :wink:

Sinon, les sites à redirection sur la home sont parfois un peu plus dur à référencer mais avec le temps tout finit par se faire.
Au fait : Google ne trouvera pas la version NL si tu n'as pas de liens transversaux à l'intérieur du site.
 

➡️ 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