Comment google interprète-t-il le code php défnissant un texte par rapport a un browser...

Discussion dans 'Débuter en référencement' créé par sophieplaya, 26 Février 2011.

  1. sophieplaya
    sophieplaya WRInaute discret
    Inscrit:
    4 Mars 2009
    Messages:
    95
    J'aime reçus:
    0
    Je m'explique...
    Mon site kaaxan est assez bien référencé en français et en espagnol, mais je rame en anglais et je n'arrive pas a progresser...
    Comme si google n'arrivait pas a lire la premiere page.
    Or, la langue se définit avec un code php, selon le browser du client... Comment fait google pour choisir une langue ? Mon code provoquerait-il un "non-langue"?
    Code:
    // Dans le cas ou je reçoive la langue par request (ce qui n'est pas le cas de google)
    if (isset($_GET["language"])) $langstr = $_GET["language"];
    elseif (isset($_POST["language"])) $langstr = $_POST["language"];
    elseif (isset($_GET["lang"])) $langstr = $_GET["lang"];
    elseif (isset($_POST["lang"])) $langstr = $_POST["lang"];
    elseif (isset($_COOKIE["kaaxan"])) { //DAns le cas ou c'est un ancien visiteur(pas le cas de google non plus)
    	$parmsarr = explode("|",$_COOKIE["kaaxan"]);
    	$langstr = $parmsarr["langstr"];
    }
    // si ma variable n'est pas définie (comme pour un moteur google)
    if (empty($langstr)) {
    	class Language {
    	var $langstr = "en";
    	function Language($langstr) {
    		if ($langstr=='') $langstr = $this->getBrowserLanguage();
    		if ($langstr=="fr"||$langstr=="be"||$langstr=="bj"||$langstr=="bf"||$langstr=="bi"||$langstr=="cm"||$langstr=="cn"
    		||$langstr=="cv"||$langstr=="km"||$langstr=="cg"||$langstr=="cd"||$langstr=="ci"||$langstr=="dj"||$langstr=="ga"
    		||$langstr=="gp"||$langstr=="gf"||$langstr=="gw"||$langstr=="pf"||$langstr=="tf"||$langstr=="gy"||$langstr=="ht"
    		||$langstr=="pf"||$langstr=="tf"||$langstr=="gy"||$langstr=="ht"||$langstr=="re"||$langstr=="lu"||$langstr=="mg"
    	||$langstr=="ml"||$langstr=="ma"||$langstr=="mq"||$langstr=="mc"||$langstr=="mz"||$langstr=="ne"||$langstr=="rw"
    		||$langstr=="sn"||$langstr=="sc"||$langstr=="pm"||$langstr=="ch"||$langstr=="tg"||$langstr=="tn"||$langstr=="vu"
    			||$langstr=="tz") $langstr = "fr";
    		elseif ($langstr=="de"||$langstr=="au") $langstr = "de";
    		elseif ($langstr=="es"||$langstr=="mx"||$langstr=="ar"||$langstr=="bo"||$langstr=="cl"||$langstr=="co"
                  ||$langstr=="cr"||$langstr=="cu"||$langstr=="ec"||$langstr=="gq"||$langstr=="gt"||$langstr=="hn"||$langstr=="ni"||
                   $langstr=="pa"||$langstr=="pe"||$langstr=="pr"||$langstr=="do"||$langstr=="uy"||$langstr=="ve"||$langstr=="sv") 
                   $langstr = "es";
    		else $langstr = "en";
    		$this->langstr = $langstr;
    	}
    	function getBrowserLanguage() {
    		$langtxt = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
    		$lang = strtolower(substr($langtxt,0,2));	// needed for firefox!!!!!!!
    		$langstr = $lang;
    		$this->langstr = $langstr;
    		return $langstr;
    	}
    }
    	$language = new Language("");
    	$langstr = $language->langstr;
    }
    Aurais-je dans ces quelques lignes la raison de mon désarroi ?!?

    Merci de votre aide
    Sophie
     
  2. MikeR
    MikeR WRInaute passionné
    Inscrit:
    9 Janvier 2010
    Messages:
    1 416
    J'aime reçus:
    0
    GG n'interprète rien du tout puisque ce code s'execute sur ton serveur, et lui ne reçoit que ce que tu emmets.

    Maintenant, tu as vérifié que HTTP_ACCEPT_LANGUAGE contient quelquechose? Parceque sinon, tu ne retournes rien...
    Car tu ne traites pas le cas $langstr=="" ni le cas $langstr="".
     
  3. sophieplaya
    sophieplaya WRInaute discret
    Inscrit:
    4 Mars 2009
    Messages:
    95
    J'aime reçus:
    0
    Merci !!

    Donc en rajoutant la 4e ligne dans ce code, je me couvre:

    Code:
    	function getBrowserLanguage() {
    		$langtxt = $_SERVER["HTTP_ACCEPT_LANGUAGE"];
    		$lang = strtolower(substr($langtxt,0,2));	// needed for firefox!!!!!!!
    		if ($langtxt=""||$langtxt=="") $langstr="en";
    		$langstr = $lang;
    		$this->langstr = $langstr;
    		return $langstr;
    	}
    Mais quand même, pour ma gouverne, HTTP_ACCEPT_LANGUAGE renvoie bien une information que l'utilisateur envoie depuis son browser ?
    "Elle précise en fait quelle est la langue acceptée par le navigateur qui s' est connecté au serveur." MAIS QUE RENVOIE LE NAVIGATEUR DU GOOGLEBOT?

    Merciiiiiii
     
  4. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 361
    J'aime reçus:
    2
    Le Googlebot n'a pas de langue, il prend donc la langue que tu as définie par défaut, et suit les autres langues via les liens internes
     
Chargement...
Similar Threads - google interprète code Forum Date
Google interprete les nofollow de facebook? Facebook 22 Juin 2012
Comment interpréter les primo-visiteurs dans Google Analytics Google Analytics 1 Janvier 2011
Problème trafic temps réel Google Analytics Google Analytics Mercredi à 15:58
Google Analytics : avec quels mots-clés les visiteurs sont-ils arrivés ? Débuter en référencement 8 Avril 2021
Google Analytics sans cookies Google Analytics 5 Avril 2021
Le yoyo dans Google news / Discover Référencement Google 1 Avril 2021
Récapitulatif Gestion du consentement pour Google Analytics Google Analytics 30 Mars 2021
Stratégies d'enchères automatiques de google Ads AdWords 29 Mars 2021
Analytics G4A et Google Search console Débuter en référencement 29 Mars 2021
Google référence mon site par intermittence Problèmes de référencement spécifiques à vos sites 29 Mars 2021