Saltar al contenido

Auditoría SEO para SPA

Audita cualquier single-page app para SEO

DeepAudit AI es una auditoría SEO con navegador real y un escáner de SEO de JavaScript independiente del framework. Ya sea que la app use React, Vue, Angular, Svelte o JavaScript puro, el mismo diff de hidratación y la instrumentación del presupuesto de renderizado revelan cada fallo de indexación que vería Google.

Gratis. Sin registro. 60 segundos por URL.

Las single-page apps comparten un mismo problema de SEO

El framework cambia; el problema de indexación no. Una SPA — ya sea React, Vue, Angular, Svelte, Solid, Lit o un enrutador hecho a mano — entrega un caparazón HTML vacío y renderiza el contenido del lado del cliente. Las herramientas de SEO que analizan la respuesta HTML inicial no ven nada.

Google no ve nada en su indexación de primera pasada, luego pone la página en cola para una segunda pasada que ejecuta JavaScript con un presupuesto de renderizado estricto. Todo lo que no termine de renderizarse dentro de ese presupuesto nunca se indexa.

Los rastreadores de IA detrás de ChatGPT, Claude y Perplexity se saltan por completo la segunda pasada. Nunca ejecutan tu JavaScript, así que lo único que obtienen es el caparazón de la SPA. En nuestro Estudio de Visibilidad ante la IA de 368 sitios de pequeñas empresas, uno de cada cuatro ocultaba contenido esencial a estos rastreadores que no renderizan, y las single-page apps fueron el peor caso. Esta auditoría te muestra exactamente qué expone una SPA a cada uno.

El resultado es un patrón reconocible en Search Console. Las páginas se reportan como descubiertas pero no indexadas. Los fragmentos muestran contenido de respaldo que no ha estado en la página en meses. Los resultados enriquecidos basados en schema nunca aparecen a pesar de tener marcado válido en el código fuente.

Las nuevas rutas tardan semanas en entrar al índice incluso con envíos de sitemap. Cada uno de estos síntomas se remonta al renderizado del lado del cliente y al presupuesto de renderizado.

Una auditoría SEO con navegador real soluciona esto reproduciendo lo que hace Googlebot. DeepAudit AI carga tu URL en un entorno Chromium headless, espera a que la red se estabilice y la hidratación se complete, luego captura el DOM posterior a la hidratación y lo compara con la respuesta HTML inicial.

El fingerprinting de frameworks añade orientación específica del framework sobre el diagnóstico universal de indexación, de modo que el informe te indica tanto el síntoma como la corrección idiomática del framework.

Catálogo de fallos de SEO en SPA

Ocho modos de fallo que toda SPA comparte

Estos son los patrones de fallo que vemos en todos los frameworks de JavaScript, en proporciones aproximadamente iguales. Se suponía que el enrutamiento por hash debía desaparecer hace una década, y todavía lo encontramos en sitios en producción. El agotamiento del presupuesto de renderizado es el asesino silencioso de las SPAs grandes — no lo ves en desarrollo, lo ves como una deriva gradual del posicionamiento que nadie puede explicar.

DeepAudit AI detecta los ocho sin importar el framework. El panel de detección a continuación explica cómo el motor de diff subyacente produce hallazgos independientes del framework sin sacrificar la orientación de corrección específica de cada framework.

01

Enrutamiento basado en hash en URLs de contenido

URLs como /#/products/widget se ven bien para los usuarios, pero Google elimina todo lo que viene después del hash antes de indexar. El resultado: toda la app colapsa en una única URL indexable. Esto lo vemos con más frecuencia en apps heredadas de Angular 1 y React Router v3; los frameworks modernos usan la History API por defecto, pero los enrutadores personalizados todavía caen en esta trampa.

02

Desajustes de hidratación que sobrescriben el contenido indexado

Cuando el HTML renderizado en el servidor difiere del render del cliente, el framework reemplaza la salida del servidor durante la hidratación. Google ya indexó la versión del servidor. La causa más común es lógica no determinista — Date.now(), Math.random(), feature flags, detección de idioma — filtrándose en el render. El fragmento en caché muestra tu contenido de respaldo para siempre.

03

Etiquetas meta establecidas después del primer render

react-helmet, vue-meta, los servicios de título de @angular/platform-browser y bibliotecas similares que modifican el head del documento del lado del cliente. El HTML de primera pasada contiene el título por defecto de tu app; los metadatos reales por ruta nunca llegan a la instantánea indexada. El marcado de Schema.org inyectado de la misma forma desaparece de la misma forma.

04

Agotamiento del presupuesto de renderizado en rutas complejas

Google otorga a cada página renderizada unos pocos segundos de tiempo de ejecución. Las rutas con bundles grandes, mucha obtención inicial de datos o hidratación costosa suelen superar el presupuesto. El contenido de primera pasada es lo que se indexa; el contenido real nunca lo logra. Lighthouse reportará una puntuación aprobada para los usuarios, pero Search Console muestra alertas persistentes de contenido escaso.

05

Navegación interna que no produce enlaces reales <a href>

Los manejadores de clic en botones o divs que llaman a router.push() o navegación programática crean transiciones que Google no puede seguir. El alcance del rastreo colapsa a lo que el sitemap enumera explícitamente y a los enlaces entrantes que existan. Cada elemento de navegación interactivo necesita un href real que también sirva como objetivo del clic.

06

Contenido above-the-fold cargado de forma diferida tras dynamic imports

import() y React.lazy() son útiles para enviar menos JavaScript, pero cuando envuelven tu H1, el texto del hero o la información principal del producto, el chunk diferido tiene que descargarse y analizarse antes de que ese contenido se pinte. En una conexión lenta o bajo presión del presupuesto de renderizado, la superficie indexable se reduce a lo que se renderizó antes de que el import se resolviera.

07

Deriva del sitemap respecto a las rutas en tiempo de ejecución

Las configuraciones de rutas de la SPA se desvían del archivo sitemap.xml a medida que se lanzan funciones. Las rutas nuevas nunca se agregan; las rutas obsoletas nunca se eliminan. Google descubre la brecha en cada rastreo y reduce lentamente el presupuesto de rastreo del dominio. Nuestro escaneo profundo compara las rutas descubiertas con el sitemap y revela la diferencia en segundos.

08

Service workers que almacenan en caché caparazones vacíos

Las PWAs almacenan en caché el caparazón de la SPA de forma agresiva para el uso sin conexión. Cuando un service worker intercepta una solicitud de un motor de búsqueda y devuelve el caparazón vacío en caché en lugar de una respuesta fresca renderizada en el servidor, el índice recibe basura. Lo detectamos comparando las respuestas de fetch con y sin el registro del service worker.

Cómo funciona la detección

Un solo motor, todos los frameworks

DeepAudit AI ejecuta cada auditoría a través de una instancia Chromium headless — el mismo motor de navegador que usa Googlebot. La auditoría dispara tres observaciones por URL: la respuesta HTML inicial sin procesar del servidor, el DOM en el first contentful paint y el DOM completamente hidratado después de que los datos de la ruta y el JavaScript se estabilicen. Comparar esas tres instantáneas produce cada hallazgo independiente del framework que contiene el informe.

La detección de enrutamiento por hash es mecánica: cualquier ruta cuyo fragmento de URL lleve la carga de enrutamiento se marca al entrar.

Los desajustes de hidratación surgen cuando el DOM posterior a la hidratación difiere estructuralmente de la instantánea del first contentful paint — una señal fuerte de que el framework reemplazó el contenido renderizado en el servidor con un render del cliente diferente.

Los excesos del presupuesto de renderizado se detectan midiendo el intervalo entre el first contentful paint y la estabilización del DOM; las rutas cuya hidratación termina después de nuestro umbral de presupuesto de renderizado se marcan como en riesgo.

La auditoría de enlaces internos inspecciona cada elemento interactivo del árbol renderizado en toda la página. Los botones, divs y otros elementos con manejadores de clic que realizan navegación pero carecen de un atributo href real se marcan.

La deriva del sitemap se comprueba rastreando las rutas descubiertas durante el escaneo profundo y cruzándolas con el sitemap.xml publicado. La intercepción de respuestas impulsada por service worker se detecta comparando las respuestas de fetch con y sin el registro del service worker.

El fingerprinting de frameworks entra en acción una vez registrado el diagnóstico universal.

El escáner detecta React (DevTools hook), Vue 3 (proxies de reactividad), Angular (zone.js, atributo ng-version), Svelte (atributos de acción y marcadores de runtime), Solid, Lit y un puñado de frameworks menos comunes.

Cada framework detectado añade orientación de corrección: los patrones específicos de React hacen referencia a react-helmet y useEffect; los hallazgos de Vue hacen referencia a vue-meta; los hallazgos de Angular hacen referencia a @angular/platform-browser. La auditoría universal de Core Web Vitals y la validación de datos estructurados se ejecutan en cada auditoría sin importar el framework detectado.

DeepAudit AI

Audita cualquier SPA en 60 segundos

DeepAudit AI ejecuta la auditoría SEO completa con navegador real, el escáner de SEO de JavaScript y la auditoría de Core Web Vitals en cualquier single-page application — React, Vue, Angular, Svelte, Solid, Lit o JavaScript puro. Diff de hidratación, fingerprinting de frameworks, detección de deriva de sitemap y un informe PDF descargable.

Iniciar auditoría SEO gratuita

Preguntas frecuentes

Preguntas sobre SEO en SPA, respondidas

¿Qué es una single-page application y por qué su SEO es diferente?

Una single-page application carga un único caparazón HTML y usa JavaScript para renderizar cada ruta, intercambiar contenido y actualizar el historial sin recargas completas de página. Las herramientas de SEO que analizan solo la respuesta HTML inicial ven un caparazón vacío. Los motores de búsqueda tienen que ejecutar JavaScript para descubrir el contenido real, lo que funciona de forma inconsistente y con un presupuesto de renderizado. Una auditoría SEO con navegador real reproduce lo que ve Googlebot en lugar de lo que devuelve curl.

¿Funciona esta auditoría para SPAs que no son de React?

Sí. DeepAudit AI es independiente del framework. El motor de detección ejecuta una instancia real de Chromium, espera la hidratación sin importar qué framework la disparó y compara la respuesta HTML inicial con el DOM posterior a la hidratación. El mismo escáner de SEO de JavaScript detecta los mismos fallos de indexación ya sea que la app use React, Vue, Angular, Svelte, Solid, Lit o JavaScript puro hecho a mano.

¿Cómo maneja Google las SPAs en 2026?

Google indexa las SPAs en dos pasadas. La primera pasada lee la respuesta HTML inicial y descubre enlaces. La segunda pasada ejecuta JavaScript con un presupuesto de renderizado — normalmente unos pocos segundos — y reindexa lo que contenga el DOM renderizado. Las páginas que superan el presupuesto de renderizado solo se indexan con su contenido de primera pasada, que para la mayoría de las SPAs es un caparazón vacío. La auditoría te muestra qué rutas están en riesgo antes de que Search Console reporte errores de contenido escaso semanas después.

¿Qué es el enrutamiento por hash y sigue siendo un problema para el SEO?

El enrutamiento por hash usa URLs como /#/about en lugar de /about. Google ignora todo lo que viene después del hash a efectos de indexación, así que las apps con enrutamiento por hash publican exactamente una URL indexable sin importar cuántas rutas tengan. La solución es la History API con URLs reales basadas en rutas. Nuestro escáner detecta el enrutamiento por hash automáticamente y lo marca como un problema crítico de SEO.

¿Puede una SPA pasar Core Web Vitals?

Sí, pero requiere ingeniería deliberada. Los bundles de JavaScript, el coste de la hidratación y las transiciones de ruta en tiempo de ejecución empujan el LCP y el INP por encima de los umbrales verdes. Una auditoría de Core Web Vitals en una SPA necesita medir la transición de ruta en sí, no solo la carga inicial. DeepAudit AI ejecuta la batería estándar de CWV al entrar, y el escaneo profundo captura métricas de transición de ruta para las páginas más importantes.

¿Cómo detecta la auditoría los fallos específicos de cada framework?

El escáner detecta el framework a partir de huellas en tiempo de ejecución — React DevTools hook, proxies de reactividad de Vue 3, zone.js de Angular, atributos de acción de Svelte — y luego aplica comprobaciones específicas del framework sobre el núcleo independiente del framework. El diff de hidratación, la comprobación de descubribilidad de rutas y la auditoría de tiempos de etiquetas meta son universales; el reconocimiento del framework produce orientación de corrección a medida en el informe.

¿Es necesario el renderizado del lado del servidor para el SEO de una SPA?

No estrictamente, pero eleva significativamente el techo. El SSR o la generación estática permiten a Google indexar contenido real en la primera pasada sin depender del presupuesto de renderizado. El CSR puro funciona para apps autenticadas donde el SEO no importa; para sitios de contenido, blogs, páginas de marketing y ecommerce, el SSR es lo práctico por defecto. La auditoría identifica qué rutas necesitan SSR con más urgencia según el riesgo de presupuesto de renderizado y el potencial de tráfico.

¿Cuánto tarda la auditoría SEO de una SPA?

URL única: alrededor de 60 segundos. Escaneo profundo rastreando hasta 50 rutas del sitemap: de 5 a 10 minutos. El resultado es un PDF descargable con diff de hidratación, detección de framework, hallazgos de descubribilidad de rutas, validación de datos estructurados y una auditoría completa de Core Web Vitals. Sin registro, sin tarjeta de crédito.

Comienza

Audita tu SPA

Introduce cualquier URL. DeepAudit AI ejecuta la auditoría SEO con navegador real e independiente del framework, el escáner de SEO de JavaScript y la auditoría de Core Web Vitals. Obtienes el diff entre lo que ve el índice de primera pasada de Google y lo que tu app hidratada realmente renderiza, con el framework detectado y la corrección específica por ruta señalados.

Envía un mensaje

Get a Free Proposal

A few details and we'll send a tailored plan. No obligation.