Publié le 05/09/2014, dernière mise à jour le 27/10/2014 : comment désactiver totalement cette Search Box
Le champ de recherche amélioré dans les résultats de recherche (Sitelinks Searchbox)
C'est plus simple à expliquer par une image...
Voici par exemple ce que ça donne avec la requête "webrankinfo" :
Voici également ce Sitelinks Search Box avec la requête "youtube", cette fois-ci sur mobile :
Si l'internaute souhaite trouver autre chose sur le site de YouTube, avant même d'y aller, il lui suffit de taper sa requête dans le champ de recherche affiché entre le descriptif du site (snippet) et les liens supplémentaires (sitelinks).
Google avait déjà testé quelque chose de similaire, mais :
- ce formulaire était affiché sous les sitelinks alors qu'il est maintenant bien plus visible, au-dessus
- ça n'utilisait pas le moteur de recherche interne du site concerné, mais ça lançait une recherche Google supplémentaire avec la commande site: (qui restreint à un site donné)
- ça ne concernait que quelques gros sites très populaires
Par ailleurs, cette nouvelle version de la recherche intra-site inclut désormais les suggestions automatiques de requêtes.
Comment configurer son site pour le rich snippet SearchAction ?
Voici comment bien gérer la nouvelle barre de recherche Google sous votre site dans les résultats de recherche :
- Bien entendu, la première condition est de disposer d'un moteur de recherche interne (celui de Google peut suffire : Google Custom Search ou "CSE"). D'après la documentation de Google, il me semble qu'il est nécessaire que votre formulaire de recherche soit en méthode GET.
- Il faut ensuite indiquer correctement à Google quel moteur de recherche interne il doit utiliser. Pour cela, il faut intégrer des données structurées dans votre page d'accueil, comme expliqué ici.
- Enfin, il faut espérer que ce type de formulaire s'affiche pour votre site... En effet, un algorithme se charge de déterminer si cette fonctionnalité doit s'appliquer en fonction de la requête de l'internaute. Attention : ajouter le code sur votre page d'accueil ne permet pas automatiquement de bénéficier de l'affichage de ce formulaire au-dessus de vos sitelinks.
Si vous ne faites rien, Google ne pourra pas deviner où se trouve votre moteur de recherche. Dans ce cas, il relancera une recherche mais avec la commande site:. Par exemple, si l'internaute tape "youtube" puis "bill gates" dans le formulaire intégré au-dessus des sitelinks, si jamais le site YouTube ne définit pas où est son moteur interne, alors Google affichera à l'internaute une nouvelle page de résultats correspondant à la requête [bill gates site:youtube.com].
Cette nouvelle fonctionnalité est déployée dans le monde entier, active pour le site WebRankInfo (et de nombreux autres) depuis le 18/09/2014.
Que se passe-t-il sur un site qui n'a PAS mis les bons tags ?
Dans ce cas, Google affiche une nouvelle page de résultats de recherche, chez lui, constituée des mots-clés tapés par l'internaute et terminée par "site:example.com". Notez que Google n'utilise aucun sous-domaine, donc la recherche va porter sur tous vos sous-domaines, ce qui n'est pas toujours une très bonne idée.
Pour changer de l'exemple de ma vidéo ci-dessous, voici ce qui se passe avec le site AuFéminin :
Comme vous l'avez bien compris, le problème majeur est que l'internaute se retrouve sur une page potentiellement remplie de publicités AdWords très ciblées, pour des concurrents !
Conclusion : tant que les sites n'auront pas implémenté le bon marquage SearchAction, Google en profitera largement et gagnera (encore) un peu plus d'argent. Google adore les marques, vous savez pourquoi !
Que se passe-t-il sur un site qui a mis les bons tags ?
Ayant sous la main un site qui dispose de cet affichage de searchbox au-dessus des sitelinks, j'ai pu faire quelques tests. Voici ce qu'il en ressort :
- les suggestions automatiques qui s'affichent au fur et à mesure que l'internaute tape dans ce search box sont effectivement propres au site concerné
- par contre, ces suggestions semblent basées sur l'ensemble du site, quels que soient les sous-domaines. Par exemple dans mon cas, l'internaute est "pollué" par toutes les suggestions liées au forum
- pour finir sur ces suggestions, je n'ai pas encore identifié comment Google les génère et si on peut configurer son site pour que Google utilise les nôtres
- l'internaute qui arrive depuis le search box des sitelinks n'a pas de referrer. Ce n'est pas seulement l'absence de mots-clés (sa requête initiale, incluant a priori le nom du site), il n'y a pas du tout de referrer. A mon avis, la raison vient du fait que la page de SERP de Google est en HTTPS tandis que la page d'arrivée sur mon site est en HTTP (donc aucun referrer n'est transmis par le navigateur). Google n'a pas prévu de passer par une URL intermédiaire (en HTTP), comme c'est le cas pour les autres liens dans les SERPs (cf. explications sur le not provided de Google).
- par contre, l'internaute arrive sur votre page de résultats de recherche interne avec comme mots-clés ceux qu'il a tapés dans le nouveau formulaire intégré au-dessus des sitelinks. Si jamais il a cliqué sur une suggestion de requête, c'est cette suggestion qui est transmise.
Tuto vidéo
Si vous préférez, consultez ma vidéo sur ce "rich snippet SearchAction" :
Zone de recherche Google Sitelinks : FAQ
Depuis quand cette Search Box est-elle présente dans les résultats Google ?
Depuis le 05/09/2014 sur google.com et depuis le 18/09/2014 ailleurs.
Est-ce possible de désactiver totalement cette Search Box ?
Oui c'est possible, il suffit d'ajouter la balise meta Google nositelinkssearchbox. Dans ce cas, le code SearchAction n'est plus nécessaire.
Concrètement, comment empêcher Google d'afficher un moteur de recherche sous mes sitelinks ?
Pour indiquer à Google que vous ne souhaitez pas qu'un formulaire de recherche s'affiche au-dessus des sitelinks pour votre site, ajoutez cette balise meta :
<meta name="google" content="nositelinkssearchbox">
Il suffit de la mettre dans votre page d'accueil, inutile de la mettre sur toutes vos pages.
Il faudra ensuite attendre que Google crawle à nouveau votre page, puis en tienne compte (cela devrait donc prendre quelques jours ou quelques semaines).
Dommage que Google ne propose pas de gérer cette option dans Google Webmaster Tools, ça serait utile à ceux qui ne peuvent pas ajouter une balise meta spécifique à leur page d'accueil. Et surtout, ça éviterait des problèmes lors des refontes, pendant lesquelles cette balise meta "no sitelinks searchbox" disparaîtra un jour ou l'autre...
Je pense aussi que certains vont se tromper en mettant "googlebot" au lieu de "google"...
Au fait, pourquoi est-ce au webmaster de s'opposer à cette fonctionnalité (opt-out) et pas le contraire (opt-in) ? Ou alors, plus largement, pourquoi Google se permet-il d'afficher des AdWords pour des requêtes avec l'opérateur site: ? (oui, je sais pourquoi mais je trouve ça lamentable, Google gagne assez d'argent pour ne pas avoir besoin d'utiliser ce genre de moyens détournés).
Comment éviter d'avoir des publicités AdSense dans Google Custom Search ?
La version gratuite du moteur de recherche interne personnalisé Google CSE affiche des publicités AdSense au-dessus de vos résultats internes. Pour ne pas en avoir, il faut passer à la version payante (à partir de 100$/an)... ou bien utiliser un autre moteur de recherche interne, par exemple celui de votre CMS.
Comment intégrer le code SearchAction sur WordPress ?
Ajoutez le bout de code JSON-LD juste avant </head>
dans votre fichier wp-content/header.php
. Etant donné qu'il n'est utile que pour la page d'accueil, vous pouvez utiliser la fonction de test is_home()
. En supposant que votre URL de résultats de recherche interne est http://www.example.com/recherche?s=test
(donc le paramètre est ici s
), ça pourrait donner quelque chose comme ça :
<?php wp_head(); ?> <?php if ( is_home() || is_front_page() ) : ?> <script type="application/ld+json"> { "@context : "http://schema.org", "@type : "WebSite", "url : "https://www.example.com/", "potentialAction : { "@type : "SearchAction", "target : "http://www.example.com/recherche?s={search_term}", "query-input : "required name=search_term" } } </script> <?php endif; ?> </head>
Si vous souhaitez que cela fonctionne pour tous vos thèmes, il faudrait plutôt transférer ce code dans un plugin.
Si vous utilisez le plugin WordPress SEO de Yoast, sachez qu'il intègre désormais ce bout de code automatiquement.
Ce code SearchAction est-il compatible avec les autres données structurées schema.org ?
Oui, vous pouvez sans problème combiner ce code avec vos données structurées de type schema.org/Person, schema.org/Event, etc.
Ce code SearchAction est-il obligatoire pour bénéficier de ce champ de recherche dans les SERP ?
Non, il n'est pas obligatoire. Sachez d'ailleurs que c'est un algorithme qui identifie si pour une requête, votre site doit bénéficier ou pas de l'affichage de ce champ de recherche au-dessus des sitelinks. Avoir le code SearchAction sur votre site n'influence pas cet algorithme.
Peut-on intégrer ce code directement dans notre formulaire de recherche interne ?
Non ce n'est pas possible et ce n'est pas l'idée. Il faut simplement indiquer à Google comment accéder à une page de résultats de recherche interne.
Ce code SearchAction permet-il de retrouver les mots-clés cachés par not provided ?
Oui et non !
Depuis 2013, Google ne fournit plus aux sites web les mots tapés par l'internaute dans sa recherche. Dans l'outil Google Analytics, ils sont remplacés par (not provided). Dans le cas présent, quand l'internaute tape une recherche non pas dans le formulaire standard de Google, mais dans le nouveau champ de recherche au-dessus des sitelinks, voici ce qui se passe :
- l'internaute était sur une URL en HTTPS de résultats de recherche Google, incluant les termes de la recherche (dans le paramètre q).
- il saisit a priori d'autres termes dans le search box au-dessus des sitelinks
- il valide ce formulaire et se retrouve directement sur l'URL de résultats de recherche interne sur votre site : celle que vous avez indiquée dans votre code SearchAction
- si votre URL est en HTTPS, il est possible que vous puissiez récupérer le referrer et donc la requête initiale de l'internaute (concernant a priori le nom de votre site, qui a déclenché l'affichage des sitelinks)
- si votre URL est en HTTP, vous n'avez strictement aucun referrer, donc pas les mots-clés de la requête initiale. Mais vous avez évidemment les mots de la requête tapée dans le second formulaire, celle-ci étant bien plus intéressante.
Si vous avez des questions, posez-les dans le forum WebRankInfo.
Si vous préférez du consulting, j'en propose sur mon site WebRankExpert.
@olivier, pas tout le monde ne sait coder. De plus il y a des sites hébergés sur WP donc pas accès aux fichiers sources pour ajouter ces lignes.
Et oui, c'est déjà rempli automatiquement, mais j'ai préféré laisser les utilisateurs avoir la main dessus pour le modifier à leurs guise ;)
Je reviens sur ce post pour vous informer que j'ai développé un plugin WordPress qui permet de le faire facilement si ça intéresse quelqu'un : https://fr.wordpress.org/plugins/search-box-google-par-jm-crea/
@Dge-06 : tout ça pour ajouter ce code ? d'ailleurs, les champs pourraient être remplis automatiquement surtout sur un WordPress.
Pour info, Yoast SEO ajoute déjà ce code.
merci pour la précision,
des idées sur les critères de decisions de l'algo ?
bonjour
j'ai installer le code il y a un mois environ, je le retrouve dans le cache de google, mais google n'affiche toujour pas de search box quand on clique abel franklin.
auriez vous une explication ?
@lea : je l'ai expliqué dans l'article "ajouter le code sur votre page d'accueil ne permet pas automatiquement de bénéficier de l'affichage de ce formulaire au-dessus de vos sitelinks". Le code à insérer sur la page d'accueil sert à bien configurer le fonctionnement du moteur de recherche sous les sitelinks, SI Google décide de l'afficher. L'algo de Google évalue si ça vaut le coup ou pas d'afficher ce formulaire, que le code soit inséré ou pas dans la page d'accueil ne change rien à cette évaluation.
Bonjour,
J'ai mis en place tout ce qu'il faut sur mon site cycles-darnanville.com ....
- CANONICAL
- le script javascript /ld
- le moteur de recherche ....
bref, le moteur de ne met toujours pas sur google.
Quelqu'un pourrait-il m'éclairer sur quelque chose que j'aurais mal fait ? ou autre ?
Cordialement, Cédric
Cédric, c'est l'algo de Google qui détermine si ça vaut le coup ou pas d'afficher ce moteur de recherche intrasite, ça ne dépend pas de l'implémentation sur le site
Décidément, j'ai du mal...
le moteur de recherche était en "post", maintenant il est en "get" et j'ai bien le formulaire "Rechercher" sur les SERPs. Je te remercie Olivier :)
Tout à fait, le formulaire de recherche est en mode get, en tapant une requête l'URL ne change pas, on reste sur l'url nomdedomaine.com/search/
Je vais demander au développeur de mettre le mdr en méthod post je posterai un message quand ça sera Ok.
En tout cas merci pour ces infos.
Bonne journée
@Lolito : je suppose que c'est le contraire, car s'il est en GET actuellement, ça devrait marcher. Et s'il passe en POST, ça ne pourra pas marcher...
Merci Olivier pour ces éléments, malheureusement dans un soucis de confidentialité je ne peux indiquer le nom de mon client ici.
Pas de pb, je comprends. Donc en résumé, il a bien le sitelinks searchbox, il a bien mis le code json-ld dans sa page d'accueil, il a bien un moteur de recherche interne en méthode GET ?
Merci Olivier pour ta réponse rapide , mais je crois que je n'est pas été assez précis.
Actuellement le formulaire s'affiche sur les SERPs mais il y a écrit "Résultats" au lieu de "Rechercher". Donc si j'ai bien compris le script permet juste d’indiquer à Google de rediriger sur le moteur de recherche interne après avoir rempli le formulaire.
Soit ça vient du robots.txt qui à Disallow le /search soit ça vient du fait qu'il est en méthode post
@Lolito : si le formulaire est en POST, c'est incompatible... c'est quel nom de domaine ?
Bonjour et merci pour cet article,
J'ai bien intégré le script sur ma page d'accueil, mais je n'ai toujours pas "Rechercher" sur Google, quand on tape le nom de mon site. Est ce que cela vient du fait que le moteur de recherche est en méthode Post ? Ou on ne voit pas la requête dans l'URL on reste sur /search/. Ou alors ça vient du robots.txt avec qui j'ai désactivé le crawl de la recherche ?
Merci d'avance
@Lolito : relis mon article ;-) ce n'est pas parce qu'on met le script dans notre site que Google affiche ce formulaire : c'est un algo qui décide s'il l'affiche ou pas
Bonjour,
J'ai des difficultés à intégrer le formulaire et de le rendre accessible par la method GET.
Est ce qu'il y a une manipulation particulière à faire ou alors c'est automatique?
Mes urls sont ré-écrites est ce que ça peut venir de là ?
Ex : si je fais : monsite.com?q=marecherche Le champ de recherche ne se remplit pas avec "marecherche".
Est ce que si ça, ça ne fonctionne pas, est ce que google pourra quand même essayé de l'intégré ?
Je vous remercie,
Cordialement,
si le formulaire ne s'affiche pas encore dans les SERP, configurer le site ne changera rien, on est d'accord ?
il faut fournir une URL de résultats de recherche, ça doit pouvoir se faire malgré l'utilisation d'URL "réécrites"
si on avait l'URL du site, ça serait plus facile de répondre ;-)
Merci Olivier pour votre réponse. Le seul problème c'est que nous n'avons pas de moteur de recherche interne sur notre site (à part pour notre blog), il nous faudra donc en déployer un.
Le champ de recherche s'active pour mon site et lance une recherche "mot clé tapé + site:example.com" alors que je n'ai pas fais de configuration particulière, savez vous s'il est possible de désactiver l'affichage de ce champ de recherche ? et si oui, que faut il faire ?
@ chloe : je n'ai pas trouvé l'info donc je pense qu'il est impossible de désactiver cet affichage de ce champ de recherche. Donc s'il s'affiche pour votre site, il faut absolument ajouter (sur la page d'accueil) le code que j'ai indiqué dans cet article.
En combien de temps peut on espérer que google prenne en compte l'ajout de ce bout de code dans nos sites ?
@ dmerchie : je dirais entre quelques jours à 10 jours
Autant pour moi, vu la méthode je voyais ça en post avec une sorte de redirection.
En tout cas merci de prendre de votre temps pour nous répondre.
De plus la recherche est en NoIndex donc cela montre bien qu'il n'y a aucun impact sur l'affichage du champ de recherche. Ça me rassure.
je crois que ce n'est pas encore assez clair pour vous...
le fait que Google décide d'afficher ce formulaire dans les SERP n'a AUCUN rapport avec la façon dont fonctionne le moteur de recherche interne du site, et AUCUN rapport non plus avec l'intégration ou l'absence du code SearchAction.
si jamais Google décide d'afficher ce formulaire dans les SERP, alors il est largement recommandé d'avoir un moteur de recherche interne en méthode GET et d'ajouter le code dans la page d'accueil
Merci encore des infos.
Par contre pour l'affichage du moteur sur google.
Il est possible de l'avoir même avec un moteur interne en post simulant une methode GET.
Exemple : jeuxvideo.com, leader dans ce domaine d'ailleurs.
En faisant un recherche interne sur le site il y a un traitement de la saisi et même de l'url rewriting.
@Anthony : ce n'est pas le meilleur exemple car
1- ils n'ont pas encore mis le code nécessaire
2- ils utilisent un formulaire en GET :
<form id="rech" action="http://www.jeuxvideo.com/cgi-bin/rech_new.cgi" accept-charset="utf-8" method="get" onsubmit="return valid_recherche(this);">
@Olivier, merci pour les infos
Petite question :
Le fait de mettre la page de recherche interne en no-index ne va pas empêcher l'affichage de ce champs de recherche?
Non Anthony, aucun souci je pense
Moui mais j'ai regardé le code source du "mauvais" exemple donné, à savoir le site AuFéminin...
Je ne vois pas d'où provient l'erreur, ni ce qui est mal paramétré... J'ai su louper un truc...
@Vincent : AuFéminin a ajouté ce bout de code après la publication de mon article. Il faut attendre que Google en tienne compte, ce qui n'est pas le cas en ce moment.
Bonjour,
Le fait d'utiliser ce script ne rentre t-il pas en conflit si on utilise déjà les données structurées du genre itemscope itemtype="http://schema.org/Person ?
Ce code n'existe que sous forme de script ou existe t-il une version du code ou on rajoute les attribut directement sur le champ de recherche?
@ Anthony : j'ai mis à jour mon article avec une FAQ qui répond à ces questions
Visiblement, Google trouve lui-même la solution. Le Rich Snippet semble facultatif. Dans cet exemple, le site n'a ni micro-données, ni moteur de recherche interne : https://twitter.com/ericniakissa/status/512644978875842560/photo/1
Eric, les données structurées ne servent pas à déclencher l'affichage du formulaire de recherche dans les SERP ! Elles servent à éviter que Google utilise la commande site:
Comment savoir si notre site est concerné ? Cela dépend de la requète initiale donc pas forcément visible à ou les coup non ?
J'ai l'impression que Google nous force quand même pas mal à l'installer cette petite fonctionnalité... Si on ne met pas le code, on risque de perdre de potentiels visiteurs, qui eux restent sur Google et cliqueront peut-être même sur les Ads.
Si on le met, je me demande où vont les données ? Le mot-clé tapé par l'utilisateur sera-t-il répertorié sur Webmaster Tools par exemple ? Cela fera-t-il baissé les données de recherches internes si on a déjà un outils de tracking en place ?
Très intéressant.
Je viens de mettre le script en place sur mon site, et j'ai demandé à Google de re-indexer mon site.
On verra d'ici quelques jours si c'est pris en compte pour mon site ou pas.