Quelques lignes de PHP pour protéger la SERP-diversité

Rigueur. Et passion !

Ne dites pas à ma mère que je suis artisan en architecture de l'information appliquée aux sites web : elle croit que je suis webdesigner, intégrateur HTML & CSS, rédacteur web, formateur NTIC et consultant en webmarketing depuis 2001 ! Voulez-vous en savoir plus ?

Le blog de l'intégrateur web

Quelques lignes de PHP pour protéger la SERP-diversité

Pour tenter à la fois de limiter l’impact de Google en tant qu’apporteur de trafic sur mon blog et promouvoir d’autres moteurs de recherche pour favoriser la SERP-diversité, j’ai envisagé de proposer un encart spécifique au visiteur en provenance de Google pour qu’il teste sa requête sur d’autres moteurs de recherche. Je vois ça comme une sorte de service après-vente pour ceux qui n’auraient pas trouvés leur bonheur sur ce blog ou pour ceux qui voudraient en savoir plus. Dans ce cas, pourquoi ne pas leur faciliter la tâche ?

Entre les désirs et la réalité, il y a un fossé que je ne pouvais franchir seul, et c’est là qu’intervient Romain avec ce script PHP pour identifier Google comme referrer, isoler la requête et afficher une liste de moteurs de recherche en reprenant la demande de l’internaute.

Pour celà, il suffit de copier-coller ce code à l’endroit où vous voulez afficher la liste des moteurs. Pour ma part, je l’ai placé juste après l’ouverture de la balise div en haut de la sidebar :

<?php $isGoogleReferer = (isset ($_SERVER["HTTP_REFERER"]) && (preg_match('!^http://(www|images).google.[a-z]{2,3}(.[a-z]{2,3})?/!i',
$_SERVER["HTTP_REFERER"]))) ? true : false;
$googleQuery = ($isGoogleReferer && preg_match ('!q=([^\&#]*)!i',
$_SERVER["HTTP_REFERER"], $matches)) ? $matches[1] : null;
$googleQuerySanitize = ($googleQuery) ? preg_replace
('![^a-z0-9éèàêùçÇÉÀÈÙ\s]!i', ' ', rawurldecode ($googleQuery)) : '';
?>

<?php if ($isGoogleReferer && $googleQuery): ?> <div id="fromGoogle" class="sidebar-content xoxo"> <h3>Vous venez de Google via la requête <em><?php echo $googleQuerySanitize;?></em></h3> <p>Essayez donc un moteur de recherche différent, pour voir si j'y suis ;)</p> <ul> <li><a href="http://fr.search.yahoo.com/search?p=<?=$googleQuery;?>"><?=$googleQuerySanitize;?> sur Yahoo!</a></li> <li><a href="http://www.exalead.fr/search/results?q=<?=$googleQuery;?>"><?=$googleQuerySanitize;?> sur Exalead</a></li> <li><a href="http://fr.altavista.com/web/results?q=<?=$googleQuery;?>"><?=$googleQuerySanitize;?> sur Altavista</a></li> <li><a href="http://fr.ask.com/web?q=<?=$googleQuery;?>"><?=$googleQuerySanitize;?> sur Ask</a></li> <li><a href="http://search.live.com/results.aspx?q=<?php echo $googleQuery;?>"><?php echo $googleQuerySanitize;?> sur Live</a></li> </ul> </div> <!-- End #fromGoogle .sidebar-content .xoxo --> <?php endif; ?>

Cette liste est facilement modifiable pour s’adapter à vos goûts personnels matière de Search Engine puisqu’il suffit d’isoler la partie précédent la requête (généralement ?q=) pour chaque moteur ou de supprimer l’élément qui vous chagrine. Certains moteurs comme Ixquick utilisent la méthode post pour passer les paramètres de la requête à la page de résultats, ce qui ne permet pas de le mettre dans la liste. Dommage, car c’est un très bon métamoteur de recherche rapide et puissant que j’utilise depuis quelques temps déjà !

Si certains caractères spéciaux apparaissent dans la reprise de la requête à la place des caractères accentués, il suffit d’ajouter les caractères fautifs dans la liste : [^a-z0-9éèàùçÇÉÀÈÙêÊ\s] and the cat’s in the bag!

PS : Si vous trouvez ce script utile n’hésitez pas à l’utiliser comme bon vous semble et à le faire savoir à l’auteur !

Articles sur le même sujet

PS : Le respect de la vie privée sur internet est important : j'ai décidé d'échanger mon bouton Like de Facebook par un bouton Faire un don de Paypal car
Il n'y pas d'amour, il n'y a que des preuves d'amour (Jean Cocteau) ;) Merci d'avance.



14 commentaires pour “Quelques lignes de PHP pour protéger la SERP-diversité”

  1. Bonjour Bruno,

    Ce n’est pas stupide, faudrait que je me mette à Yahoo, qui n’est pas mauvais, voire Ask, mais bon les habitudes :D

    Mais j’ai bien peur que l’avance technologique et financière soit difficile à combler pour les petits Français d’Exalead :D

  2. Julien dit :

    L’idée est sympa ! Et ou sinon, sous wordpress il y a un plugin capable d’afficher du contenu uniquement pour les visites via moteur de recherche, et permet donc de récupérer le referer et la requête en une ligne.

    http://theundersigned.net/2006/06/landing-sites-11/

    ;)

  3. loïc m. dit :

    Salut Bruno,

    je viens de tester, et je voulais juste te dire que j’ai pas tout de suite remarqué le message me disant d’essayer un autre moteur. Je pense que l’emplacement n’est pas des plus visible OU que ce n’est pas assez mis en avant.

    Je m’attendais à voir le message juste en dessous de ton header, et non pas dans la sidebar latéral gauche, même si cette façon de faire permet de ne pas polluer le corps principal du blog.

    Good luck pour contrer la suprématie Google ;)

  4. Arkan dit :

    Je ne peux rien faire d’autres que de parler du plugin sur mon blog de moteur de recherche maintenant :)

    Si j’ai le temps je vais voir comment ajouter ça dans le plugin « Landing Pages » qui accueille les gens chez moi lorsqu’ils font une recherche via moteur de recherche ;)

  5. Fetard dit :

    Enfin, br1o, juste pour te dire que ce n’est pas parce qu’un blog me propose d’autres outils de recherche qu’on les utilisera pour autant.

    Entre des résultats aléatoires, une interface illisible, et des performances pas trop à la hauteur, malheureusement les concurrents de Google sont à la ramasse :)

  6. Francis dit :

    Ben pourquoi t’as pas utilisé le plugin Landing Site directement ? Il te suffisait de modifier quelques lignes du code à insérer et d’y mettre tes lignes avec les moteurs de recherche… Tu nous diras si ça donne quelque chose ?

  7. Loic dit :

    « Mais j’ai bien peur que l’avance technologique et financière soit difficile à combler pour les petits Français d’Exalead « 

    Non, mais avec un peu de chance, ils se feront racheter dans quelques années par Google ! ;-)

  8. Arkan dit :

    Merci Bruno et Romain en tous cas :)

    J’ai intégré la chose au Landing Sites et ça fonctionne très bien ;) Je peux maintenant accueillir mes visiteurs via requêtes moteurs en leur proposant 5 articles similaires, l’abonnement à mon blog et leur montrer ce que la même recherche aurait donné sur d’autres search engine :)

    Cool ^^

  9. Fetard dit :

    Elle aurait souvent donné la même chose :)

  10. Jean dit :

    Bonjour, c’est tout simplement du cloaking qui sera vite détecter par Google puisqu’il utilise plusieurs user-agents dont certains ne l’identifient pas en tant que Google. Fonctionnalité intéressante donc mais pouvant te pénaliser.

  11. Albert dit :

    Jean : c’est bien du cloaking, mais pas sur l’USER AGENT (ce dont tu parles), mais sur le REFERER. Ca ne modifie pas le contenu de la page – ou si peu – et donc Google s’en cogne…

  12. Bruno Bichet dit :

    @Alex : Concernant l’avance technologique et financière à combler, c’est sûr que ça ne semble pas gagné pour Exalead et les autres… Mais, curieusement, il y a de plus en plus de moteurs de recherche, souvent spécialisés (mais pas toujours) qui trouvent peut-être leur public.

    Je ne sais pas vraiment combien ça coute de mettre en place un crawler performant et de répondre à des millions de requêtes par jour (ce qui devrait suffire pour attirer d’éventuels annonceurs) mais je me dis que vu le nombre de projet qui fleurissent en ce moment, le gâteau a l’air bon ;)

    @Julien, @Arkan, @Francis : Landing site est une bonne idée, mais comme je ne l’utilise pas, ça ne met pas venu à l’esprit. Et à la réflexion, je me dis que le but n’est pas tout à fait le même, et qu’il est peut-être préférable de séparer les liens proposés par LS des suggestions des moteurs alternatifs, histoire de ne pas embrouiller le visiteur…

    De toutes manières, le script de Romain présenté ici est suffisamment léger pour ne pas pénaliser les performances…

    @Loïc : C’est vrai que pour le moment c’est assez discret. Mon idée de départ était de mettre un encart beaucoup plus visible, au-dessus des billets, mais du coup ça cassait pas mal la mise en page ! Je mettrait peut-être un fond avec une couleur différente pour que l’encart ressorte mieux dans la sidebar.

    @Fetard : Les résultats sont souvent différents selon les moteurs, et en ce qui concerne la lisibilité, je trouve personnellement que Live.com est plus abouti que Google. Exalead se défend bien aussi. Après, question vitesse, Google a toujours l’avantage, mais l’écart ne me semble plus aussi rédhibitoire qu’il y a 3 ou 4 ans !

    @Jean : Le cloaking vise surtout à présenter aux spiders un contenu très différent de celui présenté aux visiteurs, ce qui n’est pas mon cas comme le précise Albert dans le commentaire qui suit.

  13. […] au billet posté ce week-end par Bruno sur css4design, je n’ai pas pu résister à la tentation […]

  14. […] visite chez Homos sapiens internitus m’a fait découvrir de nouvelles possibilités via Css4design. Il s’agit simplement de quelques lignes de code que vous ajoutez à la suite sur votre page […]



Colophon

CSS & Webdesign est une publication irrégulomadaire à tendance hebdomadaire
éditée par Bruno Bichet qui carbure à WordPress et au café équitable.
Tous droits réservés © 2006 - 2011.

Contactez l'auteur du site