Générateur llms.txt pour Discourse
| Résumé | Génère automatiquement des fichiers llms.txt qui rendent le contenu de votre forum découvrable par les grands modèles de langage (LLM) comme ChatGPT, Claude et d’autres systèmes d’IA | |
| Lien vers le dépôt | GitHub - kaktaknet/discourse-llms-txt-generator: 🤖 Discourse llms.txt Generator Plugin. Automatically generates llms.txt and llms-full.txt files for your Discourse forum to optimize content discovery by Large Language Models (LLMs) and AI systems. · GitHub | |
| Guide d’installation | Comment installer des plugins dans Discourse | |
Fonctionnalités
Ce plugin implémente la norme llms.txt — une convention proposée pour fournir aux sites web du contenu compatible avec les LLM. Pensez-y comme au “robots.txt pour l’IA”, qui aide votre contenu de forum à apparaître dans les réponses générées par l’IA.
Pour une documentation détaillée des fonctionnalités, consultez README.md
Pour la documentation technique et le développement, consultez CONTRIBUTING.md
Bien que cette vidéo ne concerne pas spécifiquement Discourse ni ses plugins, elle explique très bien pourquoi les fichiers llms.txt sont importants pour votre forum.
Des milliers de sites — y compris de nombreuses entreprises technologiques parmi les plus grandes et les plus respectées au monde — ont déjà mis en œuvre la norme llms.txt sur leurs propres domaines. Voici quelques exemples :
Amazon AWS — https://docs.aws.amazon.com/llms.txt
Cloudflare — https://developers.cloudflare.com/llms.txt
Stripe — https://stripe.com/llms.txt
Angular — https://angular.dev/llms.txt
Redis — https://redis.io/llms.txt
Docker — https://docs.docker.com/llms.txt
Model Context Protocol — https://modelcontextprotocol.io/llms-full.txt
Lorsque des géants de l’industrie adoptent une norme à grande échelle — bien avant qu’elle ne devienne « officielle » — c’est un signal clair que llms.txt répond à un problème réel et urgent. De telles entreprises ne lancent jamais des initiatives à l’échelle du site à la légère ; elles ont toujours une raison stratégique solide. L’adoption rapide et massive de llms.txt dans l’industrie technologique montre à quel point le contenu structuré pour l’IA est devenu important, et que c’est l’industrie elle-même qui conduit cette adoption — même plus rapidement que les organismes de normalisation officiels.
Fonctionnalités clés :
-
Fichier de navigation principal (
/llms.txt)- Aperçu structuré de votre forum avec catégories, sous-catégories et derniers sujets
- Aide les systèmes d’IA à comprendre instantanément l’organisation de votre forum
- Se met à jour automatiquement à mesure que votre forum s’étend
-
Index complet du contenu (
/llms-full.txt)- Index complet du forum avec tous les sujets classés et prêts à être consommés par l’IA
- Filtrage configurable selon le nombre de vues et de sujets
- Extraits de messages optionnels pour une indexation plus rapide par l’IA
-
Fichiers dynamiques par ressource
- Génération de llms.txt pour n’importe quelle catégorie :
/c/nom-de-categorie/123/llms.txt - Génération de llms.txt pour n’importe quel sujet :
/t/slug-sujet/456/llms.txt - Génération de llms.txt pour n’importe quel tag :
/tag/tutoriel/llms.txt - Créés à la demande sans stockage physique
- Génération de llms.txt pour n’importe quelle catégorie :
-
Index des sitemaps (
/sitemaps.txt)- Liste complète de toutes les URLs llms.txt pour une découverte efficace par les robots d’exploration IA
- Intégration automatique avec robots.txt et sitemap.xml
-
Protection SEO
- URLs canoniques dans les en-têtes HTTP (conforme à la RFC 6596)
- Évite les pénalités de contenu dupliqué de la part des moteurs de recherche
- Attribution correcte aux URLs originales du forum
-
Mise en cache intelligente
- Vérifications en arrière-plan toutes les heures pour le nouveau contenu
- Régénération uniquement si nécessaire
- Temps de réponse rapides (moins de 50 ms)
-
Contrôle des bots
- Bloquez des robots d’exploration IA spécifiques tout en permettant l’accès au forum
- Liste séparée par des virgules des user agents à bloquer
- Intégration automatique de robots.txt via le connecteur de vue
-
Confidentialité et sécurité
- Catégories privées automatiquement exclues
- Vérifications des permissions Guardian pour les fichiers dynamiques
- Filtrage de sécurité au niveau SQL
- Aucune donnée personnelle exposée
Avantages pour votre forum :
- Visibilité accrue : Votre contenu apparaît dans les réponses de ChatGPT, Claude et d’autres IA
- Attribution directe : Les systèmes d’IA citent et renvoient des liens vers votre forum
- Plus de trafic : Découverte accrue grâce à la recherche pilotée par l’IA
- Meilleur GEO : Optimisation pour les moteurs génératifs (Generative Engine Optimization) pour les systèmes d’IA
- Aucune maintenance : Génération et mises à jour automatiques
Configuration
Après avoir installé le plugin, accédez à Admin → Paramètres → Plugins → discourse-llms-txt-generator
Étape 1 : Activer le plugin
Définissez llms_txt_enabled à true (activé par défaut)
Étape 2 : Configurer l’indexation
Définissez llms_txt_allow_indexing à true pour autoriser l’accès aux robots d’exploration IA (activé par défaut)
Ce paramètre contrôle si les fichiers llms.txt apparaissent dans votre robots.txt comme autorisés ou interdits.
Étape 3 : Définir les filtres de contenu
Configurez ces paramètres en fonction de la taille de votre forum :
llms_txt_min_views: Nombre minimum de vues par sujet pour l’inclusion (par défaut : 50)llms_txt_posts_limit: Nombre de sujets à incluresmall: 500 sujets (recommandé pour les grands forums)medium: 2 500 sujets (recommandé pour la plupart des forums)large: 5 000 sujetsall: Tous les sujets (à utiliser avec prudence sur les grands forums)
Étape 4 : Optionnel — Ajouter une description personnalisée
Remplissez llms_txt_full_description avec 2 à 4 phrases décrivant l’objectif de votre forum et sa communauté. Cela aide les systèmes d’IA à fournir des informations plus précises sur votre forum.
Exemple :
Ce forum est dédié à la discussion sur la programmation Python, en mettant l'accent sur le développement web,
l'analyse de données et l'apprentissage automatique. Notre communauté comprend des débutants et des développeurs expérimentés
partageant des solutions pratiques et les meilleures pratiques.
Étape 5 : Optionnel — Bloquer des bots spécifiques
Si vous souhaitez bloquer certains robots d’exploration IA, saisissez leurs noms d’user agent dans llms_txt_blocked_user_agents sous forme de liste séparée par des virgules :
Exemple : Omgilibot, ChatGPT-User, CCBot
Étape 6 : Vérifier l’installation
Visitez votre forum à :
/llms.txt— Fichier de navigation principal/llms-full.txt— Index complet du contenu/sitemaps.txt— Sitemap complet
Vérifiez votre /robots.txt pour confirmer l’intégration.
Paramètres
| Nom | Valeur par défaut | Description |
|---|---|---|
llms_txt_enabled |
true |
Activer ou désactiver le plugin |
llms_txt_allow_indexing |
true |
Autoriser les robots d’exploration IA à accéder aux fichiers llms.txt (affecte robots.txt) |
llms_txt_blocked_user_agents |
"" |
Liste séparée par des virgules des user agents de bots à bloquer des fichiers llms.txt |
llms_txt_intro_text |
Texte personnalisé | Texte d’introduction qui apparaît dans le fichier llms.txt principal |
llms_txt_full_description |
"" |
Description personnalisée pour llms-full.txt afin d’aider l’IA à comprendre le contexte de votre forum |
llms_txt_min_views |
50 |
Nombre minimum de vues par sujet requis pour l’inclusion dans llms-full.txt |
llms_txt_posts_limit |
medium |
Limite de nombre de sujets : small (500), medium (2 500), large (5 000) ou all |
llms_txt_include_excerpts |
false |
Inclure des extraits de messages dans llms-full.txt (augmente considérablement la taille du fichier) |
llms_txt_post_excerpt_length |
500 |
Longueur maximale des extraits en caractères (100-5000) si les extraits sont activés |
llms_txt_latest_topics_count |
50 |
Nombre de derniers sujets à afficher dans le fichier llms.txt principal |
llms_txt_cache_minutes |
60 |
Durée de mise en cache en minutes pour le fichier de navigation |
Remarques importantes :
- L’activation de
llms_txt_include_excerptsavecllms_txt_posts_limitdéfini surallpeut entraîner des tailles de fichiers extrêmement grandes (potentiellement 10-100+ Mo) et une charge serveur élevée sur les grands forums - Les catégories privées sont automatiquement exclues de tous les fichiers llms.txt
- Les fichiers dynamiques par ressource (catégories, sujets, tags) ne sont pas mis en cache et sont générés à la demande
- Le plugin utilise des connecteurs de vue pour l’intégration de robots.txt — aucune modification manuelle de robots.txt n’est nécessaire
Détails techniques
Architecture :
- Génération à la demande sans fichiers pré-générés
- Mise en cache intelligente avec vérifications en arrière-plan toutes les heures
- Prise en compte des permissions via Discourse Guardian
- Filtrage de sécurité au niveau SQL pour le contenu privé
- URLs canoniques dans les en-têtes HTTP pour éviter les pénalités SEO
Performance :
- Fichier de navigation mis en cache pendant 60 minutes (configurable)
- Fichier de contenu complet généré à la demande
- Le cache intelligent ne régénère que lorsque de nouveau contenu existe
- Temps de réponse inférieur à 50 ms pour le contenu mis en cache
Compatibilité :
- Discourse 2.7.0+
- Ruby 2.7+
- Testé sur Discourse 3.6.0.beta3
Conformité aux normes :
- Norme llms.txt (https://llmstxt.org/)
- RFC 3986 (encodage URL pour les caractères internationaux)
- RFC 6596 (en-têtes de liens canoniques)
Cas d’utilisation
Forums communautaires :
Vos discussions et solutions apparaissent lorsque les utilisateurs posent des questions pertinentes à des assistants IA, générant un trafic qualifié vers votre forum.
Sites de documentation :
Les systèmes d’IA peuvent référencer votre documentation et vos tutoriels, fournissant des informations précises avec une attribution appropriée.
Forums de support :
Les utilisateurs obtiennent des réponses directes à partir de votre base de connaissances via des assistants IA, avec des liens vers les discussions complètes.
Communautés techniques :
Les développeurs découvrent le contenu de votre forum grâce à des assistants de codage pilotés par l’IA, augmentant l’engagement communautaire.
Maintenance
Le plugin nécessite une maintenance minimale :
- Le cache se rafraîchit automatiquement toutes les heures
- Les mises à jour de contenu se font automatiquement lors de la création/édition de messages
- Aucune génération manuelle de fichiers n’est nécessaire
- Tâches rake optionnelles disponibles :
llms_txt:refreshetllms_txt:check
Dépannage
Fichiers non accessibles :
- Vérifiez que
llms_txt_enabledest défini surtrue - Assurez-vous que
llms_txt_allow_indexingest défini surtrue - Confirmez que le plugin est installé dans Admin → Plugins
Contenu vide :
- Assurez-vous d’avoir des sujets publics avec suffisamment de vues (vérifiez le paramètre
llms_txt_min_views) - Vérifiez que les catégories sont publiques (non restreintes en lecture)
- Vérifiez le paramètre
llms_txt_posts_limit
Intégration robots.txt non fonctionnelle :
- Videz le cache de robots.txt :
Rails.cache.delete('robots_txt') - Utilisez la tâche rake :
bundle exec rake llms_txt:refresh - Redémarrez Discourse :
./launcher restart app
Support
- Problèmes GitHub : Issues · kaktaknet/discourse-llms-txt-generator · GitHub
Licence
Licence MIT — Logiciel libre et open-source
Crédits
- Standard Answer.AI : llms.txt par Jeremy Howard (Answer.AI)
- GitHub Answer.AI : GitHub - AnswerDotAI/llms-txt: The /llms.txt file, helping language models use your website · GitHub
- Plateforme : Discourse

