# Markdown para agentes: tus páginas en Markdown para la IA

> Qué es servir una versión en Markdown de tus páginas a los agentes de IA: URL .md, negociación de contenido, la función de Cloudflare y lo que dice Google.

URL: https://clione.ai/es/glosario/markdown-para-agentes/
Lang: es

Markdown es una sintaxis para escribir texto con formato usando signos sencillos: almohadillas para los títulos, asteriscos para la negrita. «Markdown para agentes» no habla de escribir así, sino de **servir cada página de tu web también en ese formato**, para que un [agente de IA](/es/glosario/agente-de-ia/) la lea sin el menú, los scripts ni la maquetación. No es el [llms.txt](/es/glosario/llms-txt/), que es un índice del sitio, ni el [`agents.md`](/es/glosario/agents-md/) de Shopify, que describe la tienda: es una versión limpia de cada página. Te importa porque una [ficha de producto](/es/glosario/ficha-de-producto/) en HTML lleva mucho más código que contenido, y los agentes que leen la web ya piden esta versión.

## Qué es estándar y qué no

Bajo el mismo nombre conviven tres piezas de origen muy distinto, y conviene separarlas antes de decidir nada.

**La [negociación de contenido](/es/glosario/negociacion-de-contenido/), que es estándar.** HTTP prevé que una misma dirección pueda tener varias representaciones del mismo recurso. La negociación de contenido funciona así: el cliente dice qué prefiere con las cabeceras `Accept`, y el servidor elige la representación según esas preferencias. La cabecera `Vary` de la respuesta indica qué cabeceras de la petición tuvo en cuenta para elegir.[^rfc9110] El tipo `text/markdown` existe como tipo registrado desde marzo de 2016: el RFC 7763 lo describe como una familia de sintaxis de texto plano que pueden convertirse a HTML, y **exige declarar el juego de caracteres** con el parámetro `charset`.[^rfc7763] Con estas dos piezas, un agente puede pedir `Accept: text/markdown` en la misma URL de tu ficha y recibir Markdown.

**Las URL terminadas en .md, que son una propuesta.** La propuesta de llms.txt sugiere que las páginas que un agente pueda necesitar tengan una versión limpia en Markdown en la misma URL, con `.md` añadido al final (`pagina.html.md`) o sustituyendo la extensión (`pagina.md`); las URL sin nombre de archivo añaden `index.html.md` o `index.md`. Para que un cliente las encuentre, recomienda enlazarlas con `rel="alternate" type="text/markdown"`, en el HTML o en una [cabecera `Link`](/es/glosario/link-header/) de HTTP.[^llmstxt] Es una convención con autor y con fecha, no un estándar de ningún organismo.

**La conversión automática, que es una función de un proveedor.** El 12 de febrero de 2026, Cloudflare presentó Markdown for Agents, en beta.[^cf-md-blog] Si lo activas en tu zona, cuando una petición llega con `Accept: text/markdown`, Cloudflare pide el HTML a tu servidor, lo convierte a Markdown y lo entrega. Está disponible sin coste en los planes Pro, Business y Enterprise, solo convierte HTML y **no convierte respuestas de más de 2 MB**. La respuesta lleva `Content-Type: text/markdown; charset=utf-8`, un `Vary` que incluye `Accept` para que la [caché](/es/glosario/cache-cdn-bots/) guarde las dos versiones por separado, una estimación de [_tokens_](/es/glosario/token/) en `x-markdown-tokens`, y pierde las cabeceras `ETag` y `Last-Modified`.[^cf-md-docs]

| Pieza                                      | Qué es                                          | Quién la define             |
| ------------------------------------------ | ----------------------------------------------- | --------------------------- |
| `Accept: text/markdown` en la misma URL    | Negociación de contenido de HTTP                | IETF, RFC 9110 y RFC 7763   |
| URL terminada en `.md` y `rel="alternate"` | Una convención para encontrar la versión limpia | La propuesta de llmstxt.org |
| Markdown for Agents                        | Conversión de HTML a Markdown en la red         | Cloudflare, función en beta |

El argumento a favor es el tamaño. Cloudflare midió su propio artículo de presentación: **16.180 _tokens_ en HTML y 3.150 en Markdown, un 80 % menos**. Y contó que agentes de programación muy usados, como Claude Code y OpenCode, ya envían esa cabecera al pedir una página.[^cf-md-blog] Menos texto sobrante deja más sitio en la [ventana de contexto](/es/glosario/ventana-de-contexto/) del modelo para lo que importa.

## Lo que dice Google

Para la Búsqueda de Google, la respuesta es corta: no hace falta crear archivos legibles por máquinas, archivos de texto para IA, marcado ni Markdown para aparecer en la Búsqueda, **incluidas sus funciones de IA generativa**, porque la Búsqueda no los usa.[^google-ai-guide] El Markdown para agentes es para los otros lectores: los asistentes y agentes que piden páginas para responder o para actuar.

Hay una línea que no conviene cruzar. Google define el _cloaking_ como presentar contenido distinto a los usuarios y a los buscadores con la intención de manipular las posiciones y engañar a los usuarios, y pone como ejemplo insertar texto o palabras clave solo cuando quien pide la página es un buscador.[^google-spam] Una versión en Markdown que dice lo mismo que la página no es eso. Una que añade argumentos, precios o promesas que la página no tiene, sí se le parece.

## En una tienda

Un **ejemplo ficticio**: la ficha de un trípode, pedida por un agente con negociación de contenido.

```bash
curl -s -D - -H "Accept: text/markdown" https://tripodes-ejemplo.com/products/tripode-viaje
```

```text
HTTP/2 200
content-type: text/markdown; charset=utf-8
vary: Accept

# Trípode de viaje de carbono

Trípode plegable para cámaras sin espejo, con rótula de bola.

- Precio: 189,00 EUR
- Disponibilidad: en stock

## Preguntas frecuentes

### ¿Cabe en el equipaje de mano?
Sí, plegado mide menos que una mochila de cabina estándar.
```

Lo que importa no es el formato sino lo que trae: el nombre, el precio, la disponibilidad y las respuestas a las dudas del comprador, sin el menú, el pie de página ni el carrito. Ese texto tiene que coincidir con la ficha en HTML; si el precio cambia en una, cambia en la otra. Clione genera un documento en Markdown por producto, con su nombre, sus detalles, una guía de compra, sus palabras clave y sus preguntas frecuentes, y lo sirve en el propio dominio de la tienda.


**Activar la conversión de Cloudflare también publica una señal sobre el uso de tu contenido.** Por defecto, cada respuesta en Markdown lleva la cabecera `content-signal` con `ai-train=yes, search=yes, ai-input=yes`, es decir, que el contenido puede usarse para entrenar modelos, para resultados de búsqueda y como entrada de agentes, salvo que tu servidor envíe su propia cabecera.[^cf-md-docs] Si en tu [`robots.txt`](/es/glosario/robots-txt/) cerraste el paso a los rastreadores de entrenamiento, revisa que esta señal no diga lo contrario. Qué dejar pasar y qué no es la decisión del [bloqueo de bots de IA](/es/glosario/bloqueo-de-bots-de-ia/).


## Cómo comprobarlo

1. **Pide una ficha con la cabecera `Accept: text/markdown`**, con `curl` como en el ejemplo, y mira el `Content-Type` de la respuesta. Si vuelve `text/html`, tu sitio no negocia el formato.[^rfc9110]
2. **Prueba la convención de la propuesta**: la misma URL con `.md` al final. Un 404 solo dice que no la usas.[^llmstxt]
3. **Busca en el HTML de la ficha un `<link rel="alternate" type="text/markdown">`** o en las cabeceras de la respuesta un `Link` con ese tipo: es como un agente sabe que existe la versión limpia.[^llmstxt]
4. **Si la versión existe, compárala con la página**: precio, disponibilidad y textos tienen que coincidir.[^google-spam]
5. **Si usas Cloudflare, comprueba la cabecera `Vary`** (tiene que incluir `Accept`) y la cabecera `content-signal`, y decide si la señal por defecto es la que quieres.[^cf-md-docs]

## Concepto cercano: llms.txt

El [llms.txt](/es/glosario/llms-txt/) y el Markdown para agentes vienen de la misma propuesta, pero hacen trabajos distintos. El llms.txt es **un único archivo que resume el sitio y enlaza sus páginas**; las versiones en Markdown son esas páginas, una por una, en limpio. La propuesta los une: el llms.txt debería enlazar versiones legibles por un modelo, y cada versión en Markdown puede apuntar al llms.txt que la cubre con `rel="describedby"`.[^llmstxt] Uno es el índice; el otro, el contenido.

Para seguir, la entrada de [negociación de contenido](/es/glosario/negociacion-de-contenido/) explica el mecanismo de HTTP con más detalle, y la [ruta de lectura](/es/aprender/rastreo-e-indexacion/) de este tema ordena el resto de términos.
