Quando una pagina non compare nei risultati di ricerca, la domanda giusta non è «perché Google mi penalizza?», ma «in quale fase si è fermata?». Un motore di ricerca lavora per tappe distinte: prima scopre l'indirizzo, poi lo scarica, poi lo interpreta e infine decide se conservarlo nell'indice. Ogni tappa ha i suoi guasti tipici, e capire la sequenza è il modo più rapido per fare diagnosi.
Fase 1: la scoperta degli URL
Prima di tutto il motore deve sapere che un indirizzo esiste. Le fonti principali sono tre:
- link da altre pagine, interne o esterne, che il crawler ha già visitato;
- sitemap XML dichiarate nel file robots.txt o inviate tramite gli strumenti per webmaster;
- segnalazioni dirette, come l'invio manuale di un URL o protocolli di notifica supportati da alcuni motori.
Una pagina che non riceve link e non compare in una sitemap è, a tutti gli effetti, invisibile. È il caso delle cosiddette pagine orfane: esistono sul server, ma nessuno le annuncia. Nel mio lavoro le trovo spesso dopo un restyling, quando un menu viene rifatto e intere sezioni restano raggiungibili solo digitando l'indirizzo.
Fase 2: la scansione (crawling)
Scoperto l'URL, il crawler lo mette in coda e, quando arriva il suo turno, effettua una richiesta HTTP. Prima di farlo consulta il file robots.txt dell'host: se il percorso è escluso con Disallow, la richiesta non parte.
Durante la scansione contano soprattutto:
- il codice di stato restituito (200, 301, 404, 500 e così via);
- la velocità di risposta del server, perché un host lento o che va in errore induce il crawler a rallentare;
- gli header HTTP, che possono contenere istruzioni come
X-Robots-Tago un canonical.
Un errore frequente è pensare che bloccare una pagina in robots.txt la tolga dai risultati. Non è così: il blocco impedisce di leggerla, non di conoscerne l'indirizzo. Se altre pagine la linkano, l'URL può comparire comunque, magari senza descrizione.
Fase 3: il rendering
Molti siti moderni costruiscono il contenuto con JavaScript. L'HTML scaricato nella fase precedente, in quel caso, è poco più di un guscio vuoto. Per vedere la pagina come la vede un utente, il motore deve eseguire gli script in un browser senza interfaccia.
Il rendering è costoso, quindi può avvenire in un secondo momento rispetto alla scansione. Le conseguenze pratiche:
- il testo e i link presenti solo dopo l'esecuzione di JavaScript possono essere scoperti in ritardo;
- se uno script fallisce, o una risorsa necessaria è bloccata da robots.txt, la pagina renderizzata può risultare incompleta;
- i link generati da eventi di clic, senza un vero elemento
<a href>, di solito non vengono seguiti.
Per questo, dove è possibile, conviene che il contenuto principale e i link di navigazione siano già presenti nell'HTML iniziale.
Fase 4: l'indicizzazione
Con la pagina renderizzata, il motore analizza testo, titoli, immagini, dati strutturati e segnali tecnici. Qui avvengono due decisioni importanti.
Canonicalizzazione
Se più URL mostrano lo stesso contenuto, il motore ne sceglie uno come rappresentante, il canonico, e raggruppa gli altri come duplicati. Il tag rel="canonical" è un suggerimento forte, ma viene confrontato con altri indizi: redirect, link interni, presenza nella sitemap, protocollo HTTPS.
Inclusione o esclusione
Non tutto ciò che viene scansionato viene indicizzato. La pagina può essere esclusa perché:
- contiene un
noindexnel meta robots o negli header; - è considerata duplicata di un'altra;
- ha poco contenuto utile o sembra una pagina d'errore travestita (il cosiddetto soft 404);
- il motore la giudica semplicemente non abbastanza utile da conservarla.
L'indicizzazione non è un diritto: è una scelta del motore, che ha risorse limitate e preferisce investirle su pagine che ritiene di valore.
Una tabella per la diagnosi
| Sintomo | Fase probabile | Prima verifica |
|---|---|---|
| L'URL non è mai stato visitato | Scoperta | Link interni e sitemap |
| Visitato ma «bloccato» | Scansione | Regole in robots.txt |
| Contenuto mancante nell'anteprima renderizzata | Rendering | Errori JavaScript, risorse bloccate |
| Scansionato ma non indicizzato | Indicizzazione | Qualità, duplicati, noindex |
| Indicizzato con un altro URL | Canonicalizzazione | Canonical, redirect, link interni |
Gli strumenti per capire dove ci si è fermati
Gli strumenti per webmaster dei principali motori offrono un'ispezione dell'URL che mostra se la pagina è nota, quando è stata scansionata, quale canonico è stato scelto e come appare dopo il rendering. A questo si affiancano:
- un crawler desktop che simula la scansione e segnala codici di stato, canonical e profondità;
- i log del server, che dicono con certezza quali URL il crawler ha richiesto e con quale esito;
- il confronto tra sorgente HTML e DOM renderizzato, per vedere cosa dipende da JavaScript.
In sintesi
- La ricerca lavora in quattro tappe: scoperta, scansione, rendering, indicizzazione.
- Bloccare in robots.txt impedisce la lettura, non la comparsa dell'URL.
- Il contenuto essenziale e i link dovrebbero esistere già nell'HTML iniziale.
- Essere scansionati non garantisce di essere indicizzati: contano qualità e unicità.
- Diagnosticare per fasi evita di cercare il problema nel posto sbagliato.