Google – personnaliser un moteur de recherche google pour votre site



Pour parvenir à se servir de la technologie du moteur Google pour son propre moteur de recherche, il va falloir vous livrer un peu plus encore à l’ogre de “Mountain View”. Mais n’est-ce pas déjà le cas ? En effet, si vous êtes déjà un adepte de Gmail, Google sitemap, Google webmaster tools, Google adsense, Google analytics…etc. Il ne vous reste encore qu’un seul effort à faire pour finaliser votre “Google life” alors pourquoi ne pas franchir une étape supplémentaire en confiant votre moteur de recherche à ce qui est à l’origine de la “success story” de Google, le technologie de recherche. C’est trivial, en effet mais Google reste avant tout un moteur de recherche et vous pouvez, auprès de leurs services, externaliser totalement la recherche de votre site.

Mettre du google dans votre moteur

Pour cela, il vous faut un compte Google. C’est sans doute chose faite si vous êtes parvenu(e) sur cette page et/ou que vous fréquenté(e) même occasionnellement ce blog sinon faites-le Pour mémoire, quelques-uns des articles qui détaillent ce que le sésame d’un compte Google vous autorisera :

Faites votre moteur vous-même !

Le plus difficile est bien de trouver la page où vous pourrez vous connecter : http://www.google.com/coop/manage/cse/ une fois ce problème résolu, il ne vous reste plus qu’à suivre les instructions.

1. créer son premier moteur en 2 étapes. Sans le test de page de résultats, la promesse est vraie
Google - personnaliser un moteur de recherche google pour votre site

2. Les paramètres du moteur
Google - personnaliser un moteur de recherche google pour votre site

L’écran complété des paramètres du moteur
Google - personnaliser un moteur de recherche google pour votre site

Vous devez complétez la valeur Sites à explorer :
www.monsite.com/* que je remplace habilement par www.hecube.net/* et donc le moteur va crawler toutes les pages concernant ce domaine uniquement dans notre exemple.
Google - personnaliser un moteur de recherche google pour votre site

3. l’écran de test du moteur
Google - personnaliser un moteur de recherche google pour votre site

Un test de recherche sur hecube sur mon_moteur désigné par hecube avec l’aide de Google !!!
Google - personnaliser un moteur de recherche google pour votre site

Le code délivré par google
Google - personnaliser un moteur de recherche google pour votre site

Le code en vrai

 
 
<form action="http://www.google.com/cse" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="001162007975234339020:0ii-7lvddua" />
    <input type="hidden" name="ie" value="UTF-8" />
    <input type="text" name="q" size="31" />
    <input type="submit" name="sa" value="Rechercher" />
  </div>
</form>
 
<script type="text/javascript" 
src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("elements", "1", 
{packages: "transliteration"});
</script>
<script type="text/javascript" src="http://www.google.com/coop/cse/t13n?form=cse-search-box&t13n_langs=fr">
</script>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=fr">
</script>

Vous pouvez spécifier autant de moteurs que vous le souhaitez sur ce même principe de création.

NDLR : Vous qui comme moi pensiez naïvement que Google était totalement gratuit ! Eh bien, nous avons été trompés :):) Qu’on se rassure ici G glisse son offre commerciale après vous avez rendu addictif au service ! De la manière la plus subtile, ils ont compris en finesse comment faire payer les externalités négatives au consommateur que vous êtes. Vous souhaitez une page de résultat sans liens sponsorisés, avec plus de 64 résultats, il faudra donc payer. Rassurez-vous bientôt vous devrez payer pour un air ou une eau débarrassé des pollutions insidieuses (un peu comme la pub sur les pages de résultats) au risque de se rendre durablement malade. Comme l’eau ou l’air, G pourrait devenir une ressource rare, on est pas loin de payer pour la qualité des résultats eux-mêmes, ce qui pourrait se résumer par cette proposition en donnant dans la devise simpliste d’une avenir possible si toi pas payer, toi avoir des pages de m…, pleines d’infomerciales.

Au sujet de l’API Google, je vous invite à voir cette vidéo un peu surréaliste, sur les explications de Mark Lucovsky en charge de l’API Ajax de Google.
“Google AJAX APIs go RESTful”

Le dépliant “ajax” de Google sur les vertus d’un moteur “NOPUB”

Les fameuses limitations de l’API Google. Gratuité vs Payant

 
Éditions de la Recherche personnalisée
 
Nous proposons la Recherche personnalisée Google en deux versions :
 
    * L'édition standard vous offre une expérience de recherche sur mesure 
grâce à la technologie Google. 
Vous pouvez également personnaliser l'apparence de votre moteur
de recherche et l'intégrer à votre site à l'aide d'un iframe.
Vous devez afficher des publicités en regard des résultats de
recherche, sauf si vous créez votre moteur de recherche
pour une organisation à but non lucratif, une université ou
un établissement public. Le cas échéant, vous pouvez désactiver
les publicités. Vous pouvez gagner de l'argent grâce à ces publicités à
l'aide du programme AdSense pour les recherches.
 
    * Édition Entreprise : à partir de 100 $ USD par an, avec options
supplémentaires disponibles. Une API XML vous garantit
une assistance et des options de personnalisation renforcées pour
vos résultats de recherche. En outre, vous avez l'assurance
qu'aucune annonce ne s'affiche en regard des résultats de recherche.

Les valeurs de votre moteur perso… Google

Le code mis à disposition pour Google de notre moteur de recherche mon_moteur. La valeur cx est une des plus importantes 001162007975234339020:0ii-7lvddua. Cette valeur atteste qu’il s’agit bien de votre moteur auprès de l’API Google.

cx?

This optional argument supplies the unique id for the Custom Search Engine that should be used for this request (e.g., cx=000455696194071821846:reviews).

Quelques-uns des arguments spécifiques pour paramètrer votre moteur de recherche Google

Tout ce qu’il faut savoir sur les valeurs du moteur…
extrait tiré de la documentation google

Argument     Description
cx? This optional argument supplies the unique id for the Custom Search Engine that should
be used for this request (e.g., cx=000455696194071821846:reviews).
cref? This optional argument supplies the url of a linked Custom Search Engine specification that
should be used to satisfy this request (e.g., cref=http%3A%2F%2Fwww.google.com%2Fcse%2Fsamples%2Fvegetarian.xml).
safe? This optional argument supplies the search safety level which may be one of:

  • safe=active – enables the highest level of safe search filtering
  • safe=moderate – enables moderate safe search filtering (default)
  • safe=off – disables safe search filtering
lr? This optional argument allows the caller to restrict the search to documents
written in a particular language (e.g., lr=lang_ja). This list
contains the permissible set of values.
filter? New! This optional argument controls turning on or off the duplicate content filter:

  • filter=0 – Turns off the duplicate content filter
  • filter=1 – Turns on the duplicate content filter (default)

Le personnalisation des pages de résultat

Attention, comme la vidéo ci-dessus le laisse entendre, vous pouvez renforcer l’hégémonie de Google en lui déléguant la recherche sur votre site. La rubrique, “Flash and other Non-Javascript Environments ”
http://code.google.com/intl/fr/apis/ajaxsearch/documentation/reference.html#_intro_fonje
de Google API vous met sur la piste d’une “RESTful interface” qui offre une méthode GET et un format de réponse en JSON… Trop la classe !

En gros voilà le code qui va vous permettre de personnaliser totalement vos pages de résultats.

 
	$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&amp;q=Paris%20Hilton";
 
	// sendRequest
	// note how referer is set manually
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	// curl_setopt($ch, CURLOPT_REFERER, "http://www.mysite.com/index.html");
	$body = curl_exec($ch);
	curl_close($ch);
 
	// now, process the JSON string
	$json = json_decode($body);
	// now have some fun with the results...

Vous pouvez accéder aux différents services de google que celle donnée dans l’exemple, notamment en changeant la “Base Url” pour faire des recherches sur les vidéos. C-dessous, la liste des services mis à disposition par Google.

  • Web Search – http://ajax.googleapis.com/ajax/services/search/web
  • Local Search – http://ajax.googleapis.com/ajax/services/search/local
  • Video Search – http://ajax.googleapis.com/ajax/services/search/video
  • Blog Search – http://ajax.googleapis.com/ajax/services/search/blogs
  • News Search – http://ajax.googleapis.com/ajax/services/search/news
  • Book Search – http://ajax.googleapis.com/ajax/services/search/books
  • Image Search – http://ajax.googleapis.com/ajax/services/search/images
  • Patent Search – http://ajax.googleapis.com/ajax/services/search/patent

A noter la recherche se fait sur Paris Hilton, aussi populaire en son temps que Pamela Anderson. Gare aux erreurs de frappe, qui vous font confondre avec Perez Hilton puis Pervez Musharraf.

Quelques informations sur l’API ajax de Google

Pour plus loin