Pensa a un ispettore del catasto che viene a misurare il tuo appartamento. Entra, guarda ogni stanza, prende appunti, annuisce, e poi torna in ufficio, si siede alla scrivania e decide di non registrare l’immobile nel registro ufficiale. L’appartamento esiste, lui l’ha visto con i suoi occhi, ma per il catasto, ufficialmente, quell’appartamento non c’è. Non puoi venderlo, non puoi affittarlo, non puoi farci nulla.
Questo è esattamente quello che succede quando Google Search Console ti mostra lo stato “Scansionata, ma attualmente non indicizzata” (in inglese: Crawled, currently not indexed).
Googlebot, il robot che Google manda a visitare i siti web, ha trovato la tua pagina, l’ha letta, ha elaborato i dati, ma ha poi deciso di non inserirla nel suo indice. Il risultato pratico è brutale: quella pagina non compare in nessun risultato di ricerca, per nessuna query, finché il problema non viene identificato e risolto.
Il messaggio che compare in Search Console è scarno, quasi crudele nella sua sintesi. E la maggior parte delle guide online, nonostante i titoli promettenti, si limita a rispondere “migliora i contenuti”, che è un po’ come dire a qualcuno con la febbre alta di stare meglio. Giusto in teoria, completamente inutile nella pratica.
In questa guida andiamo davvero a fondo. Vedremo tutte le cause reali di questo problema, con attenzione speciale ai siti moderni costruiti con JavaScript, React, Next.js e applicazioni SPA (Single Page Application), dove il problema è spesso più subdolo e difficile da individuare.
Capire la differenza: scansionata, indicizzata e rilevata non significano la stessa cosa
Prima di tutto è necessario chiarire la terminologia, perché molti usano questi termini in modo intercambiabile commettendo un errore che porta a diagnosi sbagliate e tempo perso.
Rilevata, attualmente non indicizzata
Questo stato significa che Google sa che la pagina esiste, ad esempio perché l’ha trovata in una sitemap o in un link esterno, ma non ci è ancora mai andata.
È come segnare un posto sul navigatore senza averci mai passato davanti: conosci l’indirizzo, non il posto. Spesso è solo una questione di tempo.
Scansionata, attualmente non indicizzata
Questo è uno stadio diverso e molto più preoccupante. Significa che Google è andato alla pagina, l’ha letta, ha elaborato il contenuto e ha scelto consapevolmente di non includerla nell’indice. Non è una dimenticanza, è una decisione attiva.
La distinzione è fondamentale perché le cause e le soluzioni sono radicalmente diverse. “Rilevata” è spesso questione di tempo o di crawl budget insufficiente. “Scansionata” è quasi sempre una valutazione attiva sulla qualità o sulla rilevanza della pagina, oppure, ed è qui che molti si perdono, un problema tecnico che ha impedito a Google di vedere il contenuto reale nel momento in cui è passato a giudicarla.
Le sei cause reali: molto più della solita storia dei “contenuti scarsi”
Quando si cerca online “crawled currently not indexed”, quasi tutti gli articoli convergono sulla stessa risposta: il contenuto non è abbastanza buono. Questa spiegazione non è sbagliata, ma è gravemente incompleta. Esistono almeno sei categorie distinte di cause, ognuna con la propria diagnosi e le proprie soluzioni specifiche.
1. Contenuto thin, duplicato o cannibalizzato
Iniziamo dalla causa più citata, perché in effetti è reale. Se una pagina ha poco testo, è quasi identica a un’altra già presente sul sito, oppure tratta un argomento in modo troppo superficiale rispetto a contenuti simili già indicizzati, Google può decidere che non aggiunge valore sufficiente all’indice.
Un esempio concreto: immagina di aprire una pizzeria e di preparare venti varianti dello stesso menu, cambiando solo il nome del piatto ma non gli ingredienti. Il critico gastronomico assaggerà le prime due o tre versioni, capirà che sono tutte uguali e non scriverà una recensione per ciascuna. Google ragiona esattamente così con le pagine di un e-commerce che ha migliaia di schede prodotto praticamente identiche: testo uguale, struttura uguale, solo il nome del prodotto che cambia. Indicizza le prime decine e ignora le restanti, perché non ha motivo di tenere in catalogo pagine che dicono la stessa cosa.
Come diagnosticarlo: usa Google con la query site:tuodominio.it argomento e conta quante pagine simili esistono già. Se ne trovi molte, Google ha probabilmente scelto di tenerne solo alcune e scartato le altre come ridondanti.
2. Pagine orfane: il problema del link interno mancante
Questa causa è sottovalutata in modo sorprendente, considerando quanto sia frequente nella pratica quotidiana di chi gestisce un sito.
Google scopre e rivaluta l’importanza delle pagine seguendo i link interni. Una pagina che nessun’altra pagina del sito linka direttamente, le cosiddette orphan page o pagine orfane, viene trattata come qualcosa di marginale e accessorio.
Pensa a come funziona una città. Le strade principali collegano tutti i quartieri, e chiunque voglia spostarsi le conosce. Poi ci sono quei vicoletti nascosti che non compaiono su nessuna mappa, che nessuno cita nelle indicazioni stradali e che anche il tassista più esperto non sa dove siano. Google è come quel tassista: conosce e visita spesso le strade principali e le destinazioni ben collegate, mentre quei vicoli sconosciuti li trova raramente e, quando li trova, non li considera degni di essere inseriti nella sua guida ufficiale della città.
Come diagnosticarlo: usa un crawler SEO, anche nella versione gratuita di Screaming Frog, e verifica quanti link interni puntano verso le pagine problematiche. Se la risposta è zero o uno, hai trovato la causa principale.
3. Conflitti tra tag canonical e hreflang
Questo è uno dei problemi più tecnici e più silenziosi, perché non produce errori visibili in nessuno strumento standard, ma compromette silenziosamente l’indicizzazione di intere sezioni del sito.
Il tag canonical dice a Google qual è la versione principale di una pagina tra più versioni simili. Il tag hreflang dice a Google che la stessa pagina esiste in più lingue o varianti geografiche. Quando i due segnali si contraddicono, per esempio il canonical punta alla versione italiana ma l’hreflang indica come principale la versione inglese, Google riceve messaggi contrastanti. La risposta tipica dell’algoritmo è ignorare entrambi i segnali, oppure indicizzare una versione a caso, spesso non quella che vogliamo.
È come dare a un corriere due indirizzi di consegna diversi per lo stesso pacco. Il corriere, giustamente confuso, potrebbe consegnare a uno dei due per puro caso, oppure potrebbe rimandare il pacco al mittente. Il problema è che il mittente non riceve nessun avviso di errore.
Come diagnosticarlo: ispeziona il codice sorgente HTML delle pagine problematiche e verifica che la URL indicata nel canonical sia coerente con quella presente nei tag hreflang. Se le due cose non si allineano, hai trovato il problema.
4. Disallineamento con l’intento di ricerca
Google non indicizza le pagine nel vuoto, ma le valuta sempre in relazione alle query per cui sarebbero rilevanti. Se il formato della tua pagina non corrisponde a quello che gli utenti si aspettano per quella ricerca, Google può decidere che la pagina non è adatta, indipendentemente dalla qualità del testo.
Un esempio pratico: se scrivi un lungo articolo su “calcolatore IMU”, ma la SERP per quella query è dominata da tool interattivi e calcolatori funzionanti dove si inseriscono i dati e si ottiene il risultato, Google capisce che gli utenti vogliono fare qualcosa, non leggere qualcosa. Il tuo articolo, per quanto approfondito e ben scritto, non soddisfa quell’intento, e viene quindi escluso dall’indice per quella categoria di ricerche. È un problema di formato, non di qualità.
5. Le soft 404: il fantasma che tecnicamente esiste ma sostanzialmente non c’è
Le soft 404 sono pagine che tecnicamente esistono nel senso che il server risponde con il codice 200 (che significa “pagina trovata, tutto ok”), ma il cui contenuto è talmente scarso o assente che Google le interpreta come se fossero pagine inesistenti.
Immagina di aprire la porta di un negozio, entrare dentro e trovare il locale completamente vuoto: niente scaffali, niente prodotti, niente personale, solo quattro muri bianchi. Il fatto che la porta si sia aperta non significa che il negozio sia aperto. Google ragiona allo stesso modo: se apre la pagina e non trova contenuto reale, tratta quella pagina come se non esistesse, anche se il server ha risposto positivamente.
Questo accade spesso con pagine di categoria senza prodotti, landing page vuote create come placeholder, pagine di ricerca interna senza risultati, oppure, ed è il caso più insidioso che vedremo meglio tra poco, pagine in cui il contenuto reale viene caricato via JavaScript e Google, non riuscendo a eseguirlo correttamente, vede solo uno scheletro HTML completamente vuoto.
6. Crawl budget esaurito su siti di grandi dimensioni
Il crawl budget è la quantità di risorse che Google è disposto a dedicare alla scansione di un sito in un determinato periodo di tempo. Per siti piccoli non è mai un problema reale. Per siti grandi come e-commerce con decine di migliaia di schede prodotto, portali di news con anni di archivio, o siti con navigazione a facet che genera automaticamente milioni di URL, il crawl budget può esaurirsi prima che Google arrivi alle pagine davvero importanti.
È come una squadra di ispettori che deve verificare tutti gli appartamenti di una città. Con un numero limitato di persone e tempo limitato, arriveranno facilmente a controllare i palazzi centrali e ben segnalati, ma non riusciranno mai a ispezionare tutti quei piccoli edifici periferici che nessuno ha mai messo in cima alla lista delle priorità.
Il nodo centrale: perché i siti JavaScript soffrono di più
Arriviamo ora alla parte più importante per chi lavora con React, Next.js, Vue, Angular o qualsiasi framework JavaScript moderno. Questa sezione spiega un meccanismo che la maggior parte delle guide ignora completamente, eppure è probabilmente la causa più frequente di “scansionata ma non indicizzata” sui siti web del 2025 e del 2026.
Come funziona il rendering in due fasi separate
Quando Googlebot visita una pagina HTML statica, il processo è lineare e prevedibile: legge il codice, capisce il contenuto, valuta la qualità, decide se indicizzare. Veloce, diretto, senza ambiguità.
Con le pagine JavaScript, il processo è radicalmente diverso. Google utilizza un sistema chiamato Web Rendering Service (WRS), basato su una versione di Chrome, per eseguire il JavaScript e vedere il contenuto così come lo vedrebbe un utente reale. Ma questo processo avviene in due fasi distinte e non simultanee.
La prima ondata avviene subito dopo la scansione: Googlebot scarica il codice HTML grezzo e lo analizza così com’è, nel momento stesso in cui lo riceve dal server. Se il contenuto è già presente in quell’HTML iniziale, come succede con il Server-Side Rendering, viene valutato e potenzialmente indicizzato immediatamente.
La seconda ondata arriva dopo, a volte ore dopo, a volte giorni dopo: il WRS esegue il JavaScript, costruisce il DOM completo e aggiorna l’indicizzazione con i contenuti generati dallo script. Tom Greenaway di Google ha dichiarato esplicitamente: “Se la pagina ha del JavaScript, il rendering viene rinviato finché non abbiamo le risorse per eseguirlo. Googlebot può indicizzare la pagina prima che il rendering sia completo, e il render finale può arrivare anche diversi giorni dopo.”
Per capirlo con un esempio di vita quotidiana: è come ordinare una pizza. Quando ordini via telefono (prima ondata), il ristorante registra il tuo nome e il tuo indirizzo. Poi, qualche ora dopo (seconda ondata), prepara la pizza e te la porta. Se però tra la telefonata e la consegna il ristorante ha troppi ordini arretrati, la tua pizza potrebbe arrivare con ore di ritardo, o in certi casi non arrivare affatto quella sera.
Il dato che cambia la prospettiva: Google è 9 volte più lento su JavaScript
Un esperimento condotto da Onely, una delle agenzie di Technical SEO più rispettate a livello internazionale, ha misurato quanto tempo impiega Google a seguire i link interni in una struttura di pagine profonde, confrontando HTML statico puro e JavaScript puro. Il risultato è stato netto.
Con HTML statico, Google impiegava circa 36 ore per arrivare fino alla settima pagina in profondità nella struttura del sito. Con JavaScript, lo stesso percorso richiedeva circa 313 ore, ovvero circa 9 volte più tempo.
In pratica Google necessita di risorse fino a 9 volte maggiori per processare una pagina JavaScript rispetto a una pagina HTML statica. Per molti siti, questo rallentamento sistematico si traduce direttamente in pagine che non vengono mai indicizzate, non perché siano di bassa qualità, ma perché Google non ha mai avuto abbastanza tempo e risorse per processarle completamente.
La ricerca condotta da IndexMachine nel 2026 aggiunge un dato ancora più specifico: il tempo mediano di rendering di una pagina JavaScript è di circa 10 secondi, ma può arrivare fino a 18 ore per alcune pagine particolarmente complesse. E quando i file JavaScript necessari o le API chiamate dalla pagina sono bloccate nel file robots.txt, il rendering fallisce completamente e la pagina viene catalogata come vuota.
Quando JavaScript produce pagine letteralmente invisibili a Google
Il caso più critico, e purtroppo molto più comune di quanto si pensi, si verifica quando il contenuto principale della pagina viene caricato interamente via JavaScript, tipicamente attraverso chiamate API o istruzioni fetch eseguite nel browser dell’utente. In questo scenario, l’HTML iniziale che Googlebot riceve nella prima ondata è uno scheletro completamente vuoto: forse un semplice <div id="root"></div>, nient’altro.
Torna all’esempio del negozio: immagina di arrivare davanti alla vetrina, guardare dentro e non vedere nulla, perché i prodotti vengono allestiti sugli scaffali solo dopo che il cliente entra fisicamente nel negozio e attiva un meccanismo nascosto. Dall’esterno, il negozio sembra sempre vuoto. Googlebot, come qualsiasi passante che si affaccia alla vetrina, vede solo lo spazio vuoto e passa oltre.
Google vede quindi una pagina vuota nella prima ondata. Quando arriva alla seconda ondata per eseguire il JavaScript, può già aver catalogato quella pagina come thin content o soft 404, decidendo che non vale la pena indicizzarla. Questo è il meccanismo esatto dietro a moltissimi casi di “scansionata ma non indicizzata” su siti React o Vue che usano il rendering lato client puro. Non è che Google non voglia indicizzare quelle pagine: è che nel momento in cui le ha valutate, erano letteralmente vuote.
Il problema si estende oltre Google: i crawler AI non eseguono JavaScript
C’è un aspetto che nel 2026 non si può più ignorare. Search Engine Land riassume la situazione con una chiarezza che non lascia spazio a interpretazioni: “I siti JavaScript-heavy pagano una tassa del 9x sul loro crawl budget. E la maggior parte dei crawler AI non eseguono JavaScript affatto. Prendono l’HTML grezzo e vanno avanti.”
Questo secondo punto riguarda strumenti come ChatGPT, Perplexity, Claude e Bing Copilot, tutti sistemi di AI search in rapidissima crescita. Se il tuo contenuto esiste solo nel DOM renderizzato dal browser, cioè solo dopo che JavaScript ha fatto il suo lavoro, è invisibile non soltanto a Google nella sua prima ondata di analisi, ma anche a tutti questi motori generativi che costituiscono una quota sempre più significativa del traffico informativo.
Come diagnosticare il problema: un percorso metodico passo dopo passo
La diagnosi non richiede strumenti professionali costosi. Richiede metodo, pazienza e sapere dove guardare.
Passo 1: identifica le pagine problematiche in Search Console
In Google Search Console, vai su Indicizzazione, poi Pagine, poi clicca su “Perché le pagine non vengono indicizzate”. Filtra per “Scansionata, attualmente non indicizzata” e scarica la lista completa. Concentrati prima sulle pagine che hanno valore strategico: pagine di categoria principali, landing page, articoli pillar, schede prodotto di punta.
Passo 2: usa l’ispezione URL per ogni pagina critica
Seleziona una URL dalla lista, clicca su “Ispeziona URL” e poi su “Testa URL live”. Osserva con attenzione la screenshot che Google genera: il contenuto che vedi in quella screenshot è esattamente quello che Google ha visto durante la scansione. Se la pagina appare vuota o incompleta rispetto a quello che vedi nel tuo browser, il problema è tecnico, non di qualità del contenuto.
Passo 3: confronta HTML grezzo e DOM renderizzato
Apri la pagina nel tuo browser, clicca con il tasto destro e seleziona “Visualizza sorgente pagina” per vedere l’HTML grezzo che arriva dal server. Poi apri gli strumenti di sviluppo con F12 e vai nella tab “Elements” per vedere il DOM completo, cioè tutto quello che il browser costruisce dopo aver eseguito JavaScript.
Se i due sono molto diversi, se nel sorgente vedi pochissimo testo ma nel DOM il contenuto c’è, significa che quel contenuto viene generato da JavaScript. Per Google, durante la prima ondata di analisi, quel contenuto non esiste ancora.
Passo 4: controlla i link interni verso quella pagina
Verifica quante pagine del sito linkano verso la pagina problematica. Se la risposta è zero, hai trovato una pagina orfana. Se è uno o due, la pagina riceve pochissima autorità tramite la struttura di link interni, e Google la considera di scarsa importanza rispetto al resto del sito.
Passo 5: verifica canonical e direttive robots
Ispeziona il codice sorgente HTML della pagina e cerca due cose specifiche: il tag <meta name="robots" e il tag <link rel="canonical". Assicurati che il canonical punti alla stessa URL che stai ispezionando, e che non ci siano direttive noindex inserite accidentalmente, per esempio da un plugin attivo durante la fase di sviluppo del sito e mai disattivato dopo il lancio.
Passo 6: non farti ingannare dai falsi positivi del report
Questo passo viene spesso saltato, causando ore di lavoro inutile. Il report aggregato “Pagine” di Google Search Console ha un ritardo di aggiornamento che può arrivare a diverse settimane. È possibile che una pagina sia stata indicizzata correttamente, ma il report continui a mostrarla come problematica.
Prima di intervenire, verifica sempre lo stato reale con l’ispezione URL singola, cliccando “Testa URL live”, che restituisce dati aggiornati in tempo reale, oppure fai direttamente una ricerca Google con site:tuodominio.it/pagina-specifica. Se la pagina compare, è indicizzata, indipendentemente da quello che dice il report aggregato.
Le soluzioni concrete: da dove partire in base alla causa
Soluzioni per problemi di qualità e contenuto
Arricchisci le pagine thin con contenuto originale, dettagliato e coerente con l’intento di ricerca reale degli utenti. Unisci le pagine simili o duplicate in un’unica pagina più completa, reindirizzando le versioni secondarie con redirect 301 permanenti verso la versione consolidata. Valuta di mettere in noindex le pagine senza valore stand-alone, come pagine di tag, archivi di date vuoti e pagine di ringraziamento dopo la compilazione di un form.
Soluzioni per problemi di JavaScript e rendering
La soluzione più efficace è migrare verso il Server-Side Rendering per i contenuti critici. Il testo principale deve essere presente nell’HTML che arriva dal server, prima che JavaScript venga eseguito nel browser. Framework come Next.js, Nuxt.js e SvelteKit supportano nativamente questa modalità.
Nel breve termine, verifica che i file JavaScript principali e le API da cui dipende il contenuto non siano bloccati nel file robots.txt. Sposta i contenuti che vuoi indicizzare fuori da accordion, tab e sezioni caricate in lazy load, oppure assicurati che una versione di quel contenuto sia sempre presente nell’HTML iniziale. Usa “Testa URL live” in Search Console come check rapido e continuativo.
Soluzioni per problemi di internal linking e crawl budget
Aggiungi link interni dalle pagine ad alto traffico verso le pagine orfane che vuoi indicizzare. Invia una sitemap XML aggiornata che includa solo le pagine che vuoi davvero nell’indice, escludendo parametri URL, pagine di navigazione a facet e risultati di ricerca interna. Su siti grandi, blocca in robots.txt le URL che non hanno valore SEO, come pagine di login, carrello e URL con parametri tecnici o di sessione.
Soluzioni per problemi di canonical e hreflang
Esegui un audit sistematico di tutti i tag canonical del sito. Ogni pagina da indicizzare deve avere un canonical self-referencing, cioè che punta a se stessa, oppure alla versione canonica corretta se esistono varianti. Verifica che hreflang e canonical non si contraddicano mai: la pagina indicata nel canonical deve essere inclusa come versione alternativa nel set di hreflang corrispondente.
Dopo aver corretto qualsiasi problema tecnico, richiedi l’indicizzazione tramite lo strumento di ispezione URL in Search Console, ma fallo solo dopo aver fatto le modifiche. Richiedere il crawl di una pagina che non è ancora stata migliorata è inutile e può allungare i tempi di risoluzione.
In conclusione il problema non ha mai una causa unica
“Scansionata, ma attualmente non indicizzata” è uno dei problemi SEO più frustranti proprio perché non ha mai una causa unica e universale. Può essere un contenuto troppo simile ad altri già presenti, un link interno mancante, un JavaScript che nasconde il contenuto, un canonical sbagliato, un crawl budget esaurito, oppure una combinazione di tutto questo nello stesso sito.
La differenza tra chi riesce a risolvere il problema e chi ci gira attorno per mesi non sta negli strumenti usati, ma nel metodo diagnostico. Senza capire esattamente perché Google ha deciso di non indicizzare una pagina specifica, qualsiasi intervento rimane un tentativo alla cieca.
Su siti moderni con JavaScript pesante, la priorità è sempre la stessa: assicurarsi che il contenuto essenziale sia accessibile già nell’HTML iniziale, prima che qualsiasi script venga eseguito. Questo vale per Google, vale per i crawler AI di tutti gli altri motori generativi, e vale per la solidità strutturale del sito nel tempo.
Perché se Google arriva a casa tua e trova le stanze vuote, nessuna ristrutturazione futura cambierà l’impressione che si è già fatto in quella prima visita.
