Dans les premiers jours d’Internet, les pages web étaient construites avec HTML. Lorsque CSS est apparu, le contenu des pages web a pu prendre un certain style. Lorsque le langage de programmation JavaScript est entré en scène, les sites web pouvaient non seulement avoir une structure et un style, mais aussi être dynamiques.
JavaScript a ouvert de nombreuses opportunités pour la création de pages web non statiques. Lorsque quelqu’un essaie d’accéder à une page améliorée avec ce langage de programmation, le navigateur de cet utilisateur exécute le JavaScript par rapport au HTML statique renvoyé par le serveur, ce qui donne une page web qui prend vie avec une certaine interactivité.
Vous avez certainement vu JavaScript en action – vous ne le saviez peut-être pas ! C’est parce que JavaScript peut faire presque n’importe quoi sur une page. Par exemple, il peut créer une pop-up ou demander des ressources tierces comme des publicités à afficher sur votre page.
Rendu côté client versus rendu côté serveur
Cependant, JavaScript peut poser certains problèmes pour le référencement naturel, car les moteurs de recherche ne voient pas JavaScript de la même manière que les visiteurs humains. Cela est dû au rendu côté client par rapport au rendu côté serveur. La plupart du temps, JavaScript est exécuté dans le navigateur d’un client. Avec le rendu côté serveur, en revanche, les fichiers sont exécutés sur le serveur et le serveur les envoie au navigateur dans leur état totalement rendu.
Les éléments critiques pour le référencement naturel tels que le texte, les liens et les balises chargés du côté client avec JavaScript, plutôt que représentés dans votre HTML, sont invisibles dans le code de votre page jusqu’à ce qu’ils soient rendus. Cela signifie que les robots d’exploration des moteurs de recherche ne verront pas ce qui se trouve dans votre JavaScript – du moins pas initialement.
Google affirme que tant que vous n’empêchez pas Googlebot de parcourir vos fichiers JavaScript, il est généralement capable de rendre et de comprendre vos pages web comme le ferait un navigateur, ce qui signifie que Googlebot devrait voir les mêmes choses qu’un utilisateur visualisant un site dans leur navigateur. Cependant, en raison de cette “deuxième vague d’indexation” pour le JavaScript côté client, Google peut manquer certains éléments qui ne sont disponibles qu’une fois que JavaScript est exécuté.
Il existe également d’autres problèmes susceptibles de survenir pendant le processus de rendu des pages web par Googlebot, ce qui peut empêcher Google de comprendre ce qui est contenu dans votre JavaScript :
- Vous avez bloqué Googlebot pour les ressources JavaScript (par exemple, avec robots.txt, comme nous l’avons appris au chapitre 2)
- Votre serveur ne peut pas gérer toutes les demandes d’exploration de votre contenu
- Le JavaScript est trop complexe ou obsolète pour que Googlebot le comprenne
- Le JavaScript ne charge pas le contenu de manière différée dans la page tant que le crawler n’a pas terminé avec la page et passe à autre chose.
Il va sans dire que JavaScript ouvre de nombreuses possibilités de création de pages web, mais il peut également avoir des conséquences sérieuses sur votre référencement naturel si vous n’êtes pas prudent.
Heureusement, il existe un moyen de vérifier si Google voit la même chose que vos visiteurs. Pour voir une page telle que Googlebot la voit, utilisez l’outil “Inspection d’URL” de Google Search Console. Il suffit de coller l’URL de votre page dans la barre de recherche de la GSC.