Peut-on indexer et référencer des sites en JavaScript ?

Le JavaScript est de plus en plus utilisé, soit pour dynamiser les sites, soit pour améliorer la vitesse d’affichage ou pour suivre une mode… Pour l’utilisateur, et pour les développeurs, le JavaScript est une solution attrayante mais pour les référenceurs, c’est une grande source de problèmes.

Avant, pour savoir ce que Googlebot voyait, il fallait désactiver le JavaScript... mais ça, c'était avant. 

Depuis plusieurs années, et les choses ne vont qu'en s'accélérant, la communication de Google évolue. Google annonce régulièrement des changements et fournit des outils pour réaliser des tests sur le JavaScript.

Selon Google, leur robot est globalement capable d'interpréter le JavaScript, laissez-le crawler vos CSS et vos JS, plus besoin d'escaped fragment pour indexer l'Ajax, etc.

Mais qu'en est-il exactement ? Le JavaScript n'aurait plus de secret pour Google ?

Nous allons voir ce que Google dit, ce que Google fait, et les outils nécessaires pour affronter ces nouveaux challenges.

Mobile Friendly, ou la nécessité de comprendre le CSS et le JS

L’accélération de Google concernant l’indexation du JavaScript va de pair avec la prise en compte des sites mobiles.
Depuis 2014, Google insiste lourdement sur le fait d’avoir un site mobile-friendly. Or pour savoir si un site est compatible sur mobile, Google doit pouvoir comprendre le CSS.

En 2014, Google annonce donc qu’il doit pouvoir crawler les fichiers JavaScript et CSS pour mieux comprendre les pages, il recommande de ne pas bloquer l’accès des fichiers JavaScript et CSS.

Un peu plus tard, dans son outil Google Search Console, Google met enfin un outil qui indique quels sont les fichiers auxquels il ne peut pas accéder, qui empêchent un affichage correct de la page.

Le JSON-LD, un format qui permet d’enrichir les résultats de recherche

Le JSON-LD (JavaScript Object Notation for Linked Data) est un format reconnu pour afficher des extraits enrichis. Dès 2014, Google annonce que le Json-LD peut alimenter le Knowledge Graph qui est le box d’information affiché à droite des résultats de recherche. Cependant, nous n’avions aucun outil pour vérifier si l’implémentation était correcte.

En janvier 2015, l’outil de test des Rich Snippets prend enfin en compte le JSON-LD : après la communication, Google nous fournit également la documentation permettant d’intégrer les différents formats dont le JSON-LD.

En 2016, il encourage le format AMP qui fait la part belle au JSON-LD. Encore une fois, le mobile est impliqué.

Pour tout ce qui est installation des données structurées, le Json-LD est maintenant le format recommandé.

iframe, scripts, Google Tag Manager, Angular JS…

En 2013, Matt Cutts annonce que Google comprend plutôt bien tout ce qui est chargé en JavaScript, sauf pour les iframe.

En même temps, Google travaille également sur Google Tag Manager, un gestionnaire de balise…où une iframe permet de gérer différents scripts.

Google a donc progressé.

Enfin, le moteur de recherche travaille aussi sur AngularJS, un framework Javascript…souvent synonyme de cauchemar pour le SEO.

En octobre 2015, il lance aussi AngularJS 2, qui est un peu plus souple pour le référencement.

Dans ses résultats de recherche, on commence à voir des sites qui ont un code source très pauvre : quasiment aucun élément n’est statique, il faut du JavaScript pour comprendre le site. Cela montre que Googlebot est en mesure de comprendre ce langage, mais va-t-il se donner la peine de le faire pour tous les sites ? L’énergie qu’il consacre pour comprendre ces sites lui permet-il d’améliorer la qualité de ses résultats de recherche ?

Contrairement aux précédentes fois, Google fournit un outil en avance. GoogleBot n’est pas encore capable de tout ingérer, cela n’est pas rentable pour lui.

Indexer du JavaScript ?

Google a plusieurs outils à sa disposition. Tous ne concernent pas directement le SEO mais lorsqu’on regarde de plus près, il semble que Googlebot assemble les différentes briques pour progresser dans l’interprétation du JavaScript.

Il reste encore assez limité car crawler du JavaScript lui demande beaucoup de ressources. Google peut vite abandonner le crawl d’un site lorsqu’il a trop d’éléments à charger.

Pour les webmasters, le travail reste compliqué. Actuellement, il n’existe pas encore d’outil sur le marché qui permet de simuler ce que voit GoogleBot. La plupart des outils ignorent totalement le JavaScript. Avec la Search Console, on peut avoir un aperçu mais seulement en une image.

Google interprète mieux le JavaScript mais quel poids donne-t-il aux contenus et aux liens chargés en JS ? Il reste encore beaucoup de questions en suspens.

Dans tous les cas, malgré les progrès, Google conseille toujours d’avoir un site accessible sans JavaScript.

En conclusion, le JavaScript n’est plus bloquant mais reste encore très problématique.

Retrouvez également dans ma présentation au SEO Campus Paris, un résumé des différents tests sur les capacités de Google à crawler et indexer du JavaScript.