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
Update Google du 10 août 2020 : c'était un bug ! Référencement Google Mardi à 09:08
Référencement url sur Google - Affichage positions sur mobile différents d'un OS à un autre ? Référencement Google 7 Août 2020
Publication dans Google Actualités Référencement Google 6 Août 2020
Google Chrome et gestion des cookies Google : l'entreprise, les sites web, les services 4 Août 2020
Installer un évènement sur Google Analytics Google Analytics 31 Juillet 2020
A lire si Google refuse d'indexer toutes vos pages pourtant indexables Crawl et indexation Google, sitemaps 22 Juillet 2020
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice