Generar y validar llms.txt
WebTodo se ejecuta en tu navegador: no se sube nada
`llms.txt` es un archivo Markdown en la raíz de tu sitio que dice a un gran modelo de lenguaje qué es el sitio y qué páginas merece la pena leer, con una estructura corta y fija: `# Nombre del sitio`, `> resumen en una línea`, y luego varias `## Secciones`, cada una con una lista de `- [Título](https://example.com): nota`. Esta herramienta no adivina qué contiene tu sitio. La lista de enlaces la pones tú: «generar» la estructura del sitio con un modelo tiene un único resultado: inventa URL que no existen, y luego esos archivos los leen como hechos los rastreadores y los modelos. Así que aquí se ordena tu lista según la especificación y se valida punto por punto. La validación importa más que el orden. Un llms.txt mal formado no da error en ningún sitio: los navegadores lo ignoran, los buscadores lo ignoran, y solo el modelo que lo lee recibe en silencio menos de lo que pretendías. Por eso se avisa de un nombre de sitio ausente, un resumen ausente, un enlace que no es absoluto (un modelo no tiene dominio contra el que resolverlo), una URL repetida o una sección sin ningún enlace debajo. También existe `llms-full.txt`: el mismo formato, pero con el contenido de cada página incluido. Eso exige pedir tus páginas, y esta herramienta no hace peticiones de red, así que no lo hace; concatena tú el texto si lo necesitas. ⚠️ llms.txt y robots.txt no son la misma clase de archivo; mira las preguntas frecuentes.
Funciones
- Ordena un nombre de sitio, un resumen y una lista de enlaces en un llms.txt conforme a la especificación
- Conserva una sección `## Optional` según la especificación: marca lo que se puede omitir cuando falta espacio
- Informa de problemas de estructura: sin nombre de sitio / sin resumen / sin ningún enlace
- ⚠️ Señala los enlaces que no son absolutos: quien lee es un modelo, sin dominio contra el que resolverlos
- Informa de URL repetidas y de secciones que no tienen ningún enlace debajo
- Deduce un título a partir de la dirección para los enlaces que no lo traen (`/blog/how-to-ship` → `How To Ship`), y lo dice, para que lo compruebes
- Acepta varias formas comunes: `Título | url`, `url | nota`, o un `[Título](https://example.com)` ya formado
- El informe va envuelto en un comentario, así que pegarlo en el archivo no afecta al análisis
- No se sube nada ni interviene ningún servidor
Cómo se usa
- Escribe el nombre del sitio en la primera línea (`# Nombre`, o solo una línea) y un `> resumen` en la segunda
- Separa con encabezados `## Sección`, un enlace por línea debajo de cada uno
- Un enlace puede ser solo una URL, o `Título | url | nota`
- El resultado se actualiza mientras escribes; el comentario final lista lo que conviene corregir
Preguntas frecuentes
- ¿En qué se diferencia llms.txt de robots.txt?
- Dos cosas por completo distintas. `robots.txt` es un archivo de permiso para rastreadores: qué rutas se pueden pedir y qué no, la postura de un sitio ante el acceso automatizado. `llms.txt` es una guía de lectura para modelos que consumen contenido: qué es el sitio y qué páginas merece la pena leer, una lista de recomendaciones. Uno dice «puedes o no puedes venir aquí», el otro «empieza por estas». Están en la misma raíz, no se afectan entre sí y ninguno necesita al otro.
- ¿Por qué no generarlo automáticamente?
- Porque tendría que inventar cosas. Para producir «automáticamente» una lista de enlaces, la herramienta necesitaría saber qué páginas tiene tu sitio, y como no hace peticiones de red, solo podría adivinarlo a partir del nombre. Las URL adivinadas son falsas, y el propósito del archivo es precisamente que se lea como un hecho: un llms.txt de 20 enlaces con 8 muertos es mucho peor que una lista escrita a mano de 12 que son correctos. Así que aquí se ordena y se valida: el contenido es tuyo, y la herramienta lo ajusta a la especificación y señala los problemas.
- ¿Por qué los enlaces deben ser absolutos?
- Porque quien lee es un modelo, no un navegador. Un navegador que ve `/tool/json-format` sabe anteponer el dominio actual; un modelo recibe un texto desligado del sitio, sin noción de «el dominio actual», así que solo puede copiar el fragmento y el enlace queda muerto. Una URL relativa en llms.txt es como no poner nada, así que esos se listan uno a uno.
- ¿Para qué sirve la sección `## Optional`?
- Es una convención de la especificación: el contenido de esa sección se puede omitir cuando falta espacio. Su propósito es dar al modelo algo que sacrificar cuando su contexto va justo: las páginas centrales van en las secciones de arriba, y las que suman pero no son imprescindibles (páginas «acerca de», registros de cambios, enlaces de suscripción) van aquí. Así que no pongas nada importante en ella; es su única función.
Herramientas relacionadas
Generador de robots.txt
WebGenera un robots.txt: permitir todo, bloquear los rastreadores de IA, bloquear todo o una lista propia, con rutas, Sitemap y Crawl-delay.
Previsualizar Markdown
TextoEscribe Markdown a la izquierda y velo renderizado a la derecha: anclas, índice y bloques de código coloreados. El HTML pegado sigue siendo texto.
HTML a Markdown
TextoConvierte HTML a Markdown: títulos, listas, tablas, enlaces, imágenes y bloques de código al estilo de GitHub, escapando los caracteres de sintaxis.
Analizador de URL
WebDescompone una URL en esquema, host, puerto, ruta, parámetros y ancla, con cada parámetro en crudo y decodificado. Todo en tu navegador.
Analizador de UA
WebAnaliza un User-Agent: navegador, versión, sistema, tipo de dispositivo y motor, con las reglas que coinciden. Solo coincidencia de patrones.
Códigos de estado HTTP
WebConsulta un código de estado HTTP: significado, clase 1xx–5xx, usos típicos y trampas habituales. También busca por palabra clave. Todo local.