JavaScript et SEO : un cocktail à risque

Ecrit par

Jadis cantonné à des usages purement interactifs sur les sites web, le JavaScript opère depuis ces dernières années un spectaculaire retour en force au point de devenir un langage de conception incontournable, notamment incarné par la popularisation du « PWA » (Progressive Web App), dernier cri des standards de navigation web conçu pour délivrer une expérience fluide quel que soit l’appareil ou le type de réseau utilisé.

Un engouement toutefois bien moins marqué au sein de la communauté SEO, qui pointe les nombreuses complexités techniques et limites de compatibilité avec les moteurs de recherche.

Au cœur du problème : le rendu des pages

A l’inverse des rendus traditionnels dits SSR (Server Side Rendering) où une page est intégralement regénérée à chaque clic de l’utilisateur, les rendus générés en JavaScript, appelés CSR (Client Side Rendering), permettent un chargement allégé des pages et par la même une amélioration notable du temps de chargement.

Une évolution quasi transparente pour l’internaute mais pas pour les moteurs de recherche, obligés de modifier en profondeur leurs crawleurs pour indexer les contenus des pages et les classer correctement dans leurs résultats naturels.

Des complexités à tous les niveaux

Côté moteur, le principal obstacle réside donc dans l’élaboration de nouveaux dispositifs d’indexation capables d’exécuter et d’interpréter les frameworks JavaScript embarqués sur les sites web, un processus à la fois complexe et coûteux.

Concrètement, l’exploration d’une page web ne nécessite non plus une mais deux étapes :

  1. La récupération du code HTML de la page par le crawleur traditionnel
  2. L’exécution et l’interprétation du code JavaScript via l’extension WRS (Web Rendering Service)

Toutefois, malgré les avancées les plus récentes, ces sites requièrent aujourd’hui encore un effort d’optimisation technique important de la part des webmasters afin que les deux étapes puissent se faire sans intermittence.

Côté référenceurs, on imagine aisément les sueurs froides survenant à l’annonce d’un projet de refonte CSR…

Une prise en charge inégale par les moteurs

Sans réelle surprise au vu de son poids et de ses ressources, Google est à date le moteur de recherche gérant le mieux les principaux frameworks JavaScript du marché tels qu’Angular, React ou Vue.js.

Son concurrent direct, Bing semble également avoir pris cette orientation stratégique, mais avec globalement moins d’efficacité.

Dans le reste du monde, Yandex, Baidu et Naver continuent de ne pas supporter les sites CSR.

Solutions alternatives

Du fait de l’absence de prise en charge simple et globale, le passage à une architecture CSR reste aujourd’hui encore une contre-indication dans bien des cas. Heureusement des solutions alternatives existent :

CSR with Pre-rendering (ou Dynamic Rendering)

Solution consistant à servir au moteur une version statique de la page (incluant le contenu) générée par le framework JavaScript ; Les utilisateurs continuant eux de charger la version CSR.

Bien que techniquement apparentée à du cloaking et dépréciée par Google, cette méthode

fonctionne relativement bien notamment dans le cadre d’une stratégie SEO internationale. Seul bémol, la nécessité de créer et maintenir fonctionnel le site web et sa « doublure » afin d’éviter une perte d’indexation suivi d’un déclassement en pages de moteur.

Static SSR

Solution consistant à utiliser le framework JavaScript (Angular, React ou Vue.js) pour générer des pages statiques servies à la fois aux moteurs et aux internautes (comme du PHP ou de l’ASP.net sur les sites traditionnels).

Une technique compatible sur tous les moteurs mais nécessitant une optimisation des codes JavaScript afin de garantir un temps de chargement optimal des pages.

SSR with Hydration

Solution sensiblement identique au Static SSR mais permettant de rafraîchir le contenu côté utilisateur via l’appel du framework JavaScript sur la page statique.

Également compatible avec l’ensemble des moteurs, cette méthode alourdit néanmoins le code de la page du fait de la présence du code JavaScript et peut potentiellement générer des incohérences dans l’indexation de la page par les moteurs.

Malgré les nombreux progrès réalisés du côté des moteurs et des communautés de développeurs ces derniers mois, les sites CSR restent à l’heure actuelle un sujet ultra-sensible dès que le SEO rentre en ligne de compte.

D’ici une prise en charge totale, les plus téméraires tenteront quand même leur chance, les plus sages piocheront eux dans l’éventail de solutions apparues avec les dernières évolutions des frameworks JavaScript.

Ecrit par
Sylvain Sipp
Consultant SEO Senior
Consulter d'autres articles