← Volver al blog

Cómo crear un llms.txt que pase Lighthouse (navegación agéntica)

6 min de lectura

Lighthouse incorporó la categoría Agentic Browsing (navegación agéntica): PageSpeed y Chrome evalúan si tu sitio está preparado para que agentes e IAs lo entiendan y naveguen, no solo para que Google lo indexe. Una de las comprobaciones clave es /llms.txt: un resumen en Markdown en la raíz del dominio.

El problema: mucha gente crea el archivo, ve que "existe" y aun así falla el audit. Lighthouse no hace ping: lee el contenido y exige formato concreto. En esta guía verás cómo montar un llms.txt que pase "llms.txt follows recommendations" y te acerque al score perfecto en navegación agéntica —con ejemplo real en marcosamplina.com/llms.txt.

Auditoría Agentic Browsing de Lighthouse con score perfecto en PageSpeed Insights.

Qué es Agentic Browsing en PageSpeed (y por qué importa)

Agentic browsing es la categoría de Lighthouse que mide si un agente (IA, asistente, bot con capacidad de acción) puede:

  • Entender de qué va el sitio sin rastrearlo entero
  • Identificar elementos interactivos (árbol de accesibilidad)
  • Interactuar sin que el layout se mueva (CLS)
  • (Opcional/informativo) Descubrir herramientas WebMCP

El audit llms-txt entra en el primer bloque: un mapa curado para modelos de lenguaje, inspirado en llmstxt.org.

SituaciónResultado en Lighthouse
No hay /llms.txt (404)N/A — no penaliza
Hay archivo pero devuelve 5xxFail
Hay archivo 200 pero formato malFail — "does not follow recommendations"
Archivo 200 con H1 + enlace Markdown + >50 charsPass

Publicar un llms.txt mal hecho es peor que no publicarlo. Si lo haces, hazlo bien.

Requisitos de Lighthouse para pasar el audit (checklist)

Estos son los checks que Lighthouse aplica con regex (no un parser Markdown completo):

  1. H1 obligatorio — una línea que empiece exactamente por # (almohadilla + espacio).
  2. Al menos un enlace Markdown — formato [texto visible](https://url-absoluta).
  3. Longitud mínima — más de 50 caracteres en el cuerpo.
  4. HTTP correcto — respuesta 200 (o <400 con cuerpo); sin 500.

La especificación llms.txt pide además (buena práctica y parsers más estrictos):

  • Blockquote justo después del H1: > resumen en una línea
  • Secciones H2 con listas de enlaces
  • URLs absolutas (https://tudominio.com/ruta)
  • Sección Optional para enlaces secundarios
  • Archivo < 20 KB (recomendado)

Errores que ves en PageSpeed y cómo arreglarlos

Mensaje LighthouseCausa habitualSolución
File is missing a required H1 headerSin # Título en la primera cabeceraAñade # Nombre del sitio en la línea 1
File does not appear to contain any linksURLs sueltas o listas sin []( )Usa - [Inicio](https://ejemplo.com/)
File is suspiciously shortArchivo vacío o placeholderEscribe resumen + al menos un enlace útil
Server error (5xx)Ruta mal configurada en hostingComprueba deploy y route handler

Plantilla mínima que pasa Lighthouse (y es útil para agentes)

Copia y adapta. Sustituye dominio, textos y enlaces:

markdown
# Nombre de tu sitio o proyecto

> Una frase que resume qué ofrece el sitio y a quién va dirigido.

Contexto opcional: idioma, autor, tipo de contenido.

## Páginas principales

- [Inicio](https://ejemplo.com/): Descripción breve de la home.
- [Documentación](https://ejemplo.com/docs): Guías y referencia técnica.

## Optional

- [Contacto](https://ejemplo.com/contacto): Formulario o email de soporte.

Lo que NO pasa el audit:

markdown
# Mi sitio

Home: https://ejemplo.com/
Docs: https://ejemplo.com/docs

Sin corchetes y paréntesis, Lighthouse no detecta enlaces.

Plantilla recomendada (spec llmstxt.org completa)

Para agentes reales —no solo marcar verde en PageSpeed— estructura así:

markdown
# Mi Producto

> API y panel para equipos de marketing que automatizan reporting SEO.

Versión estable 2.x. Documentación en inglés y español.

## Docs

- [Quickstart](https://ejemplo.com/docs/quickstart.md): Primeros pasos en 10 minutos.
- [API Reference](https://ejemplo.com/docs/api): Endpoints y autenticación.

## Examples

- [Dashboard demo](https://ejemplo.com/demo): Flujo completo con datos de ejemplo.

## Optional

- [Changelog](https://ejemplo.com/changelog): Historial de versiones.

Reglas de oro:

  • Un enlace por línea en listas con viñeta -
  • Descripción tras dos puntos tras el enlace (opcional pero muy útil)
  • Optional = contenido que un agente puede omitir si necesita contexto corto

Cómo implementarlo en producción

Opción A: archivo estático (public/llms.txt)

En Next.js, coloca el archivo en public/llms.txt. Se sirve en /llms.txt automáticamente.

Ventaja: simple. Inconveniente: hay que actualizarlo a mano cuando cambien URLs o posts.

Opción B: generación dinámica (recomendada en blogs)

Route handler en src/app/llms.txt/route.ts:

typescript
import { generateLlmsTxt } from "@/lib/llms-txt";

export const dynamic = "force-static";

export function GET() {
  return new Response(generateLlmsTxt(), {
    headers: {
      "Content-Type": "text/plain; charset=utf-8",
      "Cache-Control": "public, max-age=3600, s-maxage=86400",
    },
  });
}

Un módulo generateLlmsTxt() puede leer posts, docs o rutas y volcar enlaces absolutos. Así el archivo nunca se queda obsoleto tras un deploy.

En este sitio puedes ver el resultado en vivo: https://marcosamplina.com/llms.txt.

Cómo validar antes de dar por bueno

1. cURL — headers y cuerpo

bash
curl -sI https://tudominio.com/llms.txt | grep -i content-type
curl -sL https://tudominio.com/llms.txt | head -20

Debe verse text/plain y un # Título en la primera línea significativa.

2. Lighthouse CLI

bash
npx lighthouse https://tudominio.com --only-categories=agentic-browsing --view

(Necesitas Lighthouse 13.3+ con la categoría habilitada.)

3. Chrome DevTools

DevTools → Lighthouse → marca Agentic Browsing → Analyze. Revisa que llms.txt esté en verde.

Score perfecto en Agentic Browsing: más allá del llms.txt

Pasar llms-txt es una pieza. La categoría completa también mira:

AuditQué hacer
agent-accessibility-treeHTML semántico, labels en formularios, botones con nombre accesible
cumulative-layout-shiftReserva espacio para imágenes/fuentes; evita inserts que muevan botones —ver Core Web Vitals
webmcp-* (informativos)WebMCP para exponer acciones a agentes; aún emergente

Un llms.txt perfecto no compensa un sitio ilegible para agentes o con layout inestable. Piensa en los tres pilares: mapa (llms.txt), accesibilidad del DOM y estabilidad visual.

llms.txt vs robots.txt vs sitemap.xml

ArchivoPara quiénFunción
robots.txtCrawlersQué pueden rastrear
sitemap.xmlMotores de búsquedaListado de URLs indexables
llms.txtLLMs y agentesResumen curado y enlaces clave

No sustituyen al otro. Conviven: robots permite, sitemap lista, llms.txt explica.

Relación con SEO, GEO y tu estrategia de contenido

llms.txt no te hace rankear solo. Pero encaja con cómo aparecer en resultados de IA y con SEO técnico de indexación: mismo criterio de claridad, URLs canónicas y estructura entendible por máquinas.

Úsalo para:

  • Documentación y SaaS (onboarding de agentes)
  • Blogs con muchas guías (índice temático)
  • Sitios donde quieres señal de madurez técnica en auditorías Lighthouse

Si ya trabajas PageSpeed, indexación o Core Web Vitals con un equipo externo, encaja en el mismo checklist: muchas agencias de marketing digital que auditan rendimiento y SEO técnico están empezando a incluir llms.txt en revisiones pre-lanzamiento —poco esfuerzo, señal clara en Agentic Browsing.

Checklist final antes de publicar

  • URL exacta: https://tudominio.com/llms.txt (raíz, sin redirect roto)
  • Primera línea: # Nombre del sitio
  • Segunda sección útil: blockquote > resumen
  • Mínimo un - [Texto](https://url-completa)
  • Más de 50 caracteres de contenido real
  • Content-Type: text/plain; charset=utf-8
  • Enlaces absolutos (no /ruta relativa)
  • Probado en Lighthouse Agentic Browsing

Resumen

Para score perfecto en el audit llms.txt de PageSpeed/Lighthouse: sirve un /llms.txt en 200 con H1, enlaces Markdown y sustancia. El formato es Markdown aunque la extensión sea .txt. Si ya tienes el archivo y fallas, casi seguro es por enlaces mal escritos —no por falta de fichero.

Mira el ejemplo en marcosamplina.com/llms.txt, adapta la plantilla a tu proyecto y vuelve a lanzar Lighthouse. En cinco minutos pasas de "existe pero falla" a follows recommendations.

Preguntas frecuentes sobre SEO en 2026