← Toutes les vérifications
AEOSévérité typique: Moyen

Contenu accessible sans JavaScript

Détecte si ton site est une SPA presque vide sans JS, que les crawlers IA ne peuvent ni indexer ni citer.

Ce qu'elle vérifie

Ce scanner détecte si ton site est une application monopage (SPA) qui arrive presque vide quand elle est chargée sans exécuter de JavaScript. Il vérifie combien de contenu réel est disponible avant que le navigateur ne traite le code.

Pourquoi ça compte

Beaucoup de crawlers IA et de moteurs de recherche n'exécutent pas le JavaScript, donc si ton contenu n'apparaît qu'après l'avoir chargé avec du JS, pour eux ta page est vide et ils ne peuvent ni l'indexer ni la citer. C'est très fréquent sur les sites construits avec des frameworks modernes par des vibe coders sans qu'ils s'en rendent compte.

Comment la corriger

Utilise le rendu côté serveur (SSR) ou la génération statique (SSG) pour que le HTML arrive avec le texte et les liens principaux déjà en place. La plupart des frameworks modernes proposent cette option ; l'activer garantit que Google comme l'IA voient ton vrai contenu.

Comment fonctionne cette vérification

Scanaris télécharge le HTML de ta page tel que le serveur le sert, sans exécuter de JavaScript, en retire les scripts, les styles, les balises noscript, les templates et les SVG, et mesure combien de texte visible reste dans le body. Il n'ouvre un constat, de sévérité moyenne, que si deux conditions sont réunies : ce texte fait moins de 250 caractères, et le HTML contient un conteneur vide d'application monopage, c'est-à-dire un <div> avec un id root, app, __next, __nuxt ou q-app sans rien dedans. Un site avec rendu côté serveur ou génération statique a du texte dans le HTML initial et n'est jamais signalé ; un site avec peu de contenu mais sans conteneur de SPA non plus. Le seuil est volontairement bas pour éviter les faux positifs.

Pourquoi c'est important

Googlebot exécute le JavaScript, mais lors d'une seconde passe qui peut prendre des jours et avec un budget limité. Les robots des assistants IA (GPTBot, ClaudeBot, PerplexityBot) ne l'exécutent généralement pas du tout : ils lisent le HTML qu'ils reçoivent, point. Si ton HTML est un <div id="root"></div> et un script, pour eux ton site est vide. Ils ne peuvent pas indexer ce qu'ils ne voient pas ni citer ce qu'ils ne lisent pas, donc quand quelqu'un demande à ChatGPT ta catégorie de produit, tu n'existes pas. C'est le problème le plus courant des sites construits avec des outils d'IA qui génèrent une application React ou Vue purement côté client, et le plus invisible, parce que dans le navigateur tout paraît parfait.

Comment corriger

  • Active le rendu côté serveur. Sous Nuxt, il est activé par défaut (ssr: true) ; si tu l'as désactivé, réactive-le. Sous Next.js, l'App Router rend côté serveur sauf si tu marques le composant 'use client' tout en haut. Sous Vite avec React ou Vue seuls, il n'y a pas de SSR : passe à Next.js, Remix, Nuxt ou Astro, ou génère les pages publiques en HTML statique.
  • Si migrer n'est pas une option, prérends : génère le HTML des routes publiques au moment du build (Nuxt nitro.prerender, export statique de Next.js, Astro par défaut) ou utilise un service de prérendu qui sert du HTML rendu aux robots.
  • Au minimum, mets le contenu essentiel dans le HTML : le titre, la description de ce que tu fais et les liens principaux, même si l'application les remplace au chargement. C'est ce que les robots verront.
  • Vérifie les pages qui comptent, pas seulement l'accueil : le blog et les pages produit sont celles que les assistants citent.

Vérifie que c'est corrigé

curl -s https://tondomaine.com | sed -e 's/<script[^>]*>.*<\/script>//g' -e 's/<[^>]*>/ /g' | tr -s ' \n' ' ' | wc -c

Si le résultat se limite à quelques dizaines de caractères, c'est JavaScript qui rend le contenu. Il devrait en compter des milliers. Autre méthode : dans le navigateur, désactive JavaScript dans les outils de développement et recharge ; ce que tu vois est ce que voient les robots.

Questions fréquentes

Google m'indexe bien. Pourquoi m'en soucier ?

Parce que de plus en plus de gens demandent à un assistant au lieu de chercher, et ces assistants n'exécutent pas ton JavaScript. Et parce que même chez Google, le rendu différé retarde l'indexation de tes changements de plusieurs jours. Les chiffres et les raisons sont dans pourquoi les applis faites avec l'IA sont invisibles pour l'IA.

Mon appli est un tableau de bord privé derrière une connexion. Suis-je concerné ?

Non : ce qui est derrière une authentification ne doit pas être indexé. Cette vérification compte pour les pages publiques, celles que tu veux voir apparaître. Si ton site n'est que le tableau de bord plus une page d'accueil, fais de la page d'accueil du HTML.

J'ai le SSR et il sort quand même peu de texte.

Alors le HTML apporte la structure mais peu de contenu réel, et il vaut la peine de vérifier que la page d'accueil raconte quelque chose. Les titres qui organisent ce contenu sont examinés par titres.

Vérifie-le sur ton site

Analyse ton site gratuitement et vois si celle-ci et 44 autres vérifications passent, avec un fix prompt pour chaque problème.

Analyser mon site gratuitement

Sur le blog

Vérifications liées