Pour bon nombre de requêtes on cherche des résultats proches de sa localité (restaurant, salle, évènement, magasin,....). Évidemment on pourrait chercher en mettant un mot-clef comme la région, la ville ou le département par exemple, mais les sites sont rarement bien étiqueté.

Critères actuellement utilisés

La plupart des moteurs de recherche proposent de restreindre la recherche à une langue ou encore aux sites hébergés dans un pays précis.Détecter la langue d'un site ou d'un internaute (via la valeur renvoyée par le navigateur par exemple) est relativement aisé, et ça marche plutôt bien.
Par contre, restreindre une recherche aux sites hébergés dans un pays n'est pas pertinent. En effet, de moins en moins en moins de particuliers/entreprises utilise un hébergeur à proximité de son magasin ou encore dans le même pays. La mode va aux hébergeurs de grandes tailles qui ont leur propre datacenter là où l'immobilier est bon marché ou simplement où le backbone internet est peu onéreux. Ainsi nombre de sites français sont hébergés en allemagne ou encore aux USA. Bref, bon nombre de sites pertinents seraient recalés avec un tel critère.
Mais alors comment définir :

  • La langue et la localisation de l'utilisateur
  • La langue et la localisation d'un site ou plutôt du service qu'il représente (par exemple un hôtel)

Du côté de l'internaute

Pour cibler l'internaute, deux outils sont à disposition :

  • L'user-agent renvoyé par son navigateur
  • Son IP

Le user-agent des navigateurs les plus utilisés renvoie la langue utilisée par l'utilisateur, donc on peut en déduire la langue qui l'intéresse (évidemment, ce n'est pas infaillible et tous les critères devraient être ajustables par l'internaute).
Le seul critère qui pourrait refléter la localistion de l'internaute est son ip (qu'il faudrait tracer), néanmoins cela demande trop de temps, c'est approximatif et si ça passe par un proxy par exemple, le critère tombe à l'eau. Bref, je ne vois pas de vraie solution pour localiser l'internaute.

Du côté du site

Du côté du site on retrouve également l'IP du serveur (et cette fois on aurait le temps de la tracer), mais comme je l'ai dit précédemment, le résultat peu être totalement trompeur. Bref ce n'est pas un critère fiable.
Pour localiser le service d'un site (dans le cas où la prestation serait matériel comme un hôtel, restaurant, cinéma, musée ou autre évènement), le critère le plus fiable à mon avis serait une adresse trouvée dans le site. Ce serait à ValizBot de la trouver et de l'analyser.

Qu'en pensez-vous ?