Portrait Olivier Duffez

Olivier Duffez

Créateur de WebRankInfo,
consultant en référencement

Google indexe mieux le Javascript (+AJAX) et les formulaires en POST

Si vous pensiez être tranquille avec vos pages en AJAX et vos formulaires de type POST (au lieu de GET), sachez que c'est fini ! Googlebot, le robot de Google, sait désormais bien interpréter le Javascript (ainsi qu'AJAX) et les pages résultant d'un envoi de données via la méthode POST d'un formulaire. Pour ceux qui avaient développé un site tout en Javascript ou AJAX, ça peut par contre être une bonne nouvelle. Explications...

Cet article fait partie des archives de WebRankInfo : certes, il est ancien, mais complet et détaillé pour son époque. Si vous cherchez d'autres informations, faites une recherche sur le site ou participez au forum. Contactez-moi si besoin.

Crawl et indexation Google du Javascript
Google sait crawler et indexer du Javascript et des contenus issus de formulaires postés avec la méthode POST

Indexation du Javascript (et d'AJAX)

Il y a maintenant plusieurs années, c'était correct de dire que Google ignorait tout du code Javascript. Mais petit à petit, Googlebot s'est amélioré, commençant à exécuter des codes Javascript tant qu'ils restaient simples (liens Javascript pris en compte par Google depuis 2009). On peut citer l'exemple des redirections Javascript, utilisées jadis à l'époque des fameuses pages satellites.

Aujourd'hui, surtout depuis l'annonce officielle de Pawel Aleksander Fedorynski (ingénieur Google de l'équipe Indexation) et Maile Ohye, on ne peut plus dire que Google n'interprète pas JavaScript. Même des cas relativement complexes comme les technologies AJAX sont prises en charge par Google. D'ailleurs, cette annonce sonne comme une confirmation d'une autre actualité de la semaine : l'indexation par Google des commentaires Facebook générés pourtant en Javascript.

A l'inverse, je pronostique même que dans de nombreux cas, des développeurs de site se demanderont comment interdire à Google de parcourir telle ou telle partie de leur site. Comme je le conseille à mes clients ou en formation SEO, la méthode la plus simple pour empêcher Google d'exécuter du code Javascript est de stocker la fonction dans un fichier .js interdit de crawl par le fichier robots.txt (c'est d'ailleurs la méthode officiellement recommandée par Google).

Indexation des formulaires en POST

On apprend également que Google peut décider dans certains cas de crawler le résultat d'une validation d'un formulaire en POST. Ce qui ne me semble pas encore clair, c'est avec quelle URL le contenu qui en résulte va être indexé chez Google. En effet, au contraire de la méthode GET qui transmets les variables et leurs valeurs dans l'URL, la méthode POST ne modifie pas l'URL. Imaginons que les mots A B C apparaissent sur la page de résultat du formulaire en POST (et qu'ils ne soient pas présents dans la page sans la validation du formulaire). Peut-être que la page peut sortir dans les résultats Google pour la requête A B C avec la même URL ? N'hésitez pas à me donner votre avis.

Egalement, on peut se demander quelles valeurs Googlebot va attribuer aux différents champs du formulaire au moment de crawler la page de résultats de soumission du formulaire. Google fait ça depuis déjà 3 ans donc ça sera sans doute dans la même lignée (pour plus d'infos lisez mon dossier de 2008 sur l'indexation Google des formulaires). Dites-moi si j'interprète mal les annonces de Google…

Cet article vous a-t-il plu ?

Cliquez pour voter !

Laisser un commentaire

Remarques :

  • Si vous souhaitez poser une question ou détailler un problème technique, il ne faut pas utiliser le formulaire ci-dessous qui est réservé aux avis. Posez votre question directement dans le forum Gmail de WebRankInfo. L'inscription est gratuite et immédiate.

  • En postant un avis, vous acceptez les CGU du site WebRankInfo. Si votre avis ne respecte pas ces règles, il pourra être refusé. Si vous indiquez votre adresse email, vous serez informé dès que votre avis aura été validé (ou refusé...) ; votre adresse ne sera pas utilisée pour vous envoyer des mailings et ne sera pas revendue ou cédée à des tiers.

11 commentaires

andras

Il est maintenant courant que des pages web fassent des post automatiques (sans clic de la part du visiteur) vers d'autres URL pour récupérer des données et les inserer dans la page de départ. C'est par exemple le cas pour remplir un tableau jqgrid (un des widgets en Jquery). Je pense que ce sont ces liens que Google peut desormais suivre pour indexer les données retournées par ces URL. Il n'est donc pas besoin de montrer dans les SERP autre chose que l'URL initiale.

Répondre
Den

Je ne sais pas d'où vient l'image montrant un bout de code jQuery utilisée en illustration de l'article, mais elle montre clairement dans quels cas les formulaires automatiques sont utilisés, sans modifier l'url, et où un captcha n'est pas souhaité par le créateur de la page.

La page affiche par défaut un contenu A (destiné aux spiders/crawlers) automatiquement remplacé dès le chargement de la page par un contenu B (destiné au visiteur) récupéré par une requête post en ajax.

Alors ça va peut-être aider les créateurs de sites en ajax "honnêtes", mais ça va certainement mettre des bâtons dans les trous des autres.

Répondre
buzut

@Olivier
"je vois assez mal google effectuer des 10 aines de requêtes sur chaque formulaire en le remplissant avec des données jugées pertinentes. Peut-être le fera-t-il, mais ça me semble être très souvent inutile et même peu souhaitable (tenter de remplir ds formulaires de contact,...)."

Je vois aussi assez mal google tenter ce genre de truc. Surtout lorsqu'on constate une volonté d'optimiser aux mieux sa bande passante et se ressources CAD ne pas crawler pour rien, en l'occurrence, ça parait un peu inutile. En plus, quel intérêt pour la pertinance d'indexer des pages de destination de formulaires ?

Répondre
mgrenson

Olivier,

je n'ai pas non + de réponse à la question des formulaires (il faudrait regarder l'évolution des requêtes ds des access logs pr cela), mais je vois assez mal google effectuer des 10 aines de requêtes sur chaque formulaire en le remplissant avec des données jugées pertinentes. Peut-être le fera-t-il, mais ça me semble être très souvent inutile et même peu souhaitable (tenter de remplir ds formulaires de contact,...).

Par contre, ce qui serait pertinent, c'est qu'ils détectent juste les choix proposés sous forme de liste (liste déroulante, radio,..) et poster avec ces choix.
Ca permettrait d'éviter de poster des demandes de contact (car il y aura tjs bien une contrainte de champ obligatoire qui traîne).
Et ça permettra de pouvoir indexer le contenu de sites web qui n'affichent certaines données qu'après un choix (une thématique,...), sans penser spécialement que de ce fait les données ne seront pas indexées.
Dans ce sens et sans aller bcp + loin ds la démarche, ça me semble intéressant.

J'en profite pour te remercier de la qualité de tes articles.

Répondre
Olivier Duffez

Comme je l'ai indiqué, ça fait longtemps que Google sait indexer les formulaires mais jusqu'à présent c'était uniquement pour les formulaires GET. Notamment, ça peut arriver que Google indexe des formulaires contenant des balises select (liste déroulante).

Répondre
christophe

mettre un captcha pour le formulaire c'est une idée mais par contre pas terrible pour l'utilisateur qui doit être la priorité.

Répondre
fredo

" Our POSTs are primarily for crawling resources that a page requests automaticall ".

est-ce quelqu'un pourrait me donner un exemple de cas où une page déclenche automatiquement l'envoi d'un formulaire ? je ne vois pas ?

google donne aussi l'exemple :

Répondre
Meuhsli

Je ne suis pas vraiment d'accord avec "la méthode POST ne modifie pas l'URL.", on peut en effet très bien envoyer le formulaire sur une autre url en exploitant l'attribut ACTION de la balise FORM. Et c'est cette url qui pourrait ouvrir la voie à Google sur une partie "cachée" du site.

Répondre
Olivier Duffez

Ca ne change pas grand chose au problème, car l'URL de l'action ne suffit pas à récupérer tout le contenu, il manque les données du formulaire...

Répondre
Yoann

Pour empêcher la validation des formulaires par le GoogleBot, on peut simplement afficher un code de vérification à saisir.
M'enfin, peut-être qu'un jour googlebot sera capable de reconnaitre les captchas...

Répondre
Olivier Duffez

Oui c'est vrai, mais pour ma part je déteste les captchas

Répondre