Votre site web parle-t-il aux IA ?
Kiliogene — Réseau d’experts CRM, augmenté par l’IA
Mars 2026 · 25 min de lecture
Rédigé avec Claude Opus 4
Relu par l’équipe Kiliogene
Nous avons testé 7 approches pour rendre notre site lisible par les agents IA. Voici ce qui a marché — et ce qui n’a servi à rien. Journal d’une enquête : 4 modèles, 700 appels, quelques surprises.
Vous êtes pressé ? Sautez directement à nos conclusions et à la checklist pratique
L'histoire commence par une question simple
Un lundi matin, nous nous sommes posé une question toute bête : quand quelqu’un tape « intégrateur CRM Nantes » dans ChatGPT ou Perplexity, qu’est-ce que l’IA trouve sur nous ?
Nous avons essayé. Et la réponse nous a un peu refroidis.
L’IA a bien trouvé notre site. Elle a récupéré du texte. Mais ce qu’elle a compris de nous ressemblait à un résumé fait par quelqu’un qui aurait lu notre plaquette à l’envers, dans le noir. L’adresse ? Introuvable pour deux modèles sur trois. La différence entre nos offres ? Floue. Notre capacité à accompagner une entreprise qui n’a pas encore de CRM ? Silence radio.
Nous aurions pu en rester là. Au lieu de ça, nous avons décidé de comprendre pourquoi — et surtout, de trouver comment améliorer les choses. Pas en changeant l’IA. En changeant ce que notre site lui envoie.
Ce qui a suivi, c’est trois semaines d’expérimentation, un benchmark de 700 appels, et quelques leçons que nous partageons ici pour que vous n’ayez pas à tout refaire de zéro.
Acte 1 — Ce que voit une IA quand elle visite votre site
Avant de parler de solutions, il faut comprendre un truc fondamental : une IA ne voit pas votre site comme vous.
Quand vous visitez kiliogene.com, votre navigateur affiche un logo, des couleurs, une mise en page, des photos. Quand une IA visite la même URL, elle reçoit du HTML brut qu’elle convertit en texte. Pas d’images. Pas de CSS. Pas de JavaScript exécuté. Juste du texte.
En savoir plus
L'expérience du miroir
Pour comprendre exactement ce que chaque IA reçoit, nous avons créé une page spéciale sur notre site : mirror.php. Cette page joue le rôle d’un miroir — elle renvoie à l’IA exactement ce que le serveur a reçu comme requête : le User-Agent, les headers, le format.
Nous avons demandé à ChatGPT, Claude, Mistral Le Chat et Gemini de visiter cette page. Voici ce que nous avons appris.
Chaque IA s’identifie. ChatGPT envoie ChatGPT-User/1.0, Claude envoie Claude-User/1.0, Mistral envoie MistralAI-User/1.0, Google utilise Google-Extended. Votre serveur web sait qui le visite — et c’est une information qu’on peut exploiter.
Toutes les IA font la même chose avec le HTML : elles le « linéarisent ». Concrètement, elles convertissent le HTML en pseudo-markdown. Les <h1> deviennent des #, les liens deviennent des [texte](url), les listes deviennent des tirets. Tout le reste — scripts, styles, SVG, formulaires, images — disparaît.
Ce qui disparaît
Voici ce qu’une IA ne voit jamais :
- Vos images : photos d’équipe, schémas, infographies — invisibles. Au mieux, l’IA récupère le texte alternatif (
alt). - Votre mise en page : le CSS, les animations, le menu hamburger — rien de tout ça n’existe pour elle.
- Le contenu dynamique : si vos pages se chargent via JavaScript (React, Vue, Angular sans SSR), l’IA ne verra rien.
- Le
<head>entier : et ça, c’est la surprise. Tout ce qui est dans l’en-tête HTML — y compris les données structurées JSON-LD (Schema.org) — est supprimé lors de la linéarisation. Nous y avons pensé, bien sûr. Nous avons même testé l’ajout de JSON-LD Organization et FAQPage. Résultat : aucun impact mesurable. L’information n’arrive jamais jusqu’au modèle de langage.
Ce qui reste
Ce que l’IA reçoit réellement, c’est une version texte appauvrie de votre page. Prenons notre page d’accueil. Un humain voit un site vitrine structuré. L’IA voit quelque chose comme :
# Kiliogene
Kiliogene est un réseau d’intégrateurs CRM spécialisé sur Salesforce.
## Nos prestations
[Découvrir nos offres](/prestations/)
## Ils nous font confiance
Scania, Optimum Automotive, APRIL…
C’est tout. Et c’est à partir de ce texte — souvent incomplet, parfois mal structuré — que l’IA doit répondre aux questions de vos prospects.
Testez vous-même : nous avons mis en annexe un prompt à copier-coller dans votre IA préférée pour voir exactement ce qu’elle reçoit quand elle visite votre site. → Aller à l’annexe
Acte 2 — Nous avons décidé de mesurer
Savoir ce que l’IA voit, c’est une chose. Savoir si on peut améliorer ce qu’elle comprend, c’est une autre question. Alors nous avons construit un benchmark.
En savoir plus
Le principe
Nous donnons à un agent IA un seul outil — fetch_url, qui permet de visiter des pages web — et une question sur notre entreprise. L’agent décide seul quelles pages visiter, dans quel ordre, et quand il a assez d’informations pour répondre. C’est exactement le mécanisme que ChatGPT, Perplexity ou Gemini utilisent quand ils « cherchent sur internet ».
Ensuite, phase après phase, nous améliorons ce que le site propose aux IA. L’agent ne change jamais. Même prompt, même outil, même code. C’est le site qui évolue — pas l’IA.
Les 5 questions
Nous avons choisi cinq questions de difficulté croissante, du factuel pur au scénario métier complexe :
Q°1 — Quelle est l’adresse physique de Kiliogene ?
Q°2 — Résume l’activité de Kiliogene en 3 phrases.
Q°3 — Quelle est la différence entre l’offre Support (RUN) et l’offre Intégration (BUILD) ?
Q°4 — Kiliogene peut-il m’aider si je n’utilise pas encore Salesforce ?
Q°5 — Je suis directeur commercial d’une société de courtage de 200 personnes à Bordeaux. Que peut m’apporter Kiliogene concrètement, et avez-vous des références dans mon secteur ?
Les 4 modèles
Nous avons testé quatre modèles « légers » — ceux que les plateformes utilisent réellement pour les tâches de recherche web :
|
Modèle
|
Éditeur
|
Coût (input / output par million de tokens)
|
|---|---|---|
|
Mistral Small
|
Mistral AI
|
$0,06 / $0,18
|
|
GPT-4o-mini
|
OpenAI
|
$0,15 / $0,60
|
|
Gemini 2.5 Flash
|
Google
|
$0,30 / $2,50
|
|
Claude Haiku 4.5
|
Anthropic
|
$1,00 / $5,00
|
Chaque question est posée 5 fois par modèle, par phase (température 0.1 pour la reproductibilité). Au total : 700 appels agent.
Acte 3 — L'enquête
On les a observées en train de fouiller nos pages comme des détectives maladroits : elles repèrent des indices, mais ratent l’essentiel. Pourtant, une simple astuce : leur parler dans leur langue, ça change tout. La question n’est plus ce qu’elles savent faire, mais comment leur donner les bonnes clés.
En savoir plus
Épisode 1 — Le site nu (Phase 1)
Première étape : nous lançons le benchmark sur notre site WordPress tel quel. Aucune optimisation. Le HTML brut, comme il est.
Les résultats sont instructifs. Sur la question la plus simple — l’adresse physique — seuls Gemini et Claude Haiku la trouvent. GPT-4o-mini et Mistral Small répondent tous les deux que l’adresse n’est pas mentionnée sur le site. Elle y est pourtant, noyée dans le footer HTML au milieu du bruit.
Pour les questions plus complexes, c’est pire. La différence entre nos offres RUN et BUILD ? Les modèles naviguent vers la page prestations, récupèrent un HTML chargé, et en extraient une réponse partielle. Claude Haiku s’en sort honorablement en visitant plusieurs pages. Les autres restent vagues.
La question Q5 — le scénario du directeur commercial à Bordeaux — illustre bien le problème. L’agent doit croiser plusieurs informations (localisation, secteur, offres, références). Il visite 2 à 6 pages selon le modèle, consomme entre 1 000 et 21 000 tokens, et produit des réponses de qualité très variable.
Ce que nous retenons : même sans optimisation, les IA trouvent quelque chose. Mais la qualité dépend énormément du modèle et de la façon dont l’information est enfouie dans le HTML.
|
Modèle
|
Tokens moyens (P1)
|
Latence moyenne
|
Coût moyen/question
|
|---|---|---|---|
|
Mistral Small
|
2 107
|
1 446 ms
|
$0,00015
|
|
GPT-4o-mini
|
3 673
|
5 486 ms
|
$0,00065
|
|
Gemini 2.5 Flash
|
4 800
|
3 077 ms
|
$0,00170
|
|
Claude Haiku 4.5
|
14 108
|
8 550 ms
|
$0,01700
|
Claude Haiku consomme 7× plus de tokens que Mistral pour la même question. Il visite plus de pages, explore plus en profondeur — mais ça se paie.
Épisode 2 — Le fichier llms.txt (Phase 3)
Le fichier llms.txt est une initiative de Jeremy Howard (Answer.AI) apparue en 2024. L’idée : placer un fichier Markdown à la racine du site — comme un robots.txt, mais pour les IA — qui résume l’essentiel de votre activité en quelques centaines de mots.
Nous avons créé le nôtre (~2 000 tokens) et l’avons déposé à kiliogene.com/llms.txt. Résumé de l’entreprise, offres, adresse, contact, tout y est.
Nous avons relancé le benchmark. Et… rien n’a changé.
Les courbes sont restées plates. Tokens, latence, coût — identiques à la Phase 1. La raison est simple et un peu frustrante : l’agent ne sait pas que le fichier existe. Il reçoit l’URL du site, visite la page d’accueil, navigue vers les pages qui lui semblent pertinentes, et s’arrête. Il ne va pas vérifier s’il y a un llms.txt à la racine, de la même manière qu’un humain ne penserait pas à taper /llms.txt dans la barre d’adresse.
Le llms.txt n’est pas inutile pour autant. Certains pipelines IA (Perplexity, notamment) commencent à le chercher activement. C’est un investissement de 30 minutes qui pourrait payer dans les mois à venir. Mais aujourd’hui, un agent générique ne le trouvera pas tout seul.
Épisode 3 — Le markdown et la section visible (Phase 4)
Si l’IA ne va pas au contenu structuré, pourquoi ne pas amener le contenu structuré à l’IA ?
Nous avons fait deux choses. D’abord, nous avons créé des versions Markdown de nos pages clés (accueil, à propos, prestations, contact) et les avons placées dans un dossier /ai/ sur le site. Ensuite — et c’est le point important — nous avons ajouté une section visible dans le footer de chaque page, avec un titre explicite : « Cette section est destinée aux agents IA qui consultent ce site. » Cette section contient un résumé structuré et des liens vers les fichiers Markdown.
L’idée est simple : quand l’IA linéarise le HTML, cette section fait partie du texte qu’elle reçoit. Elle « voit » les liens vers /ai/index.md, /ai/prestations.md, etc.
Les résultats sont mitigés. Certains modèles (Claude Haiku, Gemini) commencent à visiter ces fichiers Markdown quand ils les découvrent dans le texte linéarisé. Les tokens augmentent légèrement (l’agent explore davantage), mais la qualité des réponses progresse pour les questions les plus complexes.
Ce n’est pas la révolution, mais c’est un signal : quand nous parlons dans un format que l’IA comprend, elle nous comprend mieux.
Épisode 4 — Le rêve MCP : l'endpoint ask.php (Phase 5)
C’est la phase la plus ambitieuse de notre expérience. Nous nous sommes posé la question suivante : et si, au lieu de laisser l’IA fouiller notre site page par page, nous lui donnions un interlocuteur ?
L’inspiration vient du MCP (Model Context Protocol), le protocole d’Anthropic qui permet à un agent IA de dialoguer avec des services externes — une base de données, un CRM, un outil métier. Nous voulions reproduire cette logique, mais pour un site web : un endpoint qui accepte une question en paramètre et renvoie une réponse ciblée.
Nous avons construit ask.php, un script hébergé dans /ai/ qui fait ceci :
- Il reçoit une question via
GET /ai/ask?q=votre+question - Il interroge notre base de connaissances Notion (qui contient toute notre documentation interne)
- Il utilise Claude Sonnet pour générer une réponse contextualisée
- Il renvoie la réponse en Markdown
L’idée est séduisante. En pratique, les résultats sont décevants — mais pour des raisons intéressantes.
Le problème n’est pas l’endpoint. Quand nous l’appelons directement avec une question, la réponse est excellente. Le problème, c’est que l’agent ne pense pas à l’utiliser. Il visite la page d’accueil, voit du HTML, suit les liens qu’il juge pertinents, et construit sa réponse à partir de ça. L’existence d’un endpoint /ai/ask n’est pas un réflexe pour lui — même quand nous le mentionnons dans la section footer visible.
Ce que nous n’avons pas testé (et qui mériterait de l’être) :
- Injecter la réponse de l’endpoint directement en haut de chaque page HTML — comme un « résumé IA » pré-calculé que l’agent trouverait immédiatement en linéarisant le HTML.
- Renvoyer la réponse en JSON structuré plutôt qu’en Markdown — certains agents pourraient mieux l’exploiter.
- Exposer un vrai serveur MCP au lieu d’un simple endpoint HTTP — avec les outils
search,get_page,get_servicesdéclarés formellement. Ce serait l’approche la plus propre, mais elle suppose que l’agent sache qu’un MCP existe pour ce site. - Ajouter un header HTTP
X-AI-Endpointdans chaque réponse pour signaler l’existence de l’endpoint aux crawlers.
Le MCP appliqué aux sites web publics est une piste fascinante. Les briques existent — MCP est devenu un standard de facto en 2025, adopté par OpenAI, Google et Microsoft. Son application aux sites web publics pourrait être la prochaine étape. Mais aujourd’hui, aucun agent grand public ne sait exploiter un endpoint conversationnel découvert en naviguant.
Épisode 5 — Le twist : la content negotiation (Phase 7)
Après les demi-succès des phases précédentes, nous avons changé d’approche. Au lieu d’ajouter des ressources que l’IA doit découvrir, nous avons modifié ce que le site renvoie par défaut quand une IA le visite.
Le principe est la content negotiation : quand le serveur détecte un User-Agent de bot IA (GPTBot, ClaudeBot, Google-Extended…), au lieu de renvoyer le HTML classique, il sert une version Markdown structurée de la page.
Concrètement, un plugin WordPress inspecte le User-Agent de chaque requête. Si c’est un humain → HTML classique avec tout le design. Si c’est un bot IA → Markdown propre, structuré, avec toutes les informations utiles et rien d’autre.
L’agent IA ne change pas de comportement. Il visite kiliogene.com exactement comme avant. Mais au lieu de recevoir du HTML bruyant qu’il doit linéariser, il reçoit directement du texte structuré. Moins de bruit, plus de signal.
Les résultats sont spectaculaires.
|
Modèle
|
Tokens P1
|
Tokens P7
|
Réduction
|
Latence P1 → P7
|
|---|---|---|---|---|
|
Claude Haiku 4.5
|
14 108
|
5 031
|
−64%
|
8 550 → 4 426 ms (−48%)
|
|
Gemini 2.5 Flash
|
4 800
|
2 312
|
−52%
|
3 077 → 2 903 ms (−6%)
|
|
GPT-4o-mini
|
3 673
|
2 099
|
−43%
|
5 486 → 3 619 ms (−34%)
|
|
Mistral Small
|
2 107
|
1 686
|
−20%
|
1 446 → 1 313 ms (−9%)
|
La raison est mécanique : moins de tokens en entrée = moins de temps de traitement = moins de coût. Mais l’impact le plus intéressant, c’est sur la qualité des réponses.
Acte 4 — Ce que les IA comprennent vraiment
Ce que les IA comprennent vraiment… et ce qu’elles ne comprendront jamais si vous ne le leur dites pas. La différence entre une réponse approximative et une réponse juste ? Elle tient souvent à un détail.
En savoir plus
L'adresse (Q1) — le test de base
En Phase 1, seuls Gemini et Claude trouvent notre adresse. GPT-4o-mini et Mistral répondent qu’elle n’est pas sur le site. En Phase 7, les quatre modèles la trouvent : 83, route de Saint-Joseph, 44300 Nantes, France. Le markdown a rendu l’information lisible par tous.
"Peut-on m'aider sans Salesforce ?" (Q4) — la question piège
C’est la question la plus intéressante. Notre site parle surtout de Salesforce, mais nous accompagnons aussi des entreprises qui n’ont pas encore de CRM. En Phase 1, la plupart des modèles répondent « non » ou restent vagues. En Phase 7, Claude Haiku répond : « Oui, ils peuvent vous aider même si vous n’utilisez pas encore Salesforce » — parce que le markdown structuré rend cette nuance visible.
Le scénario complexe (Q5) — la vraie épreuve
Le directeur commercial à Bordeaux qui cherche un intégrateur CRM. C’est la question qui demande de croiser localisation (nous avons un bureau à Bordeaux), secteur (courtage ≈ assurance), et offres. En Phase 7, les modèles produisent des réponses sensiblement plus complètes — mais aucun ne peut inventer des références sectorielles que notre site ne mentionne pas.
Leçon importante : aucune optimisation technique ne compense un contenu incomplet. Si l’information n’est pas sur votre site, l’IA ne la trouvera pas. La première action reste de s’assurer que votre contenu est complet et à jour.
Fin de l'expérimentation
Ce que nous en retirons
Après 700 appels, 7 phases et quelques nuits à scruter des logs, voici ce que nous avons appris. Nous ne prétendons pas avoir trouvé LA solution — nous partageons ce qui a marché pour nous, et ce qui n’a pas marché, pour que vous puissiez en tirer parti.
1. Vérifiez d'abord que votre site est accessible
Avant toute optimisation, assurez-vous que les bots IA peuvent accéder à votre site. Certains hébergeurs ou CDN bloquent les User-Agents IA par défaut. Lors de notre premier round de tests, Claude était complètement bloqué — nous avons dû corriger la configuration avant de pouvoir l’inclure dans le benchmark. Vérifiez votre robots.txt et les règles de votre hébergeur pour les User-Agents ClaudeBot, GPTBot, Google-Extended et MistralAI-User.
2. Complétez votre contenu — c'est le vrai levier
Les informations clés — adresse, offres détaillées, références, zone géographique, FAQ — doivent être en texte sur vos pages. Pas dans une image, pas dans un PDF, pas dans un carrousel JavaScript. En texte. C’est la condition préalable à tout le reste.
3. Implémentez la content negotiation — c'est l'optimisation n°1
C’est de loin la technique la plus efficace que nous ayons testée. Servir du markdown structuré aux bots IA identifiés par User-Agent réduit les tokens de 20 à 64%, accélère les réponses, et améliore leur qualité. Le mécanisme est simple : un plugin WordPress (ou un middleware dans n’importe quel framework) détecte le User-Agent et sert une version texte au lieu du HTML.
4. Ajoutez un fichier llms.txt — c'est un pari sur l'avenir
Même s’il n’est pas découvert spontanément par les agents aujourd’hui, certains pipelines IA (Perplexity) commencent à le chercher. C’est 30 minutes de travail. Faites-le.
5. Gardez un œil sur le MCP et les endpoints conversationnels
Notre endpoint ask.php n’a pas produit les résultats espérés dans ce benchmark — mais l’idée reste puissante. Le jour où les agents sauront exploiter un endpoint conversationnel découvert en naviguant, les sites qui l’auront préparé auront une longueur d’avance.
La checklist
|
#
|
Action
|
Effort
|
Impact mesuré
|
|---|---|---|---|
|
1
|
Vérifier l'accessibilité aux User-Agents IA
|
15 min
|
Bloquant si absent
|
|
2
|
Compléter le contenu textuel des pages clés
|
Variable
|
Fondamental
|
|
3
|
Implémenter la content negotiation (markdown pour les bots) |
4h
|
−20 à −64% de tokens
|
|
4
|
Créer un llms.txt à la racine
|
30 min
|
Pas d'impact immédiat, investissement futur |
|
5
|
Ajouter une section "Pour les IA" visible en footer |
1h
|
Impact modéré
|
|
6
|
Explorer un endpoint conversationnel (/ai/ask) |
1-2 jours
|
Prometteur, pas encore exploité par les agents |
Méthodologie
Pour ceux qui veulent les détails :
- 4 modèles : Mistral Small, GPT-4o-mini, Gemini 2.5 Flash, Claude Haiku 4.5
- 7 phases d’optimisation progressive (dont 5 détaillées ici)
- 5 questions de difficulté croissante
- 5 itérations par question par phase (température 0.1)
- 700 appels agent au total
- Coût total du benchmark : $3,37
- Outil unique :
fetch_urlavec linéarisation HTML → pseudo-markdown - Le code du benchmark est open source : [lien à venir]
Annexe — Testez vous-même
Ce que voit votre IA
Copiez-collez ce prompt dans ChatGPT, Claude, Mistral Le Chat ou Gemini :
Visite cette URL : https://kiliogene.com/ai/mirror.php
Dis-moi exactement :
- Le contenu brut que ton outil de navigation t’a renvoyé (copie-le tel quel, sans reformuler)
- Le format dans lequel tu as reçu ce contenu (HTML brut, texte nettoyé, markdown, linéarisation sémantique, autre)
- Le User-Agent que tu as utilisé pour la requête (si tu le connais)
La page mirror.php renvoie un miroir de la requête : elle affiche le User-Agent, les headers et le contenu tel que le serveur les a reçus. Chaque IA traite cette réponse différemment, ce qui révèle sa chaîne de traitement interne.
Publié par Kiliogene — Mars 2026 — Kiliogene est un réseau d’intégrateurs expert CRM augmenté par l’IA.