# Por qué la IA no puede ver tu sitio en React/Next — y cómo solucionarlo

> Una SPA le entrega a los bots de IA un HTML vacío: GPTBot y PerplexityBot no ejecutan JS. Cómo comprobar qué ve el bot y hacer que tu contenido sea visible para la IA.

_Source: https://seomatrix.ai/ru/blog/geo-for-spa/ · Updated: 2026-06-26_

---

Invertiste en contenido y, aun así, las respuestas de IA nunca te mencionan. A menudo la causa es técnica: el sitio es una **SPA** (una Single-Page App en React, Next.js en modo CSR, Vue, Svelte) donde el contenido se dibuja en el navegador. El problema: **los bots de IA no ejecutan JavaScript**, así que ven una página vacía.

> En resumen: si el contenido solo aparece después de que corre el JS, no existe para GPTBot ni PerplexityBot. Sin texto, no hay nada que citar.

## Qué ve realmente un bot de IA

GPTBot, OAI-SearchBot, PerplexityBot y ClaudeBot leen el **HTML fuente** de la respuesta del servidor. No esperan a la hidratación y no hacen clic. Si tu `<div id="root"></div>` lo llena un script, el bot recibe una cáscara con un suelto «You need to enable JavaScript to run this app» — y se va.

**Compruébalo en 10 segundos:** pega una URL en [Cómo ve la IA tu página](/tools/ai-view/) — te muestra el texto exacto sin JS y cuántas palabras quedan ocultas detrás de JavaScript. Si un navegador ve 1.500 palabras y el bot recibe 11, ese es tu problema de GEO.

## Cómo solucionarlo — según el framework

El objetivo es el mismo: **entregar contenido ya renderizado en la primera respuesta HTML del servidor.**

- **Next.js** — usa SSR, SSG o ISR (`getStaticProps` / server components del App Router) en lugar de puro client-side. El contenido debe estar en el HTML antes de la hidratación.
- **Nuxt** — `universal` (SSR) o `nuxt generate` (SSG) en lugar de `ssr: false`.
- **React (CRA / Vite SPA)** — mueve las páginas de contenido a prerenderizado (Astro, Gatsby) o agrega renderizado en el servidor. El CSR puro es un error para el contenido que debe ser citado.
- **Vue / Svelte** — SvelteKit y Nuxt hacen SSR/prerender de fábrica; actívalo para las páginas públicas.
- **Renderizado dinámico** — como solución temporal puedes servirle a los bots un HTML prerenderizado (Prerender.io y similares), pero un SSR/SSG honesto es más confiable.

> Regla práctica: páginas de contenido → SSR/SSG. Las apps interactivas (dashboards, apps con login) pueden seguir siendo SPAs — de todas formas no se citan.

## Después de renderizar — completa el trabajo de GEO

Una vez que el bot ve el texto, agrega lo demás:

1. **Schema.org (JSON-LD)** — `Article`, `FAQPage`. Genera un marcado válido en el [generador de schema](/tools/schema-generator/).
2. **llms.txt** — un mapa del sitio para los motores de IA. Cómo hacerlo en el [artículo sobre llms.txt](/blog/llms-txt/).
3. **Acceso de los bots de IA** — asegúrate de que `robots.txt` no bloquee a los bots de citación: [comprobación de acceso de rastreadores de IA](/tools/ai-access/).
4. **Párrafos citables** — una respuesta directa en las primeras 1–2 oraciones de cada sección. Más en la [guía completa de GEO](/blog/geo-guide/).

## Por dónde empezar

1. Pasa tus URLs clave por [Cómo ve la IA tu página](/tools/ai-view/).
2. Si el bot ve una cáscara — activa SSR/SSG para las páginas de contenido.
3. Vuelve a comprobar con la misma herramienta y agrega schema + llms.txt.

> ¿Quieres un equipo de IA autónomo que lo haga por ti — desde el diagnóstico hasta la publicación? Mira la [página de inicio](/) o la [comparación](/compare/).

## Fuentes

- Documentación de Google Search Central (JavaScript SEO, renderizado), OpenAI GPTBot y Perplexity — sobre los rastreadores de IA que leen el HTML fuente.
- llmstxt.org, Schema.org.

## FAQ

### ¿Los bots de IA ejecutan JavaScript?

Casi nunca. GPTBot, PerplexityBot, ClaudeBot y la mayoría de los rastreadores de respuestas de IA leen el HTML fuente y no ejecutan JS. Si el contenido se renderiza en el cliente, el bot ve una cáscara vacía.

### Googlebot sí renderiza JS, ¿no basta con eso?

Googlebot sí renderiza JS (con retraso), pero AI Overview y los motores de terceros (ChatGPT, Perplexity) suelen tomar el contenido del HTML fuente. Para GEO necesitas el contenido en la primera respuesta del servidor.

### ¿Cómo compruebo rápido qué ve el bot?

Pega una URL en nuestra herramienta gratuita «Cómo ve la IA tu página»: te muestra el texto exacto que recibe un bot de IA (sin JS) y cuántas palabras quedan ocultas detrás de JavaScript.

