Respuesta rápida
¿Cómo genero un archivo llms.txt para mi sitio web?
Rastrea tu propio sitio, toma el título y el primer párrafo de cada página y escríbelos como una lista Markdown bajo el nombre de tu sitio en un archivo en /llms.txt. WebReaderAPI hace el rastreo: hasta 10 000 páginas por tarea, como Markdown con metadatos, a un crédito por página desde 0,07 US$/1K páginas a fecha de octubre de 2026. El script de Python de abajo escribe el archivo. Sin KYC; paga con criptomonedas.
llms.txt en breve
| Qué es | Un archivo Markdown propuesto en la raíz de un sitio que lista sus páginas clave para los modelos de lenguaje |
|---|---|
| Adopción, 1000 sitios principales | 9,3 % (93 sitios) el 18 de septiembre de 2026, según Rankability |
| Sitios con el archivo | De 4.088 a 36.120 entre junio de 2025 y mayo de 2026, según Originality.ai |
| Uso medido | El 97% de los archivos llms.txt no recibió ninguna solicitud en un estudio de Ahrefs sobre 137.000 dominios |
| Coste de crear con WebReaderAPI | Un crédito por página rastreada; 10.000 páginas coste 3,75 US$ |
¿Vale la pena crear llms.txt?
Es barato de crear y su efecto medido hasta ahora es pequeño. La adopción está aumentando: Rankability encontró el archivo en el 9,3% de los 1.000 sitios principales el 18 de septiembre de 2026, frente al 0,3% en junio de 2025, aunque su método cambió entre los dos recuentos. Originality.ai contó sitios con el archivo creciendo de 4.088 a 36.120 entre junio de 2025 y mayo de 2026.
El uso es otra cosa. Un estudio de Ahrefs sobre 137.000 dominios, publicado por PPC Land el 2 de julio de 2026, encontró que el 97% de los archivos llms.txt no recibió ninguna solicitud, y que los bots de recuperación de IA realizaron el 1,1% de las solicitudes que sí recibieron los archivos. Crea uno si tu documentación es extensa y quieres un índice limpio; no esperes que por sí solo cambie cómo te citan los asistentes.
¿Qué contiene un archivo llms.txt?
Un título, un resumen de un párrafo y luego listas agrupadas de enlaces con una breve descripción cada uno. Un archivo mínimo se ve así:
# Example Docsen la primera línea, el nombre del sitio o proyecto.> One sentence on what the site covers.como resumen entre comillas.## Guides,## API referencey otras secciones, una por cada parte del sitio.- [Page title](https://example.com/page): one line on what the page answers.para cada página.
Mantén las descripciones fácticas y breves. No escribas instrucciones para sistemas de IA en el archivo; los asistentes cada vez tratan ese texto como manipulación.
import os
import time
from collections import defaultdict
from urllib.parse import urlparse
import requests
API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
SITE = "https://docs.example.com/"
def first_paragraph(markdown):
for block in markdown.split("\n\n"):
block = block.strip()
if block and not block.startswith(("#", "-", "|", "!", ">")):
return " ".join(block.split())[:160]
return ""
job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json()
pages, cursor, delay = [], None, 5
while True:
params = {"cursor": cursor} if cursor else {}
batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
pages += [p for p in batch.get("results", []) if "markdown" in p]
cursor = batch.get("next_cursor")
if batch["status"] == "done" and not cursor:
break
if not cursor:
time.sleep(delay)
delay = min(delay * 2, 60)
sections = defaultdict(list)
for p in pages:
path = urlparse(p["final_url"]).path.strip("/")
section = path.split("/")[0].replace("-", " ").title() if path else "Home"
summary = p.get("description") or first_paragraph(p["markdown"])
sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary)
lines = ["# Example Docs", "", "> Documentation for the Example product.", ""]
for name in sorted(sections):
lines += ["## " + name, ""] + sorted(sections[name]) + [""]
with open("llms.txt", "w", encoding="utf-8") as fh:
fh.write("\n".join(lines))
print(len(pages), "pages written to llms.txt")
¿Cómo funciona el script?
Inicia un trabajo de rastreo, recopila los resultados página por página y luego agrupa las páginas por la primera carpeta de su ruta. Para cada página usa la meta descripción cuando el sitio la proporciona y, si no, el primer párrafo del Markdown, cortado a 160 caracteres.
Cambia SITE, la línea del título y la línea del resumen para que coincidan con tu proyecto, y aumenta limit para un sitio más grande, hasta 10.000 páginas por trabajo. Revisa la salida antes de publicarla: los nombres de las secciones provienen de la estructura de tus URL y pueden necesitar un toque humano.
¿Mi robots.txt debe permitir el rastreo?
Sí. WebReaderAPI solo lee lo que robots.txt permite para WebReaderAPI o para todos los robots, y espera cualquier Crawl-delay que configures. Si tu propio sitio bloquea a los robots, añade un grupo que permita nuestro token durante el tiempo del rastreo; nuestra página del rastreador muestra las líneas exactas.
Las páginas que robots.txt no permite se omiten y no se cobran, así que un archivo estricto no te cuesta nada extra; solo deja esas páginas fuera de llms.txt.
¿Cuánto cuesta?
Un crédito por página leída, dos para páginas que necesitan un navegador. Un sitio de documentación de 300 páginas cuesta 300 créditos, o hasta 600 si es una aplicación JavaScript. Eso cabe fácilmente en 10.000 páginas por 3,75 US$, a octubre de 2026, y los créditos sobrantes se quedan en tu cuenta: nunca caducan.
Vuelve a generar el archivo cuando tu documentación cambie. Si guardas la salida del rastreo, puedes volver a leer solo las páginas modificadas con un trabajo por lotes en lugar de rastrear todo de nuevo.
llms.txt: preguntas frecuentes
¿Dónde coloco el archivo llms.txt?
En la raíz de tu sitio, para que se sirva en /llms.txt, como texto plano o Markdown. Algunos sitios también publican llms-full.txt con el texto completo de las páginas listadas.
¿Reemplaza llms.txt a robots.txt?
No. robots.txt indica qué rutas deben omitir los robots; llms.txt enumera las páginas que quieres que los modelos encuentren. Mantén ambos. Nuestra guía de robots.txt explica la diferencia.
¿Hará llms.txt que ChatGPT o Claude citen mi sitio?
No hay evidencia de que lo haga por sí solo. El estudio de Ahrefs publicado en julio de 2026 encontró que el 97% de los archivos no recibió ninguna solicitud. Las páginas claras con respuestas directas y datos fechados importan más.
¿Puedo generar llms.txt para el sitio de otra persona?
Solo para tus propios sitios o con el acuerdo del propietario. El archivo representa al sitio, por lo que corresponde al propietario publicarlo.
Fuentes (2)
- Datos de adopción de llms.txt — Rankability (2026-09-18)
- La adopción de llms.txt se multiplica por 8,8 pero el 97% de los archivos no recibe ninguna solicitud de IA — PPC Land (2026-07-02)