¿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.
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.
- 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, comosite: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. - Tu dominio sirve un despliegue de vista previa. Vercel añade
X-Robots-Tag: noindexa los despliegues de vista previa. Si tu dominio apunta a uno, o copiaste ese encabezado ennext.config, Google deja fuera todas las páginas. Ejecutacurl -Isobre una página y buscaX-Robots-Tag. - Los metadatos añaden
noindex. Buscarobots: { index: false }enmetadataogenerateMetadata, a menudo un resto de la fase de pruebas. Una llamada anotFound()después de que la página empiece el streaming también añadenoindex. robots.tsbloquea el sitio.app/robots.tsgenera/robots.txt. Una regladisallow: '/'que quedó de pruebas bloquea todas las páginas.- 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 devuelvan200, con el mismo estilo de barra final que usa tu sitio, y envía/sitemap.xmlen Search Console. - 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.canonicalen 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. - Los enlaces no son enlaces de verdad. Usa
<Link href>para navegar. Google sigue enlaces<a href>, no manejadores de clic que llaman arouter.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 anotFound()devuelve200. También una llamada anotFound()después de empezar el streaming. Solución: llama anotFound()antes del streaming, fuera de<Suspense>y deloading.tsx, para que la ruta devuelva404. 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
trailingSlashmandan 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.
- Documentación de Next.js: notFound (en inglés)
- Documentación de Next.js: loading.js y códigos de estado (en inglés)
- Documentación de Next.js: generateMetadata (en inglés)
- Documentación de Next.js: trailingSlash (en inglés)
- Vercel: ¿los buscadores indexan los despliegues de vista previa? (en inglés)
- Centro de la Búsqueda de Google: Hacer que los enlaces se puedan rastrear
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 gratisGratis 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
- v0v0 crea apps Next.js en Vercel, que generan las páginas en el servidor. Los bloqueos habituales: protección, título de inicio y sin sitemap.
- WordPressUn solo ajuste de WordPress puede ocultar todo tu sitio a Google. Las causas, en orden, y dónde se corrige cada una.
- GitHub PagesLos sitios nuevos de GitHub Pages suelen faltar en Google por no tener sitemap ni propiedad en Search Console, y por pocos enlaces.