Crawl et rendering
Premier principe : le contenu critique doit être présent dans la première réponse HTML, avant exécution JavaScript. Beaucoup de bots IA n'exécutent pas, ou exécutent partiellement, le JavaScript côté client. Un site purement client-side (SPA non prerenderée) est partiellement aveugle pour eux.
Les deux approches qui répondent à cette contrainte :
- SSR (Server-Side Rendering) : la page est rendue à la requête côté serveur. Astro, Next.js, Nuxt, Remix le proposent.
- SSG / prerendering : les pages sont générées au build et servies en HTML statique. Astro, Next, Hugo, Eleventy, Jekyll.
Test rapide : curl -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" https://votre-site.fr/page et inspecter la réponse. Si le contenu attendu n'est pas dans le HTML brut, vous avez un problème de rendering.
Bots IA et robots.txt
Chaque éditeur de LLM expose un user-agent dédié, parfois plusieurs. La décision d'autoriser ou de bloquer chaque bot est une décision politique qui doit être documentée et arbitrée, pas un défaut technique.
| Éditeur | User-agent | Usage |
|---|---|---|
| OpenAI | GPTBot | Entraînement des modèles GPT. |
| OpenAI | OAI-SearchBot | Index de ChatGPT Search. |
| OpenAI | ChatGPT-User | Récupération à la volée pour répondre à un utilisateur. |
| Anthropic | ClaudeBot, Claude-Web | Entraînement et récupération. |
Google-Extended | Opt-out spécifique pour l'entraînement de Gemini. | |
| Perplexity | PerplexityBot | Index de Perplexity. |
| Common Crawl | CCBot | Corpus public utilisé par de nombreux entraînements. |
| ByteDance | Bytespider | Entraînement Doubao et écosystème ByteDance. |
Exemple de robots.txt permissif sur les bots IA principaux, avec exclusions ciblées :
Une exclusion à User-agent: * avec Disallow: / bloque tout, y compris les bots IA. Vérifiez l'ordre et la spécificité des directives avant déploiement.
llms.txt
La convention llms.txt a été proposée en 2024 par Jeremy Howard (Answer.AI). Le fichier, placé à la racine du domaine, est un manifeste Markdown qui décrit la structure du site et expose les ressources de référence sous forme exploitable par un LLM.
Squelette minimal :
La convention reste émergente. Tous les moteurs ne l'utilisent pas encore officiellement, mais l'effort coût/bénéfice est faible. À adopter par défaut.
Schema.org en JSON-LD
Le balisage schema.org en JSON-LD reste le moyen le plus efficace de transmettre une lecture structurée d'une page à un moteur, qu'il soit classique ou génératif. Les types prioritaires pour un hub éditorial :
Organization+sameAs· l'identité de marque.WebSite+potentialAction· le périmètre du site.ArticleouBlogPosting· sur chaque contenu éditorial.BreadcrumbList· sur les pages internes.FAQPage· uniquement sur des questions/réponses réelles.Person· pour les auteurs identifiés.
Exemple de bloc Organization minimal :
Validation systématique avec le Rich Results Test et le Schema.org Validator. Un JSON-LD invalide est traité comme inexistant.
Performance serveur sous charge
Les crawls IA peuvent être denses. Si votre serveur renvoie des erreurs 5xx aux pics de crawl, vous perdez des passages dans les corpus. Vérifications usuelles :
- TTFB cible : moins de 600 ms en P75 sur les pages éditoriales.
- CDN ou cache HTTP en frontal sur le contenu statique et semi-statique.
- Rate-limiting éventuel découplé des bots IA identifiés (les laisser respirer).
- Monitoring des codes de retour par user-agent dans les logs.
Canonicals et redirections
Principes invariants, hérités du SEO classique mais aussi importants pour les LLMs :
- Une URL canonique par contenu, jamais deux.
- Balise
rel="canonical"auto-référente sur chaque page. - Redirections 301 pour les changements permanents, 302 réservé au temporaire.
- Pas de chaînes de redirections (un saut maximum, jamais deux).
- Sitemap XML contenant uniquement des URLs canoniques en 200.
La couche technique est nécessaire mais pas suffisante. Une fois sécurisée, attaquez l'ontologie (entité, autorité) puis la performance (mesure des citations).