Generador de llms.txt para Discourse
| Resumen | Genera automáticamente archivos llms.txt que hacen que el contenido de tu foro sea descubrible por Modelos de Lenguaje Grande (LLM) como ChatGPT, Claude y otros sistemas de IA | |
| Enlace al repositorio | 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 | |
| Guía de instalación | Cómo instalar plugins en Discourse | |
Características
Este plugin implementa el estándar llms.txt — una convención propuesta para proporcionar contenido compatible con LLM desde sitios web. Piensa en ello como un “robots.txt para IA” que ayuda a que el contenido de tu foro aparezca en respuestas generadas por IA.
Para documentación detallada de las características, consulta README.md
Para documentación técnica y desarrollo, consulta CONTRIBUTING.md
Aunque este video no trata específicamente sobre Discourse ni sus plugins, explica muy bien por qué los archivos llms.txt son importantes para tu foro.
Miles de sitios web, incluidas muchas de las empresas tecnológicas más grandes y respetadas del mundo, ya han implementado el estándar llms.txt en sus propios dominios. Algunos ejemplos incluyen:
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
Protocolo de Contexto de Modelo — https://modelcontextprotocol.io/llms-full.txt
Cuando gigantes de la industria adoptan un estándar a gran escala, mucho antes de que se vuelva “oficial”, es una señal clara de que llms.txt resuelve un problema real y urgente. Estas empresas nunca implementan iniciativas a nivel de sitio sin una razón estratégica sólida. La rápida y masiva adopción de llms.txt en la industria tecnológica muestra cuán importante se ha vuelto el contenido estructurado para la IA, y que la propia industria está impulsando esta adopción, incluso más rápido que los organismos de estandarización formal.
Capacidades clave:
-
Archivo de navegación principal (
/llms.txt)- Resumen estructurado de tu foro con categorías, subcategorías y los temas más recientes
- Ayuda a los sistemas de IA a entender la organización de tu foro instantáneamente
- Se actualiza automáticamente a medida que tu foro crece
-
Índice de contenido completo (
/llms-full.txt)- Índice completo del foro con todos los temas categorizados y listos para ser consumidos por IA
- Filtrado configurable por vistas y cantidad de temas
- Extractos de publicaciones opcionales para una indexación más rápida por parte de la IA
-
Archivos dinámicos por recurso
- Genera llms.txt para cualquier categoría:
/c/nombre-categoria/123/llms.txt - Genera llms.txt para cualquier tema:
/t/slug-tema/456/llms.txt - Genera llms.txt para cualquier etiqueta:
/tag/tutorial/llms.txt - Se crean bajo demanda sin almacenamiento físico
- Genera llms.txt para cualquier categoría:
-
Índice de sitemaps (
/sitemaps.txt)- Lista completa de todas las URLs de llms.txt para un descubrimiento eficiente por parte de los rastreadores de IA
- Se integra automáticamente con robots.txt y sitemap.xml
-
Protección SEO
- URLs canónicas en encabezados HTTP (cumple con RFC 6596)
- Evita penalizaciones por contenido duplicado en motores de búsqueda
- Atribución correcta a las URLs originales del foro
-
Caché inteligente
- Comprobaciones de contenido nuevo en segundo plano cada hora
- Solo se regenera cuando es necesario
- Tiempos de respuesta rápidos (menos de 50 ms)
-
Control de bots
- Bloquea rastreadores de IA específicos mientras permite el acceso al foro
- Lista separada por comas de agentes de usuario a bloquear
- Integración automática con robots.txt mediante el conector de vistas
-
Privacidad y seguridad
- Las categorías privadas se excluyen automáticamente
- Verificaciones de permisos de Guardian para archivos dinámicos
- Filtrado de seguridad a nivel de SQL
- No se exponen datos personales
Beneficios para tu foro:
- Mayor visibilidad: Tu contenido aparece en respuestas de ChatGPT, Claude y otras IAs
- Atribución directa: Los sistemas de IA citan y enlazan de vuelta a tu foro
- Más tráfico: Mayor descubrimiento a través de búsquedas impulsadas por IA
- Mejor GEO: Optimización para motores generativos para sistemas de IA
- Sin mantenimiento: Generación y actualizaciones automáticas
Configuración
Después de instalar el plugin, navega a Admin → Configuración → Plugins → discourse-llms-txt-generator
Paso 1: Habilitar el plugin
Establece llms_txt_enabled en true (habilitado por defecto)
Paso 2: Configurar la indexación
Establece llms_txt_allow_indexing en true para permitir el acceso a los rastreadores de IA (habilitado por defecto)
Esta configuración controla si los archivos llms.txt aparecen en tu robots.txt como permitidos o bloqueados.
Paso 3: Establecer filtros de contenido
Configura estas opciones según el tamaño de tu foro:
llms_txt_min_views: Vistas mínimas de temas para incluir (por defecto: 50)llms_txt_posts_limit: Cantidad de temas a incluirsmall: 500 temas (recomendado para foros grandes)medium: 2,500 temas (recomendado para la mayoría de los foros)large: 5,000 temasall: Todos los temas (úsalo con precaución en foros grandes)
Paso 4: Opcional - Agregar descripción personalizada
Rellena llms_txt_full_description con 2-4 frases que describan el propósito y la comunidad de tu foro. Esto ayuda a los sistemas de IA a proporcionar información más precisa sobre tu foro.
Ejemplo:
Este foro está dedicado a discutir la programación en Python, con enfoque en desarrollo web,
ciencia de datos y aprendizaje automático. Nuestra comunidad incluye principiantes y desarrolladores experimentados
que comparten soluciones prácticas y mejores prácticas.
Paso 5: Opcional - Bloquear bots específicos
Si deseas bloquear ciertos rastreadores de IA, ingresa sus nombres de agente de usuario en llms_txt_blocked_user_agents como una lista separada por comas:
Ejemplo: Omgilibot, ChatGPT-User, CCBot
Paso 6: Verificar la instalación
Visita tu foro en:
/llms.txt- Archivo de navegación principal/llms-full.txt- Índice de contenido completo/sitemaps.txt- Mapa del sitio completo
Verifica tu /robots.txt para confirmar la integración.
Configuraciones
| Nombre | Valor por defecto | Descripción |
|---|---|---|
llms_txt_enabled |
true |
Habilitar o deshabilitar el plugin |
llms_txt_allow_indexing |
true |
Permitir que los rastreadores de IA accedan a los archivos llms.txt (afecta a robots.txt) |
llms_txt_blocked_user_agents |
"" |
Lista separada por comas de agentes de usuario de bots a bloquear de los archivos llms.txt |
llms_txt_intro_text |
Texto personalizado | Texto de introducción que aparece en el archivo llms.txt principal |
llms_txt_full_description |
"" |
Descripción personalizada para llms-full.txt para ayudar a la IA a entender el contexto de tu foro |
llms_txt_min_views |
50 |
Vistas mínimas de temas requeridas para inclusión en llms-full.txt |
llms_txt_posts_limit |
medium |
Límite de cantidad de temas: small (500), medium (2,500), large (5,000) o all |
llms_txt_include_excerpts |
false |
Incluir extractos de publicaciones en llms-full.txt (aumenta significativamente el tamaño del archivo) |
llms_txt_post_excerpt_length |
500 |
Longitud máxima del extracto en caracteres (100-5000) si los extractos están habilitados |
llms_txt_latest_topics_count |
50 |
Cantidad de temas más recientes a mostrar en el archivo llms.txt principal |
llms_txt_cache_minutes |
60 |
Duración de la caché en minutos para el archivo de navegación |
Notas importantes:
- Habilitar
llms_txt_include_excerptsconllms_txt_posts_limitestablecido enallpuede causar tamaños de archivo extremadamente grandes (potencialmente 10-100+ MB) y alta carga del servidor en foros grandes - Las categorías privadas se excluyen automáticamente de todos los archivos llms.txt
- Los archivos dinámicos por recurso (categorías, temas, etiquetas) no se almacenan en caché y se generan bajo demanda
- El plugin utiliza conectores de vistas para la integración con robots.txt; no es necesario editar robots.txt manualmente
Detalles técnicos
Arquitectura:
- Generación bajo demanda sin archivos pregenerados
- Caché inteligente con comprobaciones de fondo cada hora
- Consciente de permisos usando Discourse Guardian
- Filtrado de seguridad a nivel de SQL para contenido privado
- URLs canónicas en encabezados HTTP para evitar penalizaciones SEO
Rendimiento:
- Archivo de navegación almacenado en caché durante 60 minutos (configurable)
- Archivo de contenido completo generado bajo demanda
- La caché inteligente solo se regenera cuando existe contenido nuevo
- Tiempo de respuesta inferior a 50 ms para contenido en caché
Compatibilidad:
- Discourse 2.7.0+
- Ruby 2.7+
- Probado en Discourse 3.6.0.beta3
Cumplimiento de estándares:
- Estándar llms.txt (https://llmstxt.org/)
- RFC 3986 (codificación de URL para caracteres internacionales)
- RFC 6596 (Encabezados de enlace canónico)
Casos de uso
Foros comunitarios:
Tus discusiones y soluciones aparecen cuando los usuarios hacen preguntas relevantes a asistentes de IA, dirigiendo tráfico cualificado de vuelta a tu foro.
Sitios de documentación:
Los sistemas de IA pueden referenciar tu documentación y tutoriales, proporcionando información precisa con la atribución correspondiente.
Foros de soporte:
Los usuarios obtienen respuestas directas de tu base de conocimientos a través de asistentes de IA, con enlaces a discusiones completas.
Comunidades técnicas:
Los desarrolladores descubren el contenido de tu foro a través de asistentes de codificación impulsados por IA, aumentando la participación de la comunidad.
Mantenimiento
El plugin requiere un mantenimiento mínimo:
- La caché se actualiza automáticamente cada hora
- Las actualizaciones de contenido ocurren automáticamente al crear/editar publicaciones
- No se necesita generación manual de archivos
- Tareas rake opcionales disponibles:
llms_txt:refreshyllms_txt:check
Solución de problemas
Archivos no accesibles:
- Verifica que
llms_txt_enabledesté entrue - Comprueba que
llms_txt_allow_indexingesté entrue - Confirma que el plugin esté instalado en Admin → Plugins
Contenido vacío:
- Asegúrate de tener temas públicos con suficientes vistas (verifica la configuración
llms_txt_min_views) - Verifica que las categorías sean públicas (no restringidas para lectura)
- Comprueba la configuración
llms_txt_posts_limit
La integración con robots.txt no funciona:
- Borra la caché de robots.txt:
Rails.cache.delete('robots_txt') - Usa la tarea rake:
bundle exec rake llms_txt:refresh - Reinicia Discourse:
./launcher restart app
Soporte
- Problemas en GitHub: Issues · kaktaknet/discourse-llms-txt-generator · GitHub
Licencia
Licencia MIT — Software libre y de código abierto
Créditos
- Standard Answer.AI: llms.txt de Jeremy Howard (Answer.AI)
- GitHub Answer.AI: GitHub - AnswerDotAI/llms-txt: The /llms.txt file, helping language models use your website · GitHub
- Plataforma: Discourse

