← Retour au blog
AEOScanaris Team · 6 min de lecture · October 04, 2026

Pourquoi les applis créées avec l'IA sont invisibles pour l'IA (et comment y remédier)

De plus en plus de gens demandent à ChatGPT, Claude ou Perplexity « quel est le meilleur outil pour X ? » au lieu de chercher sur Google. Si ton produit n'apparaît pas dans ces réponses, tu n'existes pas pour ce public. On appelle ça l'AEO (Answer Engine Optimization), et les applis construites avec l'IA partent avec un handicap : à cause de la façon dont les outils les génèrent, la plupart montrent aux bots d'IA une page blanche. Ce guide explique pourquoi ça arrive justement à ces applis, comment le vérifier en deux minutes et quoi corriger selon l'outil avec lequel tu as construit.

Pourquoi ça arrive justement aux applis construites avec l'IA

Lovable, Bolt, v0 et la plupart des templates qu'utilise Cursor génèrent par défaut une SPA : une application monopage avec Vite et React où le HTML qui arrive au navigateur est presque vide et où JavaScript dessine tout ensuite. C'est la bonne architecture pour un tableau de bord derrière un login, mais ces outils l'utilisent aussi pour la landing, la page de tarifs et le blog. Trois conséquences :

  • Le contenu n'est pas dans le HTML. Le serveur envoie un <div id="root"></div> et pas grand-chose d'autre. Ce que tu vois est construit par le navigateur.
  • Les métadonnées non plus. Le titre, la description et les balises de partage sont posés depuis JavaScript, donc un bot qui ne l'exécute pas voit le titre générique du template.
  • Un seul domaine pour tout. La partie publique et la partie privée partagent le code, et personne ne s'arrête pour réfléchir à ce qui devrait être lisible de l'extérieur.

Le piège, c'est que beaucoup de crawlers d'IA n'exécutent pas JavaScript, ou le font avec des limites. Googlebot rend bien la page, mais en retard et avec un budget limité ; les bots d'OpenAI, d'Anthropic ou de Perplexity lisent surtout le HTML tel qu'il arrive. Pour eux, ton appli est une feuille blanche : ils ne peuvent ni comprendre ce que tu fais ni te citer.

Ce qu'un bot voit de ton site

Voici, presque littéralement, ce que reçoit un crawler d'une appli générée avec l'un de ces outils :

<!doctype html>
<html>
  <head>
    <title>Vite + React</title>
    <script type="module" src="/assets/index-a1b2c3.js"></script>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

Pas une phrase sur ton produit. Si en plus le template embarque un robots.txt qui bloque les crawlers, ou si ton CDN a un mode anti-bots activé, la porte est fermée deux fois.

Comment savoir si tu es concerné (deux minutes)

  • Afficher le code source. Ouvre ton site, clic droit, « Afficher le code source de la page » (pas « Inspecter », qui montre le résultat déjà rendu). Cherche ton titre principal et un paragraphe. S'ils n'y sont pas, les bots ne les voient pas non plus.
  • Sans JavaScript. Désactive-le dans le navigateur et recharge. Ce qui reste, c'est ce qu'un bot basique voit.
  • Comme le bot de ChatGPT. Depuis le terminal, demande la page avec son user agent et compte les mots qui arrivent :
curl -s -A "GPTBot" https://tondomaine.com/ | sed 's/<[^>]*>//g' | wc -w

Quelques dizaines, et le contenu vit dans le JavaScript. Plusieurs centaines, et il arrive dans le HTML. Le détail de quel bot fait quoi est dans comment savoir si ChatGPT peut voir ton site.

Les cinq choses qui règlent le problème

1. Un contenu public qui arrive dans le HTML

Pas besoin de rendre toute l'appli côté serveur ; il suffit des pages que tu veux que l'IA comprenne : accueil, produit, tarifs, blog, FAQ. Trois chemins, du moins au plus de travail :

  • Prérendre au build. Un plugin de prerender pour Vite génère un HTML complet pour chaque route publique au moment de construire. Ça marche bien pour les pages qui ne changent pas à chaque visite.
  • Séparer le site du produit. Landing, tarifs et blog sur un site statique (Astro, Webflow, Framer, même Nuxt ou Next en mode statique) sur tondomaine.com, et l'appli en SPA sur app.tondomaine.com. C'est l'architecture la plus saine et celle qui ressemble le plus à ce que font les produits matures.
  • Migrer la partie publique vers un framework avec SSR (Next.js, Nuxt, SvelteKit). Plus de travail, mais le problème disparaît pour de bon.

2. Les métadonnées dans le HTML, pas dans JavaScript

Titre, description et balises Open Graph doivent être dans le HTML initial. Si tu prérends ou si tu sépares le site, c'est gratuit. Sinon, mets au moins dans index.html un vrai titre et une vraie description à la place de ceux du template.

3. Des données structurées qui disent ce que tu es

Un bloc JSON-LD avec Organization et SoftwareApplication donne au modèle des faits sans ambiguïté : nom, ce que ça fait, prix, où ça se trouve. Si tu as une FAQ, balise-la en FAQPage. Le comment est dans données structurées : pourquoi l'IA cite certains sites et pas d'autres.

4. Un llms.txt

Un fichier texte à la racine du domaine qui résume en une phrase ce que tu es et liste tes pages importantes. Ni obligatoire ni magique, mais c'est un point d'entrée propre et ça t'oblige à écrire la phrase qui définit ton produit. Tu as un générateur gratuit de llms.txt.

5. Ne pas bloquer les bots sans le vouloir

Vérifie robots.txt : un template copié ou un Disallow: / oublié de la phase de tests ferment la porte à GPTBot, ClaudeBot et compagnie. Et vérifie le mode anti-bots de ton CDN. Tu peux voir quels crawlers d'IA tu autorises avec le vérificateur de bots d'IA.

Ce dont tu n'as pas besoin

Tu n'as pas besoin que l'IA voie ton tableau de bord privé : ce qui est derrière un login n'est lu par personne, et c'est très bien ainsi. Tu n'as pas non plus besoin de réécrire l'appli. L'objectif, c'est que les quatre ou cinq pages qui expliquent ce que tu fais soient lisibles sans JavaScript, rien de plus.

Comment le mesurer dans le temps

Deux signaux. Dans les logs de ton serveur ou de ton CDN, filtre par les user agents des bots d'IA et regarde quelles pages ils demandent ; si aucun n'apparaît, vérifie d'abord robots.txt. Et une fois par mois, demande à ChatGPT, Claude et Perplexity ta catégorie et ta marque, et note s'ils te mentionnent et s'ils te décrivent bien. Cette tournée est ta ligne de base ; le reste, ce sont des suppositions.

Scanaris le vérifie en 30 secondes

Le pilier de visibilité IA de Scanaris vérifie si ton contenu est lisible sans JavaScript, si tes métadonnées arrivent dans le HTML, si tu as des données structurées et un llms.txt, et si tu bloques des bots d'IA dans robots.txt. Pour chaque échec, il te donne un fix prompt à coller dans Lovable, Bolt ou Cursor avec la correction exacte. Et le suivi de visibilité surveille chaque jour si tu apparais quand quelqu'un demande une recommandation dans ta catégorie. Pour comprendre le contexte complet, commence par ce qu'est l'AEO.

Questions fréquentes

Google aussi voit mon appli en blanc ?

Google exécute JavaScript, mais dans une deuxième passe qui peut prendre des jours et avec un budget limité par site. Une appli qui arrive vide est indexée moins bien et plus tard. Corriger ça pour l'IA améliore aussi ton SEO.

Lovable, Bolt ou v0 peuvent-ils rendre côté serveur ?

Ils génèrent des SPA par défaut. La solution pratique, c'est de prérendre les pages publiques ou de sortir le site marketing sur un site statique à part et de laisser l'appli sur un sous-domaine.

Suffit-il de publier un llms.txt ?

Non. C'est un complément utile, mais si le HTML arrive vide, le bot ne peut toujours pas lire tes pages. D'abord le contenu dans le HTML, ensuite le reste.

Comment se porte ton site ?

Passe-lui Scanaris et vérifie en 30 secondes, c'est gratuit.

Analyser mon site

Vérifications liées