Alejandro Rioja.
GEO SEO

llms.txt Explicado: ¿Realmente Mueve las Citas en IA?

Alejandro Rioja
Alejandro Rioja
7 min de lectura
TL;DR

llms.txt es un archivo de texto plano en yoursite.com/llms.txt que indica a los crawlers de IA qué páginas priorizar. Perplexity lo lee activamente; ChatGPT y Bing Copilot probablemente aún no. Tarda 20 minutos en implementar y no cuesta nada — hazlo, pero no esperes un pico de citas la próxima semana.

Newsletter gratuita

Cada miércoles. 28.400+ operadores. Sin relleno.

Tabla de contenidos

Actualizado mayo 2026.

TL;DR: llms.txt es un archivo de texto plano en yoursite.com/llms.txt que indica a los crawlers de IA qué páginas priorizar. Perplexity lo lee activamente; ChatGPT y Bing Copilot probablemente aún no. Tarda 20 minutos en implementar y no cuesta nada — hazlo, pero no esperes un pico de citas la próxima semana.

[Perspectiva del operador] Ejecuto agentes de IA que monitorean cómo mis sitios son citados en Perplexity, ChatGPT y Google SGE. llms.txt es la primera capa de señales que realmente te pertenece — esto es lo que muestran los datos hasta ahora.

Qué es realmente llms.txt

Piénsalo como un robots.txt para crawlers de IA, pero invertido. robots.txt dice “no rastrear esto.” llms.txt dice “cuando construyas contexto sobre mi sitio, esto es lo más importante.”

La especificación fue propuesta a finales de 2024 por Jeremy Howard (de fast.ai). La idea: poner un archivo en yoursite.com/llms.txt que liste tus páginas más importantes en Markdown plano. Un crawler de IA que raspa tu sitio para obtener contexto puede leer ese archivo y saber inmediatamente qué priorizar — en lugar de adivinar por PageRank o profundidad de rastreo.

También existe una variante opcional llms-full.txt que incluye el texto completo de tus páginas clave concatenadas en un solo documento. Algunos crawlers prefieren ese formato porque reduce las solicitudes adicionales.

Ningún archivo es aún un estándar W3C. Es una propuesta comunitaria con adopción creciente entre fundadores técnicos y equipos de contenido.

Cómo luce el archivo

Aquí está el llms.txt que uso para alejandrorioja.com:

markdown
# Alejandro Rioja

> Operador, consultor de IA y fundador de Pickleland. Escribo sobre GEO, agentes de IA y crecimiento para fundadores.

## Páginas principales

- [Sobre mí](https://alejandrorioja.com/about/): Antecedentes, servicios de consultoría y cómo trabajar conmigo.
- [Blog](https://alejandrorioja.com/blog/): Todos los artículos sobre GEO, SEO, agentes de IA y crecimiento para fundadores.
- [Consultoría](https://alejandrorioja.com/consultation/30/): Reserva una sesión de 30 minutos de pago.

## Artículos destacados

- [Cómo aparecer citado en ChatGPT](https://alejandrorioja.com/blog/how-to-get-cited-in-chatgpt-answers/): El manual GEO que uso en sitios de clientes.
- [Arquitectura de agentes de IA para fundadores](https://alejandrorioja.com/blog/ai-agent-architecture-for-founders/): Cómo diseñar sistemas multiagente sin un equipo de ingeniería completo.
- [GEO vs SEO](https://alejandrorioja.com/blog/geo-vs-seo/): Qué cambia cuando Google ya no es el único motor de búsqueda que importa.

## Opcional: ignorar

- /drafts/
- /admin/

Algunas cosas a notar:

Qué motores de IA realmente lo leen

Aquí es donde debo ser honesto: el panorama está fragmentado y parcialmente indocumentado.

Perplexity — Sí, confirmado. El crawler de Perplexity (PerplexityBot) lee llms.txt cuando indexa sitios. Su equipo de ingeniería ha referenciado la especificación públicamente. Si Perplexity es una fuente de referencia significativa para ti, implementar llms.txt tiene un camino claro hacia el impacto.

ChatGPT / OpenAI — No confirmado. El crawler de OpenAI (GPTBot) no parece leer llms.txt a mediados de 2026. Su comportamiento de rastreo está gobernado por robots.txt y su propia priorización interna. No hay declaración pública de OpenAI reconociendo la especificación.

Bing Copilot / Microsoft — No confirmado. Situación similar a OpenAI. El crawler de IA de Bing (BingBot) sigue robots.txt pero no hay señal de que lea llms.txt.

Google AI Overviews / Gemini — No confirmado. Google tiene su propio ecosistema de datos estructurados (schema.org, sitemaps) y no ha indicado que adoptará especificaciones de terceros.

Anthropic — El crawler de Anthropic (ClaudeBot) rastrea la web para datos de entrenamiento. No hay documentación pública de que lea llms.txt, pero varios practicantes de GEO reportan mejores citas de Claude después de implementarlo. Correlación, no causalidad — pero vale la pena notar.

Motores de búsqueda de IA más pequeños — You.com, Phind y varias herramientas de búsqueda de IA vertical han declarado o insinuado que leen llms.txt. La especificación es más fácil de adoptar para equipos pequeños porque no tienen años de infraestructura de rastreo que refactorizar.

El resumen honesto: ahora mismo, llms.txt es una optimización de Perplexity con algún beneficio especulativo en otros lugares. Esa proporción probablemente cambiará a medida que la especificación madure.

Cómo implementarlo en 20 minutos

Si estás en un sitio estático (Astro, Next.js con exportación estática, Hugo, etc.), crea el archivo en public/llms.txt. Se servirá en la raíz.

Para un sitio de Next.js con app router, puedes generarlo dinámicamente:

ts
// app/llms.txt/route.ts
import { allPosts } from "@/lib/content";

export async function GET() {
  const topPosts = allPosts
    .filter((p) => p.featured || p.views > 1000)
    .slice(0, 10);

  const lines = [
    "# Alejandro Rioja",
    "",
    "> Operador, consultor de IA, fundador de Pickleland. Escribo sobre GEO, agentes de IA y crecimiento para fundadores.",
    "",
    "## Artículos destacados",
    "",
    ...topPosts.map(
      (p) => `- [${p.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.description}`
    ),
    "",
    "## Páginas principales",
    "",
    "- [Sobre mí](https://alejandrorioja.com/about/): Servicios y antecedentes.",
    "- [Consultoría](https://alejandrorioja.com/consultation/30/): Reserva una sesión.",
  ];

  return new Response(lines.join("\n"), {
    headers: { "Content-Type": "text/plain; charset=utf-8" },
  });
}

Para un sitio de Astro, el equivalente es un endpoint .txt.ts en src/pages/:

ts
// src/pages/llms.txt.ts
import type { APIRoute } from "astro";
import { getCollection } from "astro:content";

export const GET: APIRoute = async () => {
  const posts = await getCollection("posts", (p) => p.data.lang === "en");
  const top = posts
    .sort((a, b) => b.data.pubDate.valueOf() - a.data.pubDate.valueOf())
    .slice(0, 10);

  const body = [
    "# Alejandro Rioja",
    "",
    "> Consultor de IA y operador. Escribo sobre GEO, agentes de IA y crecimiento para fundadores.",
    "",
    "## Artículos recientes",
    "",
    ...top.map(
      (p) =>
        `- [${p.data.title}](https://alejandrorioja.com/blog/${p.slug}/): ${p.data.description}`
    ),
  ].join("\n");

  return new Response(body, {
    headers: { "Content-Type": "text/plain; charset=utf-8" },
  });
};

Después de desplegar, verifica en curl -s https://yoursite.com/llms.txt. Si ves Markdown, terminaste.

¿Deberías también crear llms-full.txt?

Tal vez. llms-full.txt es un volcado concatenado de tus páginas clave — título, URL y texto completo del cuerpo, una página tras otra, separadas por ---. La idea es que un crawler puede obtener todo en una sola solicitud y tener suficiente contexto para responder preguntas sobre tu sitio sin rastrear páginas individuales.

La desventaja: es un archivo grande. El mío tiene unos 400KB para los 30 mejores artículos. Algunos crawlers pueden agotar el tiempo de espera o truncarlo. Otros pueden ponderarlo más porque el contenido está pre-digerido.

Mi enfoque actual: genero llms-full.txt pero lo limito a los 15 artículos de mejor rendimiento por tráfico. Lo mantengo por debajo de 250KB. Regenero en cada despliegue.

Lo que muestran los datos realmente

He estado monitoreando las citas de Perplexity para este sitio y tres sitios de clientes desde enero de 2026. Esto es lo que he observado:

La interpretación honesta: llms.txt probablemente ayuda con Perplexity. El mecanismo es claro — Perplexity lo lee. Si el aumento es específicamente de llms.txt o de las mejoras generales de GEO que tienden a acompañarlo, aún no puedo decirlo.

Qué poner en la cita en bloque

La descripción de una línea en la cita en bloque es la parte en la que yo gastaría más tiempo. Este es el texto que un LLM usará para resumir quién eres en un contexto RAG. Necesita ser:

Malo: > Ayudando a empresas a crecer con IA.

Mejor: > Alejandro Rioja — consultor de IA en Austin TX, fundador de Pickleland, escribiendo sobre GEO, agentes de IA y crecimiento para fundadores desde 2019.

La conclusión del operador

llms.txt tarda 20 minutos en implementar, no cuesta nada servir y tiene una ruta de lectura confirmada con Perplexity. Hazlo. La especificación o bien se convierte en un estándar real (en cuyo caso los que lo adoptan temprano ganan) o desaparece (en cuyo caso has perdido 20 minutos). La asimetría es obvia. Solo no dejes que te distraiga del trabajo GEO de mayor ROI: datos estructurados, señales de entidad claras y respuestas formateadas para la extracción de fragmentos. Esas mueven todos los motores de IA. llms.txt actualmente mueve uno.

Seguir leyendo

Recibe el manual de IA en tu buzón

Cada miércoles. 28.400+ operadores. Sin relleno.

↵ para ver todos los resultados esc esc para cerrar