Cyber SEO: 50% de descuento
Preferencias

La privacidad es importante para nosotros, por lo que tiene la opción de desactivar ciertos tipos de almacenamiento que pueden no ser necesarios para el funcionamiento básico del sitio web. Bloquear categorías puede afectar a su experiencia en el sitio web. Más información (Política de cookies)

Aceptar todas las cookies

SEO en React: renderizado, metadatos y enlaces para una app React que posiciona

Guía de SEO en React: por qué el renderizado en el cliente frena la indexación, cuándo usar SSR o prerrenderizado, cómo gestionar metadatos con React 19 y ser legible para las IA.

Publicado el
25/10/2026
Actualizado el
25/10/2026
Tiempo de lectura
8 min
Captura de pantalla de Sorank con una tarjeta blanca etiquetada Technical SEO y el texto 'React SEO', sobre una ventana de chat del asistente SEO

Herramientas

En esta página

En resumen

React puede posicionar en Google, pero una aplicación de una sola página por defecto envía un archivo HTML casi vacío y depende de JavaScript para mostrar el contenido, lo que retrasa la indexación y oculta la página a la mayoría de los rastreadores de IA. La solución fiable es entregar HTML desde el servidor: prerrenderizar las páginas estáticas en el build o usar un framework con renderizado en el servidor (Next.js, React Router). Después, da a cada URL un título, una descripción y una canónica únicos, usa enlaces reales y códigos de estado correctos, y comprueba lo que reciben los bots.

¿Quiere ir más lejos? Pregunte a

Quiz rápido

¿Es el SEO para ti y cómo empezar?

Pregunta 1 de 425%
¿La gente busca en Google lo que vendes?

El SEO en React consiste en hacer que una aplicación React sea rastreable, indexable y comprensible para los buscadores y los asistentes de IA. React en sí es neutral: los problemas vienen de renderizarlo todo en el navegador. Google confirma en sus conceptos básicos de SEO para JavaScript que procesa las aplicaciones JavaScript en tres fases (rastreo, renderizado e indexación) y que el renderizado en el servidor o el prerrenderizado «sigue siendo una gran idea, porque hace que tu sitio sea más rápido para los usuarios y los rastreadores, y no todos los bots pueden ejecutar JavaScript».

¿Por qué React es difícil para el SEO?

Una app React creada como aplicación de una sola página entrega un archivo HTML que apenas contiene un div raíz vacío y una etiqueta script. El navegador descarga el JavaScript, lo ejecuta y construye la página. Un rastreador que solo lee el HTML no ve nada que indexar: ni encabezados, ni texto, ni enlaces.

Googlebot sí ejecuta JavaScript, pero en un paso aparte: la página se rastrea, entra en la cola de renderizado, se renderiza en un Chromium sin interfaz y solo entonces se usan los enlaces y el contenido renderizados. Cada paso adicional es una ocasión de fallo (un error de script, una API bloqueada, un tiempo de espera) y añade retraso antes de que las páginas nuevas aparezcan en los resultados. Nuestra guía de SEO para JavaScript detalla este proceso, y nuestro artículo sobre la indexación en Google explica cómo indexar páginas más rápido.

Otros bots son menos pacientes. El análisis de Vercel de diciembre de 2024, The rise of the AI crawler, concluyó que «ninguno de los grandes rastreadores de IA renderiza JavaScript actualmente», citando a GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot y PerplexityBot. Una página React renderizada en el cliente es invisible para ChatGPT, Claude y Perplexity, aunque Google la indexe.

¿Qué enfoque de renderizado conviene a un sitio React?

El equipo de React recomienda ahora empezar las apps nuevas con un framework. Al retirar Create React App el 14 de febrero de 2025, escribió en su anuncio que «el renderizado en el servidor puede mejorar el SEO» y que también mejora el rendimiento al reducir el JavaScript que hay que descargar antes de ver el contenido. Las opciones, de la más débil a la más sólida para la búsqueda:

EnfoqueQué reciben los botsVeredicto SEOHerramientas habituales
Renderizado en el cliente (SPA)HTML vacío, contenido tras JavaScriptDébil: indexación retrasada, invisible para los rastreadores de IAVite + React, proyectos antiguos de Create React App
Renderizado dinámicoHTML prerrenderizado solo para botsSolución provisional, Google no la recomiendaServicios de prerrenderizado, proxys con navegador sin interfaz
Prerrenderizado estático en el buildHTML completo para cada URL conocidaMuy bueno para contenido que cambia pocoPrerrenderizado de React Router, generadores de sitios estáticos, exportación estática de Next.js
Renderizado en el servidorHTML completo en cada solicitud y luego hidrataciónEl mejor para sitios grandes o que se actualizan a menudoNext.js, React Router (modo framework, antes Remix)

Sobre el renderizado dinámico, la documentación de Google es clara: «era una solución provisional y no una solución a largo plazo», y Google recomienda en su lugar el renderizado en el servidor, el renderizado estático o la hidratación. Si vas a elegir un framework, nuestra guía de SEO en Next.js detalla los modos de renderizado, la Metadata API y los sitemaps.

Si migrar no es posible, Google puede indexar igualmente una aplicación de una sola página con algo de cuidado. Nuestra guía de SEO para aplicaciones de una sola página enumera las condiciones; el resto de este artículo vale para ambos casos.

¿Cómo se definen títulos y metaetiquetas en React?

Desde React 19 (estable desde el 5 de diciembre de 2024), los componentes pueden renderizar directamente etiquetas title, meta y link, y React las sube al head del documento. Las notas de la versión React 19 indican que este soporte nativo funciona «con apps solo de cliente, SSR en streaming y Server Components». Antes de React 19, bibliotecas como react-helmet o react-helmet-async hacían ese trabajo, y siguen siendo útiles para sustituir valores por defecto en cada ruta.

function ProductPage({ product }) {
  return (
    <>
      <title>{`${product.name} | Shop`}</title>
      <meta name="description" content={product.summary} />
      <link rel="canonical" href={`https://example.com/p/${product.slug}`} />
      <h1>{product.name}</h1>
    </>
  )
}

Tres reglas se aplican sea cual sea el método:

  • Un solo título por página, único y descriptivo. La documentación de React advierte que si varios componentes renderizan un título a la vez, «el comportamiento de los navegadores y buscadores no está definido». Pásale una sola cadena (una plantilla literal), no una mezcla de texto y variables.
  • Una descripción y una canónica por URL, generadas a partir de los datos de la página. Un generador de metaetiquetas ayuda a redactarlas y un verificador de canónicas confirma lo que está publicado.
  • Etiquetas Open Graph en el HTML inicial para las páginas que se comparten, porque los bots de vista previa de enlaces suelen leer el HTML sin procesar.

Atención

En una app solo de cliente, las etiquetas que renderiza React existen únicamente después de ejecutar JavaScript. Google puede leerlas tras el renderizado; los rastreadores de IA y la mayoría de los bots de vista previa de redes sociales, no. El renderizado en el servidor o el prerrenderizado las coloca en la respuesta HTML para todos.

¿Qué errores de enrutado y enlaces bloquean la indexación?

Google afirma que «solo puede descubrir tus enlaces si son elementos HTML a con un atributo href» y desaconseja usar fragmentos de URL para cargar contenidos distintos. La mayoría de los fallos de SEO en React vienen de detalles de enrutado:

ErrorEfectoSolución
Navegación con onClick en un div o un botónGoogle no encuentra ningún enlace que seguirUsar el componente Link del enrutador, que genera un a con href
Rutas con almohadilla (/#/productos)Todas las páginas comparten una URL para GoogleUsar rutas basadas en el historial (/productos) con BrowserRouter o un framework
Vista «no encontrado» servida con estado 200«Soft 404» en Search ConsoleDevolver un 404 real desde el servidor o añadir noindex con JavaScript en una SPA pura
Redirecciones solo en el clienteRedirecciones lentas o ignoradasUsar redirecciones de servidor 301 o 308 para las páginas movidas
Contenido cargado al hacer clic o desplazarseEl texto nunca se renderiza para el rastreadorRenderizar el contenido principal al cargar; paginar listas con URL reales
JavaScript o API bloqueados en robots.txtGoogle renderiza una página vacíaPermitir los scripts y endpoints de API que necesita la página

Para ver lo que renderiza Google, usa la herramienta de inspección de URLs de Search Console y consulta el HTML de la página probada, o pasa tus plantillas clave por un verificador de indexabilidad.

¿Cómo se gestionan el sitemap y los datos estructurados en React?

React no trae sitemap integrado. Genera sitemap.xml en el build a partir de tus rutas y datos (o con la función de sitemap de tu framework), incluye solo URL canónicas que respondan 200 y referencia el archivo en robots.txt. Para un sitio estático pequeño basta un generador de sitemap XML.

Los datos estructurados siguen la misma regla que los metadatos: renderiza el script JSON-LD con la página, a partir de los mismos datos, idealmente en el servidor. Google puede leer un JSON-LD inyectado por JavaScript tras el renderizado, pero el marcado que falta en el HTML inicial falta también para los rastreadores que no renderizan. Usa Article para los artículos, Product en e-commerce, Organization en todo el sitio y BreadcrumbList para las páginas profundas.

Consejo

Ejecuta curl sobre la URL de una página y busca en el resultado su H1 y una frase del cuerpo. Si faltan, puede que Google indexe la página tras renderizarla, pero los rastreadores de IA no verán nada.

¿Cómo afecta el rendimiento al SEO en React?

Los paquetes de JavaScript grandes perjudican las Core Web Vitals: el navegador debe descargar, analizar e hidratar el código antes de que la página responda, lo que pesa en el Largest Contentful Paint y el Interaction to Next Paint, sobre todo en móvil. El anuncio del equipo de React sobre Create React App señala que el renderizado en el servidor envía menos JavaScript y un documento HTML completo, lo que acelera el First Contentful Paint y puede reducir el INP. Palancas útiles: dividir el código por ruta con React.lazy, servir imágenes con dimensiones explícitas, cargar en diferido los componentes bajo la parte visible y auditar los scripts de terceros.

¿Qué debe incluir una lista de control de SEO en React?

  1. Cada URL indexable devuelve HTML completo (renderizado en el servidor o prerrenderizado), comprobado con curl.
  2. Un título, una descripción y una canónica autorreferenciada únicos por URL.
  3. Rutas basadas en el historial, sin URL con almohadilla, y cada enlace interno renderizado como un a con href.
  4. Códigos de estado reales: 404 para páginas inexistentes, 301 o 308 para páginas movidas.
  5. Un sitemap.xml generado con los mismos datos que las rutas y declarado en robots.txt.
  6. JSON-LD renderizado con la página y validado con la prueba de resultados enriquecidos.
  7. Scripts, estilos y API necesarios para el renderizado permitidos en robots.txt.
  8. Código dividido por ruta y Core Web Vitals monitorizadas con usuarios reales.

¿Cómo hacer visible un sitio React en las respuestas de las IA?

El GEO (optimización para motores generativos) empieza por el acceso. Como los rastreadores de IA recogen el HTML sin procesar, una página React debe entregar su texto, sus encabezados y su JSON-LD sin JavaScript para ser leída, resumida y citada. Una auditoría de rastreabilidad para IA muestra lo que estos bots reciben de tus páginas. La segunda condición es un contenido que merezca ser citado: páginas que respondan a una pregunta por sección, con fuentes, cifras y definiciones claras.

Esa parte de contenido es la que automatiza Sorank, nuestro producto. Sorank es un software de SEO y GEO en autopilot: su generador de artículos de blog redacta y publica 20, 60 o 120 artículos al mes con fuentes, enlaces internos e imágenes, y se conecta por webhook a sitios a medida, como un sitio React o Next.js. Su SEO Chat responde en una conversación a tus preguntas sobre el rendimiento de tu sitio en la búsqueda.

Asistente SEO Chat de Sorank respondiendo en una conversación a una pregunta sobre el rendimiento de un sitio en la búsqueda

En pocas palabras: sirve HTML desde el servidor, da a cada URL su propio título, descripción y canónica, y usa enlaces reales. Así React posiciona como cualquier otro sitio y los asistentes de IA pueden leerlo. Para alimentar ese sitio con artículos pensados para Google y las IA, consulta los planes de Sorank, desde 49 € al mes con 3 días de prueba gratis.

Preguntas frecuentes

¿React es malo para el SEO?

No. React es una biblioteca de interfaces y su SEO depende de cómo se rendericen las páginas. Una aplicación de una sola página renderizada en el cliente envía HTML vacío y depende del paso de renderizado de Google, lo que retrasa la indexación y oculta el contenido a los rastreadores de IA. El mismo código React servido con renderizado en el servidor o prerrenderizado estático posiciona como un sitio clásico.

¿Google indexa los sitios hechos con React?

Sí. Googlebot ejecuta JavaScript con una versión reciente de Chromium, así que puede indexar el contenido que una app React construye en el navegador. El renderizado ocurre después del rastreo y puede retrasarse o fallar si los scripts dan error o las API están bloqueadas. La herramienta de inspección de URLs de Search Console muestra el HTML renderizado tal como lo ve Google.

¿Sigue haciendo falta React Helmet con React 19?

No para los casos sencillos. React 19 renderiza etiquetas title, meta y link desde cualquier componente y las sube al head del documento. Bibliotecas como react-helmet-async siguen siendo útiles para sustituir valores por defecto del sitio en cada ruta o para versiones antiguas de React.

Auditoría SEO y GEO gratuita

Consiga gratis su plan de contenidos para 30 días

Analizamos a sus competidores, su sitio web y su visibilidad en las IA para crear gratis un plan de contenidos a medida.

Nuestras herramientas SEO gratuitas

Ver todas nuestras herramientas gratuitas

Reciba la auditoría gratuita de su sitio

PROBARON SORANK ANTES QUE USTED

Testimonios de fundadores ambiciosos

Crecimiento orgánicoE-commerce

0 a 10000 visitantes en 5 meses

Celio Fabianomonrobotlavevitre.fr
Crecimiento orgánicoSoftware

0 a 5000 clientes en 8 meses

Thibault BMsorank.com
Crecimiento orgánicoOcio y aviación

De 0 a 1104 clics en 4 meses

Dominiqueflight-sensations-idf.com
Crecimiento orgánicoGeneración de leads para instaladores

x98 clics en 2 meses

LeadBolt Agencyleadbolt.online
Crecimiento orgánicoSoftware musical

x55 de clics en 5 meses

Valentin Cordiertiger-sounds.com