Volver
Kevin Riedl

9 min de lectura · 18 ago 2026
Última revisión

Siguiente
Se crea en tu dispositivo, sin conectar con Instagram. Copiamos el enlace para su sticker de enlace.

Webs legibles por agentes: llms.txt, espejos en Markdown y qué se rompe de verdad

Una web legible por agentes sirve una copia limpia para máquinas de cada página, la anuncia en la cabecera y no bloquea nada que necesite descargarla. La parte difícil no es decidir hacerlo. Es que siga siendo cierto después del cuarto despliegue, porque aquí todos los fallos son invisibles en un navegador y silenciosos en tus registros.

Nosotros operamos este stack en la web que estás leyendo: un espejo en Markdown de cada página, un llms.txt por idioma, agent skills publicadas y un verificador que hace fallar el build de producción en cuanto algo de eso se rompe. Este artículo es la lista de cosas que ha cazado ese verificador, y es una lista más útil que la que se obtiene leyendo la especificación.

¿Quieres saber si un agente puede leer tu web antes de invertir en arreglarla?

 Ejecutar el comprobador gratuito

Las cuatro superficies que un agente usa de verdad

La legibilidad para agentes se discute como un solo tema, pero son cuatro superficies independientes, y un sitio puede aprobar tres y seguir siendo invisible.

SuperficiePregunta que respondeAsí se ve el fallo
robots.txt¿Se me permite descargar esto?Ausencia silenciosa de las respuestas
HTML servido¿Está el texto aquí antes de que corra JavaScript?Una cáscara vacía con navegación
Espejo en Markdown¿Existe una copia barata y sin ambigüedad?Interpretación cara y ruidosa del envoltorio renderizado
JSON-LD¿Quién publicó esto y qué es?Datos adivinados desde la prosa, o nada

El orden importa. Arreglar los datos estructurados de una página que un fetcher de recuperación no tiene permitido leer es trabajo perdido, y es la forma más común de empezar este proyecto del revés.

llms.txt, con honestidad

llms.txt es una convención, no un estándar. Ningún motor está obligado a leerlo, y quien te venda lectura garantizada está prometiendo demasiado. También es barato de generar y le da a un agente un mapa limpio en lugar de tu navegación renderizada, y por eso publicamos uno y normalmente lo recomendamos.

Si lo publicas, tres cosas deciden si sirve para algo:

  • URLs absolutas. Este es el error que vemos más, y lo cometimos nosotros. Un llms.txt se descarga y circula separado de la página de la que salió, así que no queda ninguna URL base contra la que resolver enlaces relativos. Un archivo lleno de rutas /services/… es un archivo lleno de callejones sin salida.
  • La cita en bloque bajo el H1. Esa única frase es lo que un agente reutilizará con más probabilidad palabra por palabra cuando te presente. Si falta, el agente escribe esa frase por su cuenta, con lo que haya inferido.
  • Notas en cada enlace. La mitad de : notas de cada viñeta es cómo un agente con presupuesto limitado decide qué enlace abrir. Una lista pelada de títulos le obliga a adivinar.

Espejos en Markdown y cómo anunciarlos

Un espejo es el mismo contenido que la página, sin el envoltorio, servido como Markdown en una ruta predecible y enlazado desde la cabecera:

<link rel="alternate" type="text/markdown" href="/services/ai-visibility.md">

Generar espejos es sencillo. Mantenerlos fieles es la parte que necesita una máquina, porque un espejo puede estar sutilmente mal de formas que nadie nota durante meses. El generador corre después del build del sitio, recorre el HTML renderizado, y el verificador compara ambos después.

Los fallos que conviene conocer

Son hallazgos reales de nuestro propio build, no hipótesis. Cada uno llegó a producción al menos una vez antes de que existiera la puerta.

FalloPor qué pasaQué ve un agente
Valor de plantilla sin resolverUn generador emite su marcador de valor ausente, o un par de delimitadores de plantilla sobrevive sin renderizar, y nadie lee la salidaUna página que te devuelve tu lenguaje de plantillas
Bloque de código sin cerrarUna apertura sin su cierreTodos los encabezados posteriores dejan de ser encabezados, y el documento pierde su estructura
Entidad HTML sin decodificarEntidades no decodificadas durante la conversiónUna entidad de ampersand o apóstrofo sin decodificar, leída como sus caracteres literales en lugar de como el signo
Enlaces contiguos fusionadosEl espacio entre dos anchors se pierde al convertirDos textos de enlace pegados en una sola frase
Atribución pegada a su enlaceFalta un espacio antes del enlace de autorUna cadena de autor en la que la palabra previa al enlace queda fusionada con el nombre
Columnas de tabla que no cuadranLa fila de cabecera y la de separadores discrepan en el número de columnasLa tabla deja de interpretarse como tabla y cada número pierde su columna
Más de un H1Encabezados del envoltorio filtrándose al cuerpoAmbigüedad sobre de qué trata la página
Cuerpo vacíoContenido inyectado en el cliente, así que el espejo no tiene nada que espejarFront matter y silencio

Nuestro favorito fue más sutil que todos estos. Añadir un glifo decorativo a una página metió una comilla doble literal dentro de un nodo de texto SVG, lo que detuvo al minificador de HTML dentro de contenido foráneo. El resto de esa página se publicó sin minificar, y su espejo en Markdown se truncó en silencio a dos tercios, llevándose consigo todo el FAQ. Nada parecía mal en un navegador. La puerta hizo fallar el build, nombró la ruta, y la corrección fue un carácter.

La trampa del robots.txt: recuperación no es entrenamiento

Es el malentendido más caro del tema, y es una línea de configuración.

Algunos crawlers existen para recoger datos de entrenamiento. Otros descargan una página para responder una pregunta y citarla, ahora mismo. Bloquear al primer grupo es una decisión de licencia que puedes querer tomar. Bloquear al segundo te elimina por completo de las respuestas, y casi siempre es involuntario:

User-agent: GPTBot
Disallow: /

User-agent: *
Disallow: /

El primer bloque es una exclusión deliberada del entrenamiento. El segundo se lleva con él a todos los fetchers de motores de respuestas, porque un crawler sin grupo propio hereda el comodín. El equipo que escribió esto creía haberse excluido del entrenamiento. También se había excluido de ser citado.

Si quieres la postura "cítame, pero no entrenes conmigo", es coherente y configurable: nombra explícitamente a los fetchers de recuperación y déjalos pasar, y excluye por nombre a los crawlers de entrenamiento.

Por qué una puerta y no una lista

Cada punto de arriba es fácil de arreglar una vez e imposible de mantener arreglado por intención. El contenido cambia cada semana, las plantillas cada mes, y ninguno de estos fallos produce un síntoma visible. Una auditoría trimestral los encuentra un trimestre tarde.

Así que las comprobaciones van en el build, junto a los tests. Las nuestras corren después de generar el sitio y hacen fallar el despliegue, de modo que un espejo roto es una pipeline en rojo y no una fuga lenta. Ese es todo el truco, y por eso entregamos el catálogo de reglas en lugar de un informe: el comprobador de legibilidad para agentes ejecuta las mismas reglas de espejo en tu navegador, y es el mismo camino de código que decide si esta web se despliega.

Para los problemas vecinos: nuestra guía del Open Knowledge Format cubre empaquetar conocimiento interno como Markdown portable, y la guía del wiki de empresa listo para IA cubre servir ese conocimiento a tus propios agentes. Este artículo trata estrictamente de la superficie pública: lo que puede leer el agente de otra persona.

Preguntas frecuentes

¿Qué hace que una web sea legible por agentes?
Cuatro cosas juntas: reglas de robots que dejen pasar a los fetchers de recuperación, texto presente en el HTML servido antes de que corra JavaScript, una copia limpia en Markdown o llms.txt anunciada en la cabecera, y JSON-LD válido que nombre al editor. Aprobar tres de las cuatro suele bastar para seguir invisible.
¿Es llms.txt un estándar?
No. Es una convención y ningún motor está obligado a leerla. Es barata de publicar y da a un agente un mapa limpio en lugar de navegación renderizada, y por eso mantenemos uno, pero trata las promesas de lectura garantizada como motivo para dudar del resto de la propuesta.
¿Funcionan las URLs relativas en llms.txt?
No de forma fiable. El archivo se descarga y circula separado de la página de la que salió, así que no queda URL base contra la que resolver. Usa URLs absolutas.
¿Deberíamos bloquear GPTBot?
Es una decisión de licencia, no de visibilidad. Bloquear GPTBot o CCBot te excluye de los datos de entrenamiento y no te elimina de las respuestas de ChatGPT ni de Perplexity, porque las sirven fetchers de recuperación distintos. Bloquear esos fetchers es lo que te saca de las respuestas.
¿Los espejos en Markdown generan contenido duplicado para los buscadores?
Lleva la URL canónica dentro del espejo y mantén los espejos fuera de tu sitemap XML, para que el descubrimiento siga apuntando a la página HTML. El espejo es una representación alternativa de un documento canónico, anunciada con rel=alternate.
¿Cómo evitamos que esto se degrade tras el lanzamiento?
Pon las comprobaciones en el build y no en un documento. El contenido y las plantillas cambian constantemente y ninguno de estos fallos tiene síntoma visible, así que todo lo que dependa de la intención retrocede en uno o dos trimestres.

Reflexiones finales

La legibilidad para agentes no es un proyecto de contenido. Son cuatro superficies mecánicas, una lista corta de fallos de conversión y una línea de configuración que decide si algo de lo demás importa.

Empieza por robots.txt, porque es la comprobación más barata y el error más caro. Después sirve una copia limpia, anúnciala, valida tus datos estructurados y pon todo detrás de una puerta para que el siguiente despliegue tenga que mantenerlo cierto.

Que las máquinas te lean y te citen

Los motores de respuestas no pueden citar lo que no pueden descargar, interpretar ni atribuirte. Wavect arregla el acceso de agentes, los espejos legibles por máquinas, los datos estructurados y la identidad de entidad en el stack que ya tienes, y después hace tu producto usable por agentes y no solo legible.

Rutas de servicio relevantes:

Tu bandeja, sin ruido

Sigue el trabajo que te importa

Recibe un correo breve cuando publiquemos algo nuevo. Sigue todo el blog o solo los temas que te interesan.

¿Qué quieres recibir?
Elige tus temas

Gratis, doble opt-in y sin píxeles de seguimiento.

Volver
Kevin Riedl

9 min de lectura · 18 ago 2026
Última revisión

Siguiente

Recibe nuevos artículos por correo

Un correo breve cuando publicamos. Gratis y sin seguimiento.

Gratis, doble opt-in y sin píxeles de seguimiento.