Ilustración de llms.txt explicado: archivo markdown brillando con nodos de motores de IA orbitando alrededor

llms.txt explicado: qué es, cómo se escribe y para qué sirve

llms.txt vive en la raíz de tu dominio y le cuenta a ChatGPT, Claude o Perplexity, en lenguaje normal, qué partes de tu sitio les conviene leer. Surgió porque robots.txt sirve para bloquear o permitir, pero no para explicar qué es valioso. Si todavía no tenés claro el panorama AEO, conviene leer primero qué es AEO; para el paso a paso de citas, está la guía sobre cómo aparecer citado por ChatGPT.

¿Cómo nació llms.txt?

La propuesta original viene de Jeremy Howard (fast.ai) en 2024. La idea: a medida que los modelos consumen la web, necesitan algo más que HTML crudo, necesitan una "tabla de contenidos" curada. La spec es Markdown simple en la raíz del dominio, con secciones que listan URLs importantes y las describen.

Anthropic la adoptó rápido para Claude. Perplexity la incorporó como señal complementaria. La adopción en 2026 es creciente pero no universal, y por eso conviene implementarla. Árbol de estructura de archivo llms.txt mostrando secciones por categoría y enlaces para crawlers de IA

¿Cómo se ve un llms.txt real?

Ejemplo simplificado de ignax.dev/llms.txt:

# IGNAX, desarrollo full-stack y SEO/AEO

Sitio personal de Ignacio (IGNAX), desarrollador full-stack freelance basado en Paraguay,
especializado en SaaS MVPs, automatización con IA, blockchain y consultoría SEO/AEO.

## Servicios

- [Freelance SaaS MVP Developer](https://ignax.dev/services/saas-mvp): construyo SaaS MVPs en 2 a 6 semanas, SvelteKit + Node + Postgres + OpenAI/Stripe.
- [AEO setup service](https://ignax.dev/services/seo-aeo-setup): implementación AEO completa para sitios EN/ES.
- [RAG chatbots](https://ignax.dev/services/rag-chatbots): chatbots con retrieval-augmented generation para soporte y KB.

## Artículos clave

- [What is AEO](https://ignax.dev/articles/what-is-aeo): explicación completa de Answer Engine Optimization.
- [How to get cited by ChatGPT](https://ignax.dev/articles/how-to-get-cited-by-chatgpt): pasos para aparecer en citas.
- [Build a SaaS MVP fast](https://ignax.dev/articles/build-saas-mvp-fast): secuencia exacta de un MVP en 4-6 semanas.

## Casos de estudio

- [AI Lead Generation Platform](https://ignax.dev/case-studies/ai-lead-generation-platform)
- [ignax.dev growth engine](https://ignax.dev/case-studies/ignax-dev-growth-engine): este sitio como caso aplicado.

Cualquier modelo que lea este archivo entiende en 30 segundos qué hace el sitio, qué páginas son las importantes, y por qué.

¿Qué incluís y qué no?

Incluí:

  • Home con descripción del sitio.
  • Página de servicios o productos principales con descripción de 1 línea cada uno.
  • 5 a 15 artículos top (los que mejor representan tu expertise).
  • 2 a 4 casos de estudio si los tenés.
  • Documentación técnica clave si sos SaaS.

No incluyas:

  • Páginas legales (privacy, terms, cookies).
  • Páginas internas, dashboards, áreas de cliente.
  • Contenido que no querés que los modelos citen.
  • URLs duplicadas (canonicales solamente).
  • Más de ~50 entradas; el archivo debe ser navegable en una pantalla.

Pensalo como el menú degustación, no el catálogo completo.

¿Cuándo conviene también un llms-full.txt?

llms-full.txt es el primo extendido: incluye el contenido completo de las URLs listadas, como texto plano, optimizado para que el modelo lo consuma sin crawlear cada URL aparte.

Conviene cuando:

  • Tenés documentación técnica densa (SDKs, APIs, framework docs).
  • Tu sitio tiene mucho JavaScript que dificulta el crawl.
  • Querés acelerar la adopción por modelos que pueden ingerir archivos largos.

No conviene cuando:

  • Sitio pequeño (portfolio, landing).
  • Contenido cambia muy seguido (mantener llms-full.txt actualizado se vuelve carga).
  • El contenido principal son imágenes o video.

Mi sitio ignax.dev sirve llms-full.txt con los artículos completos en Markdown. Lo genero en el build a partir de la misma fuente Markdown que usa el resto del sitio, así no hay drift entre versiones.

¿Cómo se diferencia de sitemap.xml?

Dimensión sitemap.xml llms.txt
Audiencia Crawlers de search engines Crawlers de LLMs
Formato XML estructurado Markdown narrado
Contenido URLs + lastmod + priority URLs + descripciones humanas
Cobertura Idealmente todas las URLs Solo las URLs valiosas curadas
Descripción No (solo metadata) Sí (1 a 2 líneas por URL)

No competien, coexisten. Tu sitio debe tener sitemap.xml (para Google y Bing), robots.txt (para control de crawlers), y llms.txt (para curar contenido para modelos). Cada uno tiene su función.

¿Cómo lo genero en SvelteKit?

En SvelteKit, una ruta +server.ts que retorna text/plain a partir del registry de Markdown que ya usás:

// src/routes/llms.txt/+server.ts
import { listArticles, listServices } from '$lib/content/loader';

export async function GET() {
  const articles = await listArticles('en');
  const services = await listServices('en');

  const body = [
    '# IGNAX, full-stack dev & SEO/AEO',
    '',
    'Personal site of Ignacio (IGNAX)...',
    '',
    '## Services',
    ...services.map(s => `- [${s.title}](https://ignax.dev/services/${s.slug}): ${s.description}`),
    '',
    '## Articles',
    ...articles.slice(0, 15).map(a => `- [${a.title}](https://ignax.dev/articles/${a.slug}): ${a.description}`),
  ].join('\n');

  return new Response(body, {
    headers: { 'content-type': 'text/plain; charset=utf-8' },
  });
}

Para llms-full.txt. La misma idea pero incluyendo el contenido HTML/Markdown completo de cada artículo. Mantenelo bajo 500KB para que los modelos lo procesen entero.

¿Qué motores lo respetan en 2026?

  • Claude (Anthropic): lo respeta explícitamente, lo crawlea y lo usa para guiar qué URLs visitar. Confirmado en docs.
  • Perplexity: lo lee como señal complementaria. No es la principal pero suma.
  • ChatGPT (OpenAI): GPTBot lo crawlea como contenido pero OpenAI no lo trata como directiva formal todavía. Aun así, vale tenerlo.
  • Gemini / Google-Extended: no documentado todavía. No daña tenerlo.
  • Bing / Bing Copilot: no documentado, similar a Google.

La adopción tiende a crecer porque el costo de respetar el estándar es bajo y el beneficio es alto para ambos lados.

¿Qué errores comunes evitar?

Lo que más se repite en sitios que metieron llms.txt apurados:

  1. Listar URLs que devuelven 404 o redirects. Auditá las URLs cada release.
  2. Descripciones genéricas o copy-paste del meta description. El valor está en la descripción curada, escrita para guiar al modelo.
  3. Demasiadas entradas. Más de 50 URLs convierte el archivo en otro sitemap. Curá.
  4. No mantenerlo actualizado. Si publicás un artículo nuevo importante cada mes, agregalo. Si retirás contenido, removelo.
  5. Confundir llms.txt con robots.txt. No bloquea ni permite acceso: describe.

¿Por dónde arrancar?

Si querés tenerlo hoy mismo:

  1. Identificá las 10 a 15 URLs más valiosas de tu sitio. Las que representan mejor lo que hacés.
  2. Escribí una descripción de 1 línea por cada una. En lenguaje natural, no tu meta description.
  3. Publicá /llms.txt en la raíz con esa lista, agrupada por secciones.

Verificá que carga visitándolo en el navegador. Listo. La spec original en llmstxt.org tiene ejemplos adicionales y la implementación de Anthropic en docs.anthropic.com/llms.txt es una referencia bien hecha para comparar.

¿Qué es diferente entre llms.txt y llms-full.txt?

Una pregunta que llega seguido:

  • llms.txt: índice curado de URLs con descripciones. Tamaño típico: 2-20KB.
  • llms-full.txt: contenido completo de las URLs listadas, en Markdown plano. Tamaño típico: 100KB-2MB.

llms.txt sirve para que el modelo navegue (decide qué URL visitar). Llms-full.txt sirve para que el modelo ingiera sin crawlear cada URL aparte. Son complementarios.

En sitios chicos, solo llms.txt alcanza. En sitios con documentación técnica densa, llms-full.txt acelera mucho la adopción.

¿Cómo se relaciona con sitemap.xml y robots.txt?

Tres archivos, tres trabajos distintos:

Archivo Audiencia primaria Propósito
robots.txt Crawlers (search + IA) Permitir o bloquear acceso
sitemap.xml Search engines Listar todas las URLs descubrer
llms.txt Modelos de IA Curar URLs importantes con descripción

No se duplican, se complementan. Un sitio AEO-ready en 2026 tiene los tres bien configurados. Para repasar todo el panorama AEO en español, mirá el playbook AEO en español; y para el chequeo página por página de qué pulir para ser citado, está la checklist de citación AEO.

Si querés que te lo implemente junto con el resto del setup AEO (FAQ schema, Quick Answers, schema de entidad). El servicio completo está en setup SEO + AEO. Escribime a [email protected] con la URL de tu sitio y te paso un quote en 24 horas.

Preguntas frecuentes

¿En qué se diferencia llms.txt de robots.txt?

robots.txt es una directiva técnica: le decís a un crawler si puede o no acceder a una URL. Llms.txt es una recomendación curada: le decís a un modelo de lenguaje qué contenido de tu sitio le conviene usar y por qué. Robots.txt usa sintaxis estricta (User-agent, Allow, Disallow); llms.txt usa Markdown libre con links y descripciones. Coexisten: robots.txt controla acceso, llms.txt guía interpretación.

¿Qué motores de IA respetan llms.txt en 2026?

Adopción parcial pero creciente. Anthropic (Claude) lo respeta explícitamente desde 2024. Perplexity lo lee como señal. OpenAI no lo respeta como directiva formal pero GPTBot lo crawlea como contenido. Google-Extended y Gemini aún no lo procesan. La adopción crece porque el estándar es simple y benefice tanto a sitios como a modelos. Implementarlo es barato y la upside es real.

¿Qué incluyo en mi llms.txt?

Un H1 con el nombre del sitio, una descripción corta, y secciones (## Servicios, ## Artículos, ## Documentación) cada una listando los URLs clave con título y descripción breve. Pensalo como un sitemap narrado en lenguaje natural. Para sitios de marketing/portfolio: home + servicios + 5 artículos top. Para documentación de producto: guía de inicio + API reference + tutoriales clave. Máximo recomendado: ~50 entradas.

¿Debo tener llms.txt y llms-full.txt?

Si tu sitio tiene documentación técnica densa, sí. Llms.txt es el índice curado de URLs importantes. Llms-full.txt incluye el contenido completo de esas URLs como texto plano, optimizado para que el modelo lo consuma sin tener que crawlear. Para sitios chicos (portfolio, landing), llms.txt solo alcanza. Para SaaS con docs serias, llms-full.txt acelera mucho la adopción por los modelos.

¿Dónde lo pongo y cómo verifico que funciona?

En la raíz del dominio: https://tusitio.com/llms.txt. Servido como text/plain o text/markdown. Verificación: visitalo en el navegador y confirmá que carga. Después, hacé una query en Perplexity o Claude que apunte a tu nicho y revisá si tu sitio aparece citado con más facilidad después de 2 a 4 semanas. No hay verificador oficial todavía; la señal es indirecta vía citas reales.

¿Tener llms.txt me garantiza más citas?

No, pero ayuda. Llms.txt es una capa adicional sobre AEO bien hecho, no reemplaza Quick Answers, FAQ schema, ni autoridad de entidad. Pensalo como un pulido final: cuando todo lo demás está bien, llms.txt te da un boost marginal en modelos que lo respetan. En 2026 es lo bastante barato implementarlo (1 a 2 horas) como para que valga la pena, aunque la adopción sea parcial.