Vai al contenuto

Perché le mie pagine Next.js non sono indicizzate da Google?

I siti Next.js perdono spesso pagine per un noindex rimasto dallo staging, un solo tag canonical nel layout principale, pagine 404 in streaming e Sitemap con vecchi indirizzi.

Piattaforma:Next.js

Di Bruno Amorim · ·

Leggi in: English · Português (Brasil) · Español · Deutsch · Français · Polski · 日本語 · 한국어

Le cause, in ordine

  1. Il sito è nuovo. La scansione può richiedere da alcuni giorni ad alcune settimane. Cerca su Google site: seguito dal tuo dominio.
  2. Il dominio serve una build di anteprima. Vercel aggiunge X-Robots-Tag: noindex ai deployment di anteprima. Se il tuo dominio punta a uno di questi, o hai copiato quell'header in next.config, Google salta ogni pagina. Esegui curl -I su una pagina e cerca X-Robots-Tag.
  3. I metadata aggiungono noindex. Cerca robots: { index: false } nei metadata o in generateMetadata, spesso rimasto dallo staging. Anche notFound() chiamato dopo l'inizio dello streaming aggiunge noindex.
  4. robots.ts blocca il sito. app/robots.ts costruisce /robots.txt. Una regola disallow: '/' rimasta dallo staging blocca ogni pagina.
  5. Non c'è una Sitemap, o Search Console non ce l'ha. Next.js non ha una Sitemap finché non aggiungi app/sitemap.ts. Elenca solo indirizzi che rispondono 200, con lo stile di barra del tuo sito, e invia /sitemap.xml in Search Console.
  6. Il contenuto si carica solo nel browser, o tutte le pagine condividono un canonical. Carica il contenuto principale sul server, così è nel primo HTML. Imposta alternates.canonical nei metadata di ogni pagina: un canonical solo nel layout principale vale per tutte le pagine sotto, che puntano così alla home page.
  7. I link non sono veri link. Usa <Link href> per la navigazione. Google segue i link <a href>, non i gestori di clic che chiamano router.push().

La Sitemap

Nell'App Router, app/sitemap.ts crea /sitemap.xml e app/robots.ts crea /robots.txt. Non hai né l'una né l'altro finché non li aggiungi.

I motivi più comuni in Search Console

  • Soft 404: una route dinamica come [slug] che mostra "non trovata" senza chiamare notFound() risponde 200. Anche notFound() dopo l'inizio dello streaming. Chiama notFound() prima dello streaming, fuori da <Suspense> e loading.tsx, o controlla lo slug in Proxy.
  • Pagina indicizzata senza contenuti: se una pagina carica i contenuti nel browser, Google vede prima una pagina vuota o un'icona di caricamento. Costruisci il contenuto principale sul server, con Server Components, pagine statiche o rendering lato server.
  • Pagina con reindirizzamento: Proxy (middleware) e trailingSlash mandano i visitatori a un indirizzo diverso da quello della Sitemap. Elenca ogni pagina con l'indirizzo esatto che il sito usa.

Quali route Google ha saltato

CrawlCoach controlla con Google le pagine elencate dal tuo sitemap.ts e ti dice quali Google ha saltato, raggruppate per motivo. Un noindex rimasto dallo staging o un canonical sbagliato emerge subito, con la soluzione.

Domande frequenti

Perché la mia pagina 404 di Next.js risponde 200?

La pagina ha iniziato lo streaming prima che notFound() venisse eseguito, quindi lo stato 200 era già partito. Next.js aggiunge noindex in quel caso. Sposta il controllo prima di ogni <Suspense> o loading.tsx, o in Proxy, per restituire un vero 404.

Google visualizza le pagine Next.js costruite nel browser?

Google può eseguire JavaScript, ma lo fa più tardi e meno spesso. Le pagine costruite sul server arrivano su Google prima e più spesso.

Servono sia sitemap.ts sia robots.ts?

Sì. robots.ts deve indicare l'URL della Sitemap, e sitemap.ts deve elencare solo URL che rispondono 200.

Fonti

Verificato il 8 ottobre 2026. Google cambia ogni tanto Search Console e la sua guida. Se sul tuo schermo vedi qualcosa di diverso, controlla la fonte.

Scopri quali pagine del tuo sito mancano su Google

Accedi con Google. CrawlCoach controlla gratis fino a 500 pagine e ti dà la soluzione per ogni problema.

Ottieni il report gratuito

Gratis fino a 500 pagine. Nessuna carta richiesta. Accedi con l'account Google che usi per Search Console.

L'app e i report di CrawlCoach sono in inglese.

Altre piattaforme

Altre guide (in inglese)