← Volver al blog
AEOEquipo de Scanaris · 6 min de lectura · 04 de octubre de 2026

Por qué las apps hechas con IA son invisibles para la IA (y cómo arreglarlo)

Cada vez más gente le pregunta a ChatGPT, Claude o Perplexity "¿cuál es la mejor herramienta para X?" en lugar de buscar en Google. Si tu producto no aparece en esas respuestas, no existes para ese público. A esto se le llama AEO (Answer Engine Optimization), y las apps hechas con IA tienen un problema de partida: por cómo las generan las herramientas, la mayoría le enseñan a los bots de IA una página en blanco. Esta guía explica por qué ocurre justo en estas apps, cómo comprobarlo en dos minutos y qué arreglar según la herramienta con la que construiste.

Por qué les pasa precisamente a las apps hechas con IA

Lovable, Bolt, v0 y la mayoría de plantillas que usa Cursor generan por defecto una SPA: una aplicación de una sola página con Vite y React donde el HTML que llega al navegador es casi vacío y JavaScript pinta todo después. Es la arquitectura correcta para un panel con login, pero esas herramientas la usan también para la landing, la página de precios y el blog. Tres consecuencias:

  • El contenido no está en el HTML. El servidor envía un <div id="root"></div> y poco más. Lo que ves tú lo construye el navegador.
  • Los metadatos tampoco. El título, la descripción y las etiquetas para compartir se ponen desde JavaScript, así que un bot que no lo ejecuta ve el título genérico de la plantilla.
  • Un solo dominio para todo. La parte pública y la parte privada comparten código, y nadie se para a pensar qué debería ser legible desde fuera.

La trampa es que muchos rastreadores de IA no ejecutan JavaScript, o lo hacen con límites. Googlebot sí renderiza, aunque con retraso y presupuesto limitado; los bots de OpenAI, Anthropic o Perplexity leen sobre todo el HTML tal cual llega. Para ellos tu app es una hoja en blanco: no pueden entender qué haces ni citarte.

Lo que ve un bot de tu web

Esto es, casi literalmente, lo que recibe un rastreador de una app generada con una de estas herramientas:

<!doctype html>
<html>
  <head>
    <title>Vite + React</title>
    <script type="module" src="/assets/index-a1b2c3.js"></script>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

Ni una frase sobre tu producto. Si además la plantilla trae un robots.txt que bloquea rastreadores, o tu CDN tiene activado un modo anti-bots, la puerta está cerrada dos veces.

Cómo saber si te afecta (dos minutos)

  • Ver código fuente. Abre tu web, clic derecho, "Ver código fuente de la página" (no "Inspeccionar", que enseña el resultado ya renderizado). Busca tu titular y un párrafo. Si no están, los bots tampoco los ven.
  • Sin JavaScript. Desactívalo en el navegador y recarga. Lo que quede es lo que ve un bot básico.
  • Como el bot de ChatGPT. Desde la terminal, pide la página con su user agent y cuenta las palabras que llegan:
curl -s -A "GPTBot" https://tudominio.com/ | sed 's/<[^>]*>//g' | wc -w

Si salen unas decenas, el contenido vive en el JavaScript. Si salen varios cientos, llega en el HTML. El detalle de qué bot hace qué está en cómo saber si ChatGPT puede ver tu web.

Las cinco cosas que lo arreglan

1. Que el contenido público llegue en el HTML

No hace falta renderizar en servidor toda la app; basta con las páginas que quieres que la IA entienda: home, producto, precios, blog, preguntas frecuentes. Tres caminos, de menos a más trabajo:

  • Prerenderizar en el build. Un plugin de prerender para Vite genera un HTML completo por cada ruta pública en el momento de construir. Funciona bien para páginas que no cambian con cada visita.
  • Separar la web del producto. Landing, precios y blog en un sitio estático (Astro, Webflow, Framer, incluso Nuxt o Next en modo estático) en tudominio.com, y la app como SPA en app.tudominio.com. Es la arquitectura más sana y la que más se parece a lo que hacen los productos maduros.
  • Migrar la parte pública a un framework con SSR (Next.js, Nuxt, SvelteKit). Más trabajo, pero deja de ser un problema para siempre.

2. Metadatos en el HTML, no en JavaScript

Título, descripción y etiquetas Open Graph tienen que estar en el HTML inicial. Si prerenderizas o separas la web, esto viene gratis. Si no, al menos pon en el index.html un título y una descripción reales en lugar de los de la plantilla.

3. Datos estructurados que digan qué eres

Un bloque JSON-LD con Organization y SoftwareApplication le da al modelo hechos sin ambigüedad: nombre, qué hace, precio, dónde está. Si tienes preguntas frecuentes, márcalas como FAQPage. El cómo está en datos estructurados: por qué la IA cita a unos y a otros no.

4. Un llms.txt

Un archivo de texto en la raíz del dominio que resume en una frase qué eres y lista tus páginas importantes. No es obligatorio ni mágico, pero es un punto de entrada limpio y te obliga a escribir la frase que define tu producto. Tienes un generador gratuito de llms.txt.

5. No bloquear a los bots sin querer

Revisa robots.txt: una plantilla copiada o un Disallow: / de la fase de pruebas cierran la puerta a GPTBot, ClaudeBot y compañía. Y comprueba el modo anti-bots de tu CDN. Puedes ver qué rastreadores de IA permites con el comprobador de bots de IA.

Lo que no hace falta

No necesitas que la IA vea tu panel privado: lo que está detrás de un login no lo lee nadie, y así debe ser. Tampoco necesitas reescribir la app. El objetivo es que las cuatro o cinco páginas que explican qué haces sean legibles sin JavaScript, nada más.

Cómo medirlo con el tiempo

Dos señales. En los logs de tu servidor o CDN, filtra por los user agents de los bots de IA y mira qué páginas piden; si no aparece ninguno, revisa primero robots.txt. Y una vez al mes, pregunta a ChatGPT, Claude y Perplexity por tu categoría y por tu marca, y apunta si te mencionan y si te describen bien. Esa ronda es tu línea de base; lo demás son suposiciones.

Scanaris lo comprueba en 30 segundos

El pilar de visibilidad ante IA de Scanaris revisa si tu contenido es legible sin JavaScript, si tus metadatos llegan en el HTML, si tienes datos estructurados y llms.txt, y si bloqueas bots de IA en robots.txt. Por cada fallo te da un fix prompt para pegar en Lovable, Bolt o Cursor con el arreglo exacto. Y el rastreador de visibilidad vigila cada día si apareces cuando alguien pide una recomendación en tu categoría. Para entender el contexto completo, empieza por qué es el AEO.

Preguntas frecuentes

¿Google también ve mi app en blanco?

Google renderiza JavaScript, pero en una segunda pasada que puede tardar días y con un presupuesto limitado por sitio. Una app que llega vacía se indexa peor y más tarde. Arreglarlo para la IA mejora también tu SEO.

¿Lovable, Bolt o v0 pueden renderizar en servidor?

Generan SPAs por defecto. La solución práctica es prerenderizar las páginas públicas o sacar la web de marketing a un sitio estático aparte y dejar la app en un subdominio.

¿Basta con publicar un llms.txt?

No. Es un complemento útil, pero si el HTML llega vacío el bot sigue sin poder leer tus páginas. Primero el contenido en el HTML, luego el resto.

¿Y tu web, cómo va?

Pásale Scanaris y compruébalo en 30 segundos, gratis.

Escanear mi web

Checks relacionados