Dans le cadre du dernier épisode du podcast Search Off the Record, Google a révélé l’existence d’une technique utilisée par son robot d'exploration dans le but d’améliorer le rendering des sites qui utilisent beaucoup de JavaScript. En simulant des périodes d’inactivité, Googlebot facilite le chargement du contenu différé.

Ce qu'il faut retenir :

  • Googlebot feint des périodes de repos pour déclencher des événements JavaScript.
  • Cette technique permet de charger correctement le contenu différé.
  • Les développeurs doivent soigner leur code JavaScript, et notamment la gestion des erreurs, pour adapter les sites à cette fonctionnalité.

Googlebot simule des périodes de repos pour mieux rendre les sites JavaScript

Google a récemment dévoilé une astuce sophistiquée utilisée par son robot d'exploration, Googlebot, dans le but d’améliorer le rendering des sites Web utilisant JavaScript de façon intensive. Lors d'un épisode du podcast « Search Off The Record », que nous avons déjà évoqué précédemment, Zoe Clifford de la team rendering a expliqué que Googlebot simule des états « idle » ou d’inactivité pour déclencher certains événements JavaScript, comme requestIdelCallback.

Le mode « idle » permet aux développeurs de différer le chargement du contenu le moins important jusqu'à ce que le navigateur soit libre de toute autre tâche. Cependant, la rapidité du processus de rendering de Google empêchait souvent ces moments d’inactivité de se produire, compromettant au passage le chargement complet du contenu de certaines pages. Pour répondre au problème, Google a fait le choix d’intégrer une fonctionnalité qui donne la possibilité au navigateur de faire semblant d'être inactif périodiquement, même s’il est occupé à afficher des pages, garantissant ainsi que les callbacks idle soient correctement déclenchés.

Qu’est-ce que cela implique pour les développeurs ?

Pour les développeurs, cette mise à jour signifie qu'il est plus important que jamais d'implémenter des techniques de gestion des erreurs dans le code JavaScript. Des erreurs non gérées peuvent en effet entraîner des pages blanches, des redirections ou des contenus manquants, ce qui peut affecter négativement l'indexation par Google. Zoe Clifford insiste également sur l'importance de gérer ces erreurs de manière élégante (« graceful error handling ») pour assurer un chargement correct des pages.

Afin de s'adapter à cette fonctionnalité, Google recommande :

  • L’implémentation d’une gestion d'erreurs robuste : assurez-vous que votre code JavaScript est capable de gérer les erreurs sans interrompre le chargement de la page.
  • L’utilisation mesurée des callbacks idle : utilisez les callbacks idle avec précaution et assurez-vous qu'ils ne sont pas indispensables pour le chargement des contenus critiques.
  • Des tests réguliers : testez fréquemment votre site pour identifier et corriger les problèmes de rendering qui pourraient affecter la visibilité dans les résultats de recherche.

Évidemment, les professionnels du SEO doivent également garder un œil sur les sites dont ils ont la charge. Il s'agit notamment d'identifier tout problème de rendering qui pourrait nuire à l'indexation et de veiller à ce que les développeurs soient au courant des techniques à privilégier pour répondre à la fois aux exigences techniques de Google et aux attentes des internautes.