Saltar al contenido

¿Por qué Google no indexa mis páginas de Next.js?

Los sitios hechos con Next.js suelen perder páginas por un noindex que quedó de la fase de pruebas, una sola etiqueta canónica en el layout raíz, páginas 404 que llegan en streaming y sitemaps con direcciones antiguas.

Plataforma:Next.js

Por Bruno Amorim · ·

Leer en: English · Português (Brasil) · Deutsch · Français · Italiano · Polski · 日本語 · 한국어

Por qué tus páginas de Next.js no están en Google

Revisa estas causas en orden. Las primeras dejan fuera todo el sitio. Las últimas, páginas sueltas.

  1. El sitio es nuevo. Google necesita tiempo para encontrar un sitio nuevo. Google dice que el rastreo puede tardar desde unos días hasta varias semanas. Busca en Google site: seguido de tu dominio, como site:example.com. Si no sale nada, lo más probable es que Google todavía no tenga ninguna de tus páginas. La inspección de URLs de Search Console te da la respuesta exacta para cada página.
  2. Tu dominio sirve un despliegue de vista previa. Vercel añade X-Robots-Tag: noindex a los despliegues de vista previa. Si tu dominio apunta a uno, o copiaste ese encabezado en next.config, Google deja fuera todas las páginas. Ejecuta curl -I sobre una página y busca X-Robots-Tag.
  3. Los metadatos añaden noindex. Busca robots: { index: false } en metadata o generateMetadata, a menudo un resto de la fase de pruebas. Una llamada a notFound() después de que la página empiece el streaming también añade noindex.
  4. robots.ts bloquea el sitio. app/robots.ts genera /robots.txt. Una regla disallow: '/' que quedó de pruebas bloquea todas las páginas.
  5. No hay sitemap, o Search Console no lo tiene. Next.js no tiene sitemap hasta que añades app/sitemap.ts. Lista solo direcciones que devuelvan 200, con el mismo estilo de barra final que usa tu sitio, y envía /sitemap.xml en Search Console.
  6. El contenido solo carga en el navegador, o todas las páginas comparten una etiqueta canónica. Obtén el contenido principal en el servidor, para que esté en el primer HTML. Define alternates.canonical en los metadatos de cada página. Una canónica definida solo en el layout raíz se aplica a todas las páginas de debajo, así que todas apuntan a la página de inicio.
  7. Los enlaces no son enlaces de verdad. Usa <Link href> para navegar. Google sigue enlaces <a href>, no manejadores de clic que llaman a router.push().

Si solo faltan algunas páginas: los tres motivos más comunes en Next.js

Search Console muestra el motivo de cada página en Indexación > Páginas. Estos tres son los que más salen en Next.js.

  • Soft 404: una ruta dinámica como [slug] que muestra un mensaje de "no encontrado" sin llamar a notFound() devuelve 200. También una llamada a notFound() después de empezar el streaming. Solución: llama a notFound() antes del streaming, fuera de <Suspense> y de loading.tsx, para que la ruta devuelva 404. O comprueba el slug en Proxy.
  • La página se ha indexado sin contenido: si una página carga su contenido en el navegador, Google ve primero una página vacía o un indicador de carga. Solución: genera el contenido principal en el servidor, con Server Components, páginas estáticas o renderizado en el servidor.
  • Página con redirección: Proxy (middleware) y trailingSlash mandan a los visitantes a una dirección distinta de la de tu sitemap. Solución: lista cada página en el sitemap con la dirección exacta que usa tu sitio: la misma barra final y el mismo dominio.

Dónde está tu sitemap

En el App Router, app/sitemap.ts genera /sitemap.xml y app/robots.ts genera /robots.txt. No tienes ninguno de los dos hasta que los añades.

Para avisar también a Bing de tus cambios, mira IndexNow en Next.js.

¿Qué páginas de tu sitio Next.js deja fuera Google?

CrawlCoach revisa gratis hasta 500 páginas de tu sitio Next.js con los datos de Search Console y te da la solución de cada problema. Sin código ni claves de API.

Preguntas frecuentes

¿Por qué mi página 404 de Next.js devuelve 200?

La página empezó el streaming antes de que se ejecutara notFound(), así que el código 200 ya se había enviado. En ese caso Next.js añade noindex. Mueve la comprobación antes de cualquier <Suspense> o loading.tsx, o a Proxy, para devolver un 404 real.

¿Google renderiza las páginas de Next.js del lado del cliente?

Google puede ejecutar JavaScript, pero lo hace más tarde y con menos frecuencia. Las páginas generadas en el servidor llegan a Google antes y más a menudo.

¿Necesito sitemap.ts y robots.ts?

Sí. robots.ts debe incluir la URL del sitemap, y sitemap.ts debe listar solo URLs que devuelvan 200.

Fuentes

Revisado el 8 de octubre de 2026. Google cambia Search Console y su ayuda de vez en cuando. Si algo no coincide con lo que ves en pantalla, consulta la fuente.

Descubre qué páginas de tu sitio se quedaron fuera de Google

Inicia sesión con Google. CrawlCoach revisa gratis hasta 500 páginas y te da la solución de cada problema.

Obtener mi informe gratis

Gratis hasta 500 páginas. Sin tarjeta. Inicia sesión con la cuenta de Google que usas en Search Console.

La aplicación y los informes de CrawlCoach están en inglés.

Otras plataformas

Guías relacionadas (en inglés)