Recherche IA
Un assistant qui répond à « qu'est-ce que X », « prix de X » ou « meilleur outil pour Y » récupère quelques pages, extrait des phrases et des lignes de tableau, et les cite. Si un fait n'est pas présent sur la page en texte brut, l'assistant devine, ou cite celui qui l'a écrit. Le but : rendre le produit facile à décrire correctement en une seule récupération.
Un principe guide chaque étape : écrire chaque fait une fois et le rendre partout. La définition, le statut (bêta, inscriptions ouvertes, généralement disponible), les prix, les plateformes supportées et les URLs clés vivent dans un seul fichier source ; les pages, llms.txt et les données structurées le lisent. Les faits copiés à la main dérivent.
Workflow
1. Rédiger la fiche de faits
Créez content/facts.ts (ou JSON/YAML) avec : le nom et ses variantes, la définition en une phrase, le public cible, le statut, les formules et prix, les plateformes ou intégrations, les URLs des pages clés, et les profils officiels (GitHub, X, LinkedIn, Product Hunt). Vérifiez chaque élément sur le produit en ligne avant de l'écrire.
2. Publier /llms.txt
Suivez llmstxt.org : un H1 avec le nom, un résumé en blockquote, quelques faits simples, puis des sections H2 de liens écrits - [Titre](url) : ce que ça couvre. Une section intitulée Optionnel marque les liens qu'un assistant peut ignorer.
# Acme AI
> Acme AI est un outil de rapprochement de factures qui réconcilie les paiements Stripe avec les dépôts bancaires pour les petites équipes financières. Il fonctionne dans le navigateur et se connecte à Stripe et Plaid.
- Public cible : responsables financiers d'entreprises de 1 à 50 personnes qui réconcilient les paiements manuellement.
- Statut : inscriptions ouvertes (depuis 2026-11).
- Prix (https://acme.example/pricing) : Gratuit, 0 $, jusqu'à 50 factures par mois ; Pro, 29 $/mois, factures illimitées ; Équipe, 79 $/mois, jusqu'à 10 sièges. Prix en USD.
- À ne pas confondre avec : Acme Anvil, une entreprise de matériel sans lien.
## Pages clés
- [Tarifs](https://acme.example/pricing) : formules, limites et ce qui est inclus.
- [Acme AI vs Concurrent](https://acme.example/vs/concurrent) : comparaison de fonctionnalités et de prix, vérifié le 2026-11-06.
## FAQ
- Acme AI est-il gratuit ? Oui, jusqu'à 50 factures par mois. Les formules Pro et Équipe sont payantes.
## Optionnel
- [Blog](https://acme.example/blog) : mises à jour produit et guides.
Générez-le à partir de la fiche de faits et des métadonnées des pages (un gestionnaire de route ou un script de build) pour qu'une nouvelle page apparaisse sans modifications manuelles. Servez-le avec le statut 200, en text/plain ou text/markdown ; charset=utf-8, sans connexion, redirection ni JavaScript. Vérifiez :
curl -sI https://acme.example/llms.txt | head -5 # 200 et un type de contenu texte
curl -s https://acme.example/llms.txt | head -30
3. Ajouter optionnellement /llms-full.txt
Le texte complet en Markdown des pages que vous souhaitez le plus voir citées (produit, tarifs, comparaisons, documentation), chacune sous son propre # Titre avec une ligne Source : <url>. Générez-le au moment du build. Laissez de côté les archives du blog et tout ce qui est obsolète.
4. Faire un lien vers
Mettez un lien simple llms.txt dans le pied de page, et optionnellement <link rel="alternate" type="text/markdown" href="/llms.txt"> dans <head>. Un fichier vers lequel aucun lien ne pointe n'est trouvé que par les crawlers qui devinent le chemin.
5. Laisser entrer les crawlers IA (robots.txt et le CDN)
| User-agent | Propriétaire | Utilisé pour |
|---|---|---|
| OAI-SearchBot | OpenAI | Index de recherche ChatGPT |
| ChatGPT-User | OpenAI | Récupération d'une page demandée par un utilisateur |
| GPTBot | OpenAI | Entraînement de modèle |
| Claude-SearchBot / Claude-User / ClaudeBot | Anthropic | Index de recherche / récupérations utilisateur / entraînement |
| PerplexityBot / Perplexity-User | Perplexity | Index de recherche / récupérations utilisateur |
| Google-Extended | Jeton pour l'entraînement et l'ancrage de Gemini ; n'affecte pas Google Search ni AI Overviews | |
| Bingbot | Microsoft | Index Bing, à partir duquel Copilot répond |
Les agents de recherche et de récupération utilisateur décident si vous pouvez être cité. Les agents d'entraînement sont un choix commercial ; un produit qui veut être recommandé les autorise généralement aussi.
User-agent: *
Allow: /
Disallow: /api/
Disallow: /app/
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: GPTBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: ClaudeBot
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
Allow: /
Disallow: /api/
Disallow: /app/
Sitemap: https://acme.example/sitemap.xml
Un crawler n'obéit qu'au groupe qui le nomme, donc un groupe nommé doit répéter chaque Disallow, sinon il ouvre vos chemins privés. robots.txt ne peut pas non plus outrepasser le CDN : certains proposent un interrupteur « bloquer les bots IA » qui renvoie 403 quoi que dise robots.txt. Vérifiez ponctuellement, puis confirmez les visites réelles des crawlers dans le rapport de bots du CDN ou les logs du serveur (les CDN qui vérifient les IP des bots peuvent traiter un User-Agent usurpé différemment) :
curl -s -o /dev/null -w '%{http_code}\n' -A 'Mozilla/5.0 (compatible ; OAI-SearchBot/1.0 ; +https://openai.com/searchbot)' https://acme.example/pricing
6. Mettre une définition en une phrase en haut de chaque page clé
Juste sous le H1, dans le HTML rendu par le serveur : « est un <catégorie> qui pour . » La deuxième phrase donne le différenciateur. Réutilisez la même phrase sur la page d'accueil, dans llms.txt, dans Organization.description, dans les annuaires et dans les bios sociales. Un slogan (« Finance, réinventée ») ne donne rien à citer à un assistant. De nombreux récupérateurs IA n'exécutent pas JavaScript, vérifiez donc le HTML brut :
curl -s https://acme.example/ | grep -c "est un outil de rapprochement de factures" # attend 1 ou plus
7. Tableaux comparatifs et FAQ
- Tableaux : un vrai
<table>HTML, une ligne par produit, des colonnes sur ce que les acheteurs demandent (prix, plateformes, open source, limite principale). Datez-le (« Vérifié le 2026-11-06 »). Prenez chaque fait sur le site du fournisseur, sa documentation, sa page de tarifs ou l'API GitHub. Écrivez « Non publié » quand un fournisseur ne publie pas quelque chose ; n'estimez jamais. - FAQ : la question comme titre, dans les mots du chercheur ; une réponse de 2 à 4 phrases qui se suffit à elle-même, la première phrase y répondant. Couvrez les questions sur lesquelles les assistants se trompent : prix, « est-ce gratuit », « ça marche avec X », « est-ce la même chose que ». Le balisage FAQPage est facultatif ; les Q&A visibles sont ce qui est cité.
8. Rendre les tarifs publics
Une page /pricing avec les noms des formules, les prix, la devise, la période de facturation et les limites en texte, pas seulement dans une image ou un calculateur. Miroir dans llms.txt et dans SoftwareApplication.offers. Les réponses et les annuaires ont besoin d'un prix ou d'un modèle tarifaire (gratuit, freemium, payant) ; sans cela, ils devinent ou vous ignorent. Si les formules payantes ne sont pas encore actives, dites-le (« Pro : à venir ; tout est gratuit jusque-là »).
{ "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "Acme AI",
"applicationCategory": "BusinessApplication", "operatingSystem": "Web",
"offers": [ { "@type": "Offer", "name": "Gratuit", "price": "0", "priceCurrency": "USD" },
{ "@type": "Offer", "name": "Pro", "price": "29", "priceCurrency": "USD" } ] }
9. Données Organization et WebSite en cas de collision de nom
Si la recherche de votre nom de marque nu renvoie d'abord un autre produit, choisissez une forme distinctive (par exemple « Acme AI ») et utilisez-la partout, avec des données structurées qui lient les variantes à une seule entité :
{ "@context": "https://schema.org", "@type": "Organization",
"name": "Acme AI", "alternateName": ["Acme", "acme.example"],
"url": "https://acme.example/", "logo": "https://acme.example/logo.png",
"description": "Acme AI est un outil de rapprochement de factures qui réconcilie les paiements Stripe avec les dépôts bancaires pour les petites équipes financières.",
"sameAs": ["https://github.com/acme-ai", "https://x.com/acmeai", "https://www.linkedin.com/company/acme-ai"] }
Ajoutez un objet WebSite avec le même name et alternateName ; Google l'utilise pour le nom du site dans les résultats. Ne listez dans sameAs que les profils que vous contrôlez et qui renvoient au site.
10. Maintenir le suffixe de marque cohérent
Un suffixe partout : | Acme AI dans les titres, la même chaîne dans og:site_name, le H1 de llms.txt, les bios sociales et l'org GitHub. Gardez les titres dans 60 caractères (environ 30 pour le chinois, le japonais et le coréen), mot-clé en premier ; n'ajoutez le suffixe que quand il tient.
11. Vérifier ce que les assistants disent réellement
Mensuellement, et après des changements importants, posez 5 à 10 requêtes manuellement dans ChatGPT (recherche activée), Perplexity, Claude, Gemini et Copilot : « Qu'est-ce que Acme AI ? », « Tarifs Acme AI », « meilleur <catégorie> pour », « alternatives à », « Acme AI vs ». Une requête à la fois dans l'interface normale ; ne scriptez pas les interfaces de chat. Enregistrez la date, l'assistant, la requête, si vous êtes mentionné, quelle URL est citée et tout fait erroné dans docs/seo/ai-answers.md. Corrigez la page source derrière chaque fait erroné, puis revérifiez. Pour le trafic, segmentez les analytics par référent : chatgpt.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com.
Checklist
- La fiche de faits existe ; les pages, llms.txt et JSON-LD sont lus depuis celle-ci
- /llms.txt renvoie 200 en texte, est généré et est lié depuis le pied de page
- robots.txt autorise les agents IA et répète les interdictions ; le CDN ne les bloque pas
- Chaque page clé commence par une définition en une phrase dans le HTML brut
- Les tableaux comparatifs sont datés et sourcés ; les inconnus disent « Non publié »
- Les réponses FAQ se suffisent à elles-mêmes et couvrent le prix, « est-ce gratuit » et la confusion de nom
- /pricing est public ; llms.txt et
offerscorrespondent - Organization et WebSite portent name, alternateName, description et sameAs
- Un suffixe de marque partout ; titres dans 60 caractères
- Les réponses des assistants sont enregistrées ; les faits erronés sont tracés jusqu'à une page et corrigés
Pièges rencontrés
- Pas de prix public. /pricing renvoyait 404, llms.txt et
SoftwareApplicationn'avaient pas d'offres, et notre propre tableau comparatif devait dire « Non publié » pour nous. Une page /pricing avec trois formules en texte, reflétée dans llms.txt etoffers, a résolu le problème ; les niveaux payants sont marqués « à venir ». - Dérive du statut. Après l'ouverture des inscriptions, environ 300 fichiers dans 9 langues, y compris llms.txt, disaient encore « accès anticipé ». Le statut vient maintenant d'une constante.
- Un fichier vers lequel personne ne pointe. Un audit n'a trouvé aucune page pointant vers llms.txt, pas de llms-full.txt ni de
lastmoddans le sitemap. - Remplacement de groupe dans robots.txt. Donner aux crawlers IA leur propre groupe sans répéter les interdictions aurait ouvert les chemins API et de connexion pour eux.
- Collision de marque. La recherche de notre nom de marque nu renvoyait d'abord une application de planification d'équipe du même nom. Nous sommes passés à « AI » dans les titres, alternateName et sameAs.
- Titres tronqués et incohérents. 49 titres en anglais faisaient 57 à 88 caractères avec des suffixes mélangés. Nous les avons réduits à 60 ou moins, mot-clé en premier, suffixe seulement quand il tient.
- Récupérations peu fiables des pages concurrentes. La récupération par un sous-agent de recherche de la page de tarifs d'un concurrent a renvoyé quelque chose qui semblait trafiqué ; nous l'avons confirmé dans un vrai navigateur avant de publier. La page de tarifs d'un autre fournisseur renvoyait 403 au récupérateur, nous avons donc pris les prix de leur documentation et précisé d'où ils venaient.
- Écrire « gratuit » trop tôt. Jusqu'à ce que les prix soient publiés, nous écrivions « non publié », pas « gratuit ». Un assistant répète ce que dit la page.
Compétences associées
- seo-page : le modèle de page où vivent la définition, le tableau et la FAQ.
- competitor-pages : pages de comparaison et d'alternatives, que les assistants citent abondamment.
- programmatic-pages : génération de sections llms.txt et de données structurées à l'échelle.
- multilingual-seo : définitions localisées, titres et longueur de suffixe par langue.
- keyword-research, trend-keywords : les questions auxquelles répondre et les requêtes à tester.
- index-push : faire crawler les pages ; l'index Bing alimente Copilot.
- seo-daily-report : visites référées par l'IA comme leur propre ligne dans le rapport.