Vous utilisez le javascript afin d’améliorer l’expérience utilisateur sur votre site internet et vous vous demandez quel est l’impact sur votre référencement naturel ? Dans cet article, nous allons voir plus en détail l’impact du javascript sur l’indexation de votre site dans Google.

Google comprend-t-il le javascript ?

Dans un premier temps, il nous faut savoir si Google est en mesure d’analyser le javascript sur votre page. Si vous déjà effectué des recherches sur le sujet, vous êtes surement tombé sur cette image.

Compatibilité SEO et javascript

En se fiant à cette image, on voit que Google comprend plutôt bien les différents frameworks javascript, à l’exception d’Angular 2+.

Pour les besoins du test, nous allons donc nous concentrer sur ce Framework. A priori, Google n’est pas en mesure d’indexer le contenu issu des application Angular 2+.

Nous allons donc commencer par un test simple et lancer la recherche « site : angular.io », il s’agit du site officiel du Framework. Première chose que nous observons : il y a bien des résultats et Google est tout à fait en mesure d’indexé le contenu.

SEO et javascript, les éléments à prendre en compte.

Maintenant que nous savons que Google est en mesure de crawler et d’indexe le contenu javascript, pourquoi tant de sites rencontrent des soucis lors de leur indexation, c’est ce que nous allons voir maintenant.

Le javascript est sensible aux erreurs

La première chose à noter est que le javascript est un langage de programmation qui est très sensible aux erreurs. Contrairement aux pages simples en HTML, la moindre erreur dans le code source peut empêcher la navigation. Alors que Google est capable de corriger les pages en HTML afin d’en récupérer le contenu (même si la page n’est pas strictement valide), il n’est pas en mesure de le faire pour le javascript. Il est donc important de vérifier dans la console que le site ne génère aucune erreur.

Le crawler javascript de Google utilise Chrome 41.

Bon, c’est là que ça se complique. Le javascript est un langage de programmation qui évolue très vite et de nouvelles fonctionnalités sont ajoutés régulièrement. Je ne rentrerai pas dans les détails techniques, mais chaque mise à jour des navigateurs apporte leurs lots d’amélioration au langage, ainsi le fait que votre site internet soit compatible avec la dernière version de chrome ne signifie pas que votre site soit compatible avec la version de l’année dernière.

J’ai voulu savoir quel navigateur utilisait Google pour crawler le web, j’ai donc lancer un test. J’ai créé une page simple affichant uniquement le navigateur utilisé pour accéder à la page et j’ai utilisé l’outil Page Speed Insight afin de savoir quel est le navigateur utilisé par Google.

Test version chrome, crawl Google

Le résultat : Google utilise la version 41 de Chrome afin d’analyser les pages web. Le point remarquable est que ce navigateur date de mars 2015. Les dernières évolutions de javascript ne sont donc pas implémentées dans le navigateur.

Ainsi, vous ne devez pas seulement tester votre site sur les dernières versions des navigateurs, vous devez vous assurer que votre site est compatible avec la version 41 de Chrome.

Google ne clic pas

Une autre chose à prendre en compte lors du développement de vos applications javascript : Google ne clic pas. Ainsi, l’ensemble de vos liens doivent donc être intégrés dans des balises avec un attribut href. Si vous souhaitez que Google accède à vos pages, n’utilisez pas les évènements onclick liés à une fonction javascript. A moins, bien entendu, que vous souhaitiez cacher certains liens à Google.

Crawl Budget et javascript

Un dernier point, même si votre site est crawlable et indexable par Google, le crawl budget nécessaire pour parcourir un site en javascript est bien plus important que pour crawler de simples pages HTML. La mise en place d’une arborescence performante est donc très importante pour se référencer correctement avec un site en javascript.

Dans tous les cas, il est beaucoup plus compliqué de référencer un site en javascript qu’un site en HTML. Une solution envisageable est la mise en place d’un système de cloaking. C’est-à-dire que vous présenterez une version HTML de votre site aux robots de Google et une version différente aux internautes. Vous pouvez aussi envisager la mise en place de services de server-side rendering, mais cela fera l’objet d’un article séparé.

Si vous souhaitez de plus amples informations sur le sujet, je vous propose de consulter l’article d’elephate (en anglais), qui pousse l’analyse encore plus loin : https://www.elephate.com/blog/ultimate-guide-javascript-seo/