OpenAI Operator, ChatGPT Agent, Claude Computer Use y Browser Use ya pueden iniciar sesión y pagar en tu sitio — si los dejas. Checklist 2026 práctico.


Olga Fedotova7 min
Contenido5 secciones
  1. Cómo un agente ve tu página
  2. Los cinco requisitos
  3. La auditoría de 60 segundos
  4. Qué viene con inite.ai
  5. Fuentes

En 2026 tu cliente puede no ser la persona que clickeó tu anuncio. Puede ser el agente al que ella delegó la tarea. Operator reserva y compra en la web abierta. Claude Computer Use cierra trials de SaaS B2B. ChatGPT Agent llena formularios de gobierno. Browser Use está en la base del stack de automatización de cada solo founder.

Cada uno es un LLM con visión por computadora que abre tu sitio en un Chromium real, mira la pantalla, decide dónde clickear e intenta de nuevo al fallar. Tienen éxito cuando la página es semánticamente legible; abandonan cuando no. La brecha entre "agent-friendly" y "agent-hostile" en 2026 es la misma brecha que importó en 2010 para mobile y en 2018 para lectores de pantalla: ya no es lujo, es un nuevo segmento de cliente.

Esta es la checklist de auditoría 2026.

Cómo un agente ve tu página

Tres modos de percepción según el agente:

  1. Visión pura (Operator base, default de Browser Use): el agente toma un screenshot y pregunta al modelo "¿dónde clickear para hacer X?" Las coordenadas son la clave primaria.
  2. Visión + árbol de accesibilidad (Claude Computer Use, ChatGPT Agent): el agente ve píxeles Y el árbol ARIA/role/label parseado. Mucha más confiabilidad porque el modelo apunta por nombre.
  3. DOM tap (Operator más nuevo, dom_mode de Browser Use): el agente lee el DOM renderizado, extrae una representación enriquecida (selector + role + bbox + ancestros) y actúa sobre datos estructurados.

No eliges el modo del visitante. Así que diseñas para el modo 3 (el más exigente) y los modos 1-2 heredan el beneficio. La pieza upstream — que el agente sepa que tu sitio existe — vive en la guía de AEO 2026.

Los cinco requisitos

1. Selectores estables

Cada elemento interactivo importante recibe un atributo data-testid o data-agent-action. El valor sobrevive a redeploys, refresh de marca y actualizaciones de tailwind. Funciona:

<button data-agent-action="submit-booking" aria-label="Confirmar reserva">Confirmar</button>
<a data-agent-action="open-cart" href="/cart">Ver carrito (3)</a>
<input data-agent-field="email" type="email" name="email" autocomplete="email" />

No funciona:

<button class="css-1xkj4m hover:css-zz9p9o">Confirmar</button>
<a href="/cart"><svg>…</svg></a>
<div class="rounded p-2 border" contenteditable="true">…</div>

Si tu stack de CSS-in-JS emite nombres de clase en hash, el selector del deploy-N y el del deploy-N+1 son strings distintas. El playbook del agente (grabado contra la página de la semana pasada) se rompe en cada redeploy. data-testid es invariante por convención.

2. Atributos semánticos en formularios

Cada input recibe al menos name, id, type, autocomplete y un <label for=…> asociado. Los agentes entrenados en millones de formularios reconocen estos patrones. Los componentes React custom que esconden el input del DOM (patrón común en builds tempranas de shadcn/ui en 2024) dejan al agente que lee el árbol de accesibilidad sin un campo que rellenar.

Los date-pickers son lo peor. Un <input type="date"> nativo funciona para cualquier agente. Un calendario Headless UI custom con handlers solo de teclado y roles aria-grid funciona solo para agentes que leen el árbol. Un picker JS que secuestra onKeyDown y escribe en refs de React no funciona para nadie.

3. Sin muros de CAPTCHA en flujos primarios

Cloudflare Turnstile, hCaptcha y Google reCAPTCHA combaten bots — incluidos los agentes que son tus clientes. Patrón 2026:

  • Login / sign-up: permite agentes (la mayoría se identifica). Usa challenge por riesgo, no Turnstile total.
  • Flujos de lectura (búsqueda, navegación, ver producto): nunca bloquees.
  • Flujos de escritura con dinero (checkout, retiro): permite Turnstile en modo passive que deja pasar agentes identificados; solo desafía tráfico sospechoso.
  • Creación de cuenta: aquí sí va un challenge humano real — pero rutea Operator/Agent identificado a un flujo separado con scope OAuth temporal.

Bloquear todo entrena a los agentes a abandonar tu dominio en el primer muro. Peor: el modelo detrás recuerda — sus respuestas futuras rankearán a tus competidores arriba.

4. Errores recuperables

Cuando el agente envía un formulario y el servidor lo rechaza, el error debe ser:

  • Visible en el DOM como texto (no solo borde CSS rojo).
  • Asociado programáticamente al campo (aria-describedby="error-email").
  • Específico para que el modelo lo arregle ("Email ya en uso — intenta iniciar sesión" en vez de "Entrada inválida").
  • No detrás de un toast que se disuelve en 3 segundos.

Prueba: corre tu formulario principal en Claude Computer Use con input deliberadamente erróneo. Si el agente describe el error en lenguaje claro, pasa. Si solo reintenta el mismo formulario, falla.

5. Un manifiesto del agente

Una well-known URL — convención /actions.json o /.well-known/agent-actions — declarando tus superficies invocables:

{
  "version": "2026-05",
  "actions": [
    {
      "id": "create-booking",
      "url": "/book/{slug}",
      "method": "form",
      "fields": ["start_date", "end_date", "vehicle_id"],
      "auth": "session"
    },
    {
      "id": "lookup-rate",
      "url": "/api/v1/rates",
      "method": "GET",
      "params": ["origin", "destination", "date"],
      "auth": "api_key"
    }
  ]
}

Es el puente entre agentes que scrapean DOM y agentes que llaman APIs. ChatGPT Agent y Claude con MCP habilitado revisan esta URL en la primera visita y prefieren llamada API sobre acción de navegador cuando ambas existen. Más rápido, más confiable, menos del presupuesto de tu CDN. La capa MCP nativa de ese puente está descrita en MCP y Skills hacen tu SaaS AI-native.

La auditoría de 60 segundos

Corre esto en tu flujo top de usuario. Si algún paso falla, arréglalo.

  1. Abre el flujo en Chromium con --disable-blink-features=AutomationControlled.
  2. Click derecho → Inspect → pestaña Accessibility. ¿Cada elemento interactivo tiene Name y Role? Pasa.
  3. Recarga. ¿Los nombres de clase en los botones no cambiaron? Pasa.
  4. DevTools → Console. Pega document.querySelectorAll('[data-testid], [data-agent-action]').length. ¿Resultado ≥ cantidad de botones en la página? Pasa.
  5. Envía el formulario con datos deliberadamente inválidos. ¿Texto de error visible en el DOM (no solo borde rojo)? Pasa.
  6. Visita /actions.json o /.well-known/agent-actions. ¿Devuelve JSON válido? Pasa.

Adaptar un flujo hasta que pase todas las comprobaciones es trabajo de frontend de unas horas, no un proyecto. Un flujo nuevo construido con esta checklist cuesta cero extra — HTML semántico es la misma cantidad de teclas que sopa de div.

Qué viene con inite.ai

inite.ai no ejecuta esta lista por ti. Los seis pasos de arriba se hacen en tu propio navegador, sobre tus propios flujos: un escaneo externo no puede iniciar sesión ni rellenar tus formularios como lo hace un agente. Lo que el analizador de inite.ai revisa desde una URL pública es la capa que rodea esos flujos: si robots.txt deja entrar a los crawlers de IA, qué archivos de identidad sirve el sitio (llms.txt, ai.json), el schema de la página de inicio y la salud técnica de las páginas. Una sección aparte, Acceso de agentes de IA, busca las puertas para máquinas de las que trata el paso 6: un servidor MCP que responde, una entrada en el registro MCP, una tarjeta de agente A2A, una descripción OpenAPI, un catálogo de API, un índice de skills para agentes. No busca /actions.json ni /.well-known/agent-actions, porque ninguno es un estándar acordado, y esa sección se muestra junto a la puntuación, sin contar en ella. La misma auditoría es un servidor MCP en https://inite.ai/api/mcp/analyzer: check_identity(url) lee la política de crawlers y los archivos de identidad al instante y gratis, analyze_site(url) lanza la auditoría completa y get_analysis(run_id) la lee un minuto después, y visibility_fixes(url) devuelve los arreglos en orden, con un archivo listo para pegar cuando lo hay. Un agente en Claude o Cursor puede llamarlo desde un pipeline.

La lógica es la misma que AEO: instrumenta una vez, mide semanalmente, arregla al peor cada sprint. El tráfico de agentes en 2026 es lo que fue el tráfico mobile en 2012 — una curva que se monta o se observa. La pieza adyacente en política de bots es allowlist de crawlers de IA en 2026.

Lee también: Prepara tu SaaS para agentes de navegador.

Lo que pasó cuando el propio paso de compra se mudó al asistente y luego volvió está en el checkout con IA se canceló.

Fuentes

Preguntas frecuentes

  • ¿Qué agentes de navegador importan en 2026?

    Cuatro agentes en producción generan tráfico real: OpenAI Operator (tier consumer + business), ChatGPT Agent (en chat.com, reemplaza la antigua beta Tasks), Claude Computer Use (Claude 4.5 en la consola de Anthropic y vía API), y Browser Use (open-source, más de 100.000 estrellas en GitHub en octubre de 2026, default de los indie builders). Los cuatro son vision-driven — leen tu página como un humano — pero todos se benefician de HTML semántico y selectores estables. Optimiza para la unión, no la intersección.

  • ¿De verdad la accesibilidad (ARIA) ayuda a los agentes de IA?

    Sí — es el cambio con mejor ratio retorno/esfuerzo. Los agentes prefieren el árbol de accesibilidad sobre el screenshot porque es estructurado, con roles y labels. Un botón con `aria-label='Submit booking'` se clickea más confiablemente que el mismo botón identificado como 'rectángulo azul en coordenada (480, 612)'. El análisis de WebAIM de 2026 sobre el millón de páginas de inicio más populares encontró un tercio de los campos de formulario sin etiqueta correcta, así que a la mayoría de los sitios le queda este trabajo por hacer.

  • ¿Cómo detecto tráfico agéntico?

    Tres señales: (1) user-agent contiene 'Operator', 'ChatGPT-Agent', 'Anthropic-ComputerUse' o 'BrowserUse' — la mayoría se identifica; (2) entropía de movimiento de mouse por debajo del baseline humano (los agentes clickean directo, sin hover); (3) ausencia de fingerprints típicos (sin write a localStorage en primera visita, quirks de headless Chrome). Loguea las tres; expone un endpoint /api/me que devuelva hints si el agente se identifica, para que el cliente adapte la UI.

  • ¿Debo mostrar UI diferente a los agentes?

    Sí, selectivamente. El patrón es 'progressive enhancement for agents' — la UI humana queda canónica; en sesiones agénticas detectadas expones atributos `data-agent-action` extra, sirves un manifiesto JSON en /actions en una well-known URL, y desactivas animaciones/skeletons que retrasan la percepción. No bifurques toda la UI — es un desastre de mantenimiento. Suma hints.

  • ¿Qué mata más rápido la finalización de tareas?

    En orden: (1) Cloudflare Turnstile / hCaptcha en el formulario primario; (2) selectores en hash de clase que cambian con cada deploy ('css-1xkj4m'); (3) inputs sin `name` ni `autocomplete`; (4) date-pickers React custom que secuestran el teclado; (5) modales sobre modales que el agente no puede cerrar; (6) errores mostrados solo como borde rojo (sin texto). Audita tus 3 flujos top contra esa lista cada semana.

Browser AgentsOperatorChatGPT AgentComputer UseAccessibility