Je voudrais afficher ma page différemment pour le visiteur en fonction de si elles venaient d'un moteur de recherche ou non. Je suppose que je détecte les références de moteur de recherche? J'aimerais aussi connaître les termes de recherche utilisés pour accéder à mon site.Un visiteur de mon site Web provient-il d'un moteur de recherche? Quels étaient leurs termes de recherche?
Ma solution à ce jour est la suivante:
1) de filtre sur les referers de requête HTTP contenant des URL des moteurs de recherche communs, à savoir http://www.google.com/search, http://www.bing.com/search ou http://search.yahoo.com/search
2) Parse le paramètre de chaîne de requête de la référant pour les termes de recherche, par exemple "q = recherche + termes + pour + mon + site web + go + ici"
Je pense que ce n'est pas la solution la plus robuste, car il manque des moteurs de recherche moins connus et chaque moteur de recherche peut avoir son propre paramètre de chaîne de requête pour les termes de recherche. Par exemple, les paramètres du terme de recherche de Google et de Bing sont tous les deux «q», mais Yahoo est «p» pour autant que je sache. Et qu'en est-il des opérateurs spéciaux comme +, -, etc.?
Existe-t-il une façon plus générale de procéder? Ou y a-t-il une bibliothèque qui m'aiderait à gérer plus de moteurs de recherche? Je travaille avec Java s'exécutant sur Tomcat, mais les idées de n'importe quelle langue et configuration du serveur sont les bienvenues.