
# Cómo saber si ChatGPT, Claude y Perplexity pueden leer tu web

Cuando alguien le pregunta a un asistente por tu empresa pasa una de dos cosas: o ya sabe algo por los datos de entrenamiento, con meses de retraso, o entra en tu web en ese momento y la lee.

El segundo caso es en el que puedes influir, y hay tres cosas que deciden cómo sale.

## 1. ¿Los deja entrar tu robots.txt?

Las empresas de IA usan user-agents distintos para tareas distintas, y bloquear uno no bloquea los demás. Estos son los que importan ahora mismo:

| User-agent | Empresa | Qué hace |
|---|---|---|
| `GPTBot` | OpenAI | Rastrea para entrenamiento |
| `OAI-SearchBot` | OpenAI | Indexa para la búsqueda de ChatGPT |
| `ChatGPT-User` | OpenAI | Descarga una página porque alguien lo ha pedido ahora |
| `ClaudeBot` | Anthropic | Rastrea para entrenamiento |
| `Claude-SearchBot` | Anthropic | Indexa para búsqueda |
| `Claude-User` | Anthropic | Descarga a petición de una persona |
| `PerplexityBot` | Perplexity | Indexa para responder |
| `Perplexity-User` | Perplexity | Descarga a petición |
| `Google-Extended` | Google | Controla el entrenamiento de Gemini, no el buscador |
| `Applebot-Extended` | Apple | Controla el entrenamiento de Apple Intelligence |
| `CCBot` | Common Crawl | Alimenta muchos otros conjuntos de datos |
| `Bytespider` | ByteDance | Rastrea para entrenamiento |

La distinción con la que casi todo el mundo se equivoca: **los agentes que acaban en «-User» no son rastreadores**. Entran porque una persona acaba de preguntar por tu página, en ese segundo. Bloquear `GPTBot` frena el entrenamiento. Bloquear `ChatGPT-User` impide que un cliente potencial obtenga una respuesta sobre ti. Casi todas las webs quieren lo primero sin lo segundo.

Mira qué estás sirviendo de verdad:

```bash
curl -s https://tuweb.com/robots.txt
```

Léelo como lo leería un bot: un `Disallow: /` bajo `User-agent: *` bloquea a todo el que no tenga regla propia, y eso incluye a todos los de la tabla.

**Una trampa que conviene conocer.** Si estás detrás de Cloudflare y no tienes robots.txt propio, es posible que Cloudflare sirva uno por ti: su Content Signals Policy gestionada. Recibirás un `200` y un fichero con toda la pinta de ser correcto que tú no has escrito, sin ninguna de tus reglas y sin tu sitemap. Nosotros lo tuvimos así durante meses: nuestro servidor devolvía `404` en `/robots.txt` y nadie se dio cuenta, porque cualquier comprobación recibía un `200` del borde. Para distinguirlos, pregunta directamente a tu origen:

```bash
curl -sI https://tuweb.com/robots.txt | grep -i "server\|cf-cache-status"
```

## 2. ¿Tu contenido sobrevive sin JavaScript?

La mayoría de rastreadores de IA no ejecutan JavaScript. Si tu página se pinta en el cliente, lo que reciben es un cascarón vacío.

```bash
curl -s https://tuweb.com/tu-pagina | wc -c
curl -s https://tuweb.com/tu-pagina | grep -o "<p>" | wc -l
```

Unos pocos cientos de bytes y ningún párrafo significan que la página está vacía para un rastreador, por bien que se vea en el navegador. Se arregla con renderizado en servidor, generación estática o prerenderizado; cuál de los tres da bastante igual.

## 3. ¿Cuánto queda después de la extracción?

Aunque la página se descargue y se renderice, un agente tira la navegación, el pie, el aviso de cookies y casi todo el marcado, y se queda con lo que parece contenido. Ese resto es lo que se acaba citando sobre ti.

Esta es la parte que nadie comprueba, y suele ser donde está la sorpresa. La forma más rápida de verlo es leer tu página tal y como se la quedaría un agente: en texto plano, sin andamiaje. Si lo que queda son dos frases y una lista de opciones de menú, no hay ajuste de robots.txt que lo salve.

## Además, conviene tener

**`llms.txt`** en la raíz: un mapa breve en Markdown de tus páginas importantes. Es una convención joven, no un estándar que nadie esté obligado a respetar, pero cuesta poquísimo y se lee.

**`Content-Signal`**, que te deja decir qué se puede hacer con tu contenido —indexarlo para búsqueda, usarlo como material para una respuesta, usarlo para entrenar— en lugar de solo si se puede descargar. Bloquearlo todo no es la única opción, y para la mayoría de negocios es la equivocada.

**HTML semántico limpio.** Encabezados de verdad, `<article>`, `<main>`, textos alternativos. Es el mismo trabajo que ayuda a los lectores de pantalla, y es lo que hace que la extracción se quede con lo que toca.

## Resumiendo

Ejecuta estas tres, en este orden:

1. `curl -s https://tuweb.com/robots.txt` — ¿pueden entrar?
2. `curl -s https://tuweb.com/pagina | wc -c` — ¿hay algo sin JavaScript?
3. Lee lo que sobrevive a la extracción — ¿es lo que querrías que citaran?

Casi todas las webs pasan la primera, fallan la tercera y no llegan a enterarse.

[Analiza tu web](/es) · [robots.txt para bots de IA](/es/tools/robots-txt-generator) · [¿Están permitidos los bots?](/es/tools/ai-crawlers-checker)
