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 368
    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
Google interprète les fautes de frappe numériques Référencement Google 12 Février 2010
Est ce que google interprete bien les "mots composés" ? Débuter en référencement 19 Janvier 2010
Comment Google interprète les liens externes? Netlinking, backlinks, liens et redirections 28 Juillet 2009
Google ADS Annonces approuvées non diffusées AdWords Hier à 13:36
Officiel : Google va tenir compte (2021) de l'expérience utilisateur Référencement Google Vendredi à 09:55
Google Analytics : Utilisateurs > différence entre Sommes Graphique /normale Débuter en référencement 25 Mai 2020
Search Console URL canonique déclarée pas la même que celle de Google Crawl et indexation Google, sitemaps 25 Mai 2020
Clic frauduleux sur Google Ads AdWords 19 Mai 2020
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice