Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Webmarketing > Référencement
Référencement Vos questions sur le référencement de sites Internet.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2007, 12h06   #1
Membre éprouvé
 
Avatar de defcon_suny
 
Développeur informatique
Inscription : décembre 2006
Messages : 436
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 436
Points : 486
Points : 486
Par défaut problème référencement et language

Bonjour à tous,

je viens de terminer un site multi-langues. j'utilise une fonction pour parser la variable $_SERVER["HTTP_ACCEPT_LANGUAGE"] qui me renvoie la langue de l'utilisateur. Tout fonctionne très bien avec toutes les langues et sur tous les navigateurs. Sauf que au niveau des crawlers (robots) tel que google, cette fonction me renvoie un tableau vide. Du coup, mes pages référencées sont en erreur.

Je ne connais pas bien les techniques de crawling employées par les moteurs de recherche... Quelqu'un pour une solution?

Voici la fonction que j'utilise
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function get_pref_language_array($str_http_languages)
	{
  	$langs = explode(',',$str_http_languages);
  	$qcandidat = 0;
  	$nblang = count($langs);

  	for ($i=0; $i<$nblang; $i++)
  		{
    	for ($j=0; $j<count($langs); $j++) 
			{
      		$lang = trim($langs[$j]); // Supprime les espaces avant et après $lang
      		// Lang est de la forme langue;q=valeur
      
      		if (!strstr($lang, ';') && $qcandidat != 1) 
			  	{
  			    // Si la chaine ne contient pas de valeur de préférence q
        		$candidat = $lang;
        		$qcandidat = 1;
        		$indicecandidat = $j;
      			}
      		else 
			  	{
        		// On récupère l'indice q
        		$q = ereg_replace('.*;q=(.*)', '\\1', $lang);

        		if ($q > $qcandidat) 
					{
			        $candidat = ereg_replace('(.*);.*', '\\1', $lang); ;
          			$qcandidat = $q;
          			$indicecandidat = $j;     
        			}
      			}
    		}
    
    	$resultat[$i] = $candidat;

    	$qcandidat=0;
    	// On supprime la valeur du tableau
    	unset($langs[$indicecandidat]);   
    	$langs = array_values($langs);
  		}
  	return $resultat;
	}
Et voici mon appel de fonction
Code :
1
2
3
$lang = get_pref_language_array($_SERVER["HTTP_ACCEPT_LANGUAGE"]);
$_SESSION["lang_user"]=strtolower(substr($lang[0],0,2));
Merci de votre aide.

Et Joyeuses fêtes à tous
defcon_suny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 19h06   #2
Directeur Marketing
 
Avatar de Marc Lussac
 
Homme Marc Lussac
Responsable marketing opérationnel
Inscription : mars 2002
Messages : 26 358
Détails du profil
Informations personnelles :
Nom : Homme Marc Lussac
Localisation : Canada

Informations professionnelles :
Activité : Responsable marketing opérationnel
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2002
Messages : 26 358
Points : 23 184
Points : 23 184
Pour être référencé correctement il faut une URL différente pour chaque langue
__________________
-> Ne pas me contacter pour le forum et je ne répondrai à aucune question technique -> Comment nous contacter
-> Pour partenariat ou publicité : Mon Email
Marc Lussac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h02.


 
 
 
 
Partenaires

Hébergement Web