Come intercettare un noindex prima che rovini il tuo posizionamento
Per intercettare un noindex in produzione devi controllare sia l'HTML sia gli header HTTP delle pagine che contano, e affidarti a qualcosa che li confronti da un giorno all'altro. Un noindex fuori posto non genera errori: la pagina si carica, il checkout funziona, e intanto Google rimuove l'URL dal suo indice man mano che lo riscansiona.
Il tag ha usi legittimi sulle pagine di ringraziamento, sui risultati della ricerca interna e negli ambienti di staging. Il danno comincia quando finisce su una pagina che deve posizionarsi e ci resta per settimane prima che qualcuno se ne accorga.
Da dove arriva di solito un noindex in produzione
Quasi sempre è un'impostazione di staging che ha fatto il viaggio. Gli ambienti di staging si tengono fuori da Google con un meta tag robots o con un header, e un deploy che copia configurazione, variabili d'ambiente o un dump del database si porta dietro anche quell'impostazione. Su WordPress il colpevole classico è la casella "Scoraggia i motori di ricerca dall'effettuare l'indicizzazione di questo sito" in Impostazioni > Lettura: spuntata in staging, torna attiva in produzione insieme al database.
Subito dopo vengono i plugin SEO. Sia Yoast sia Rank Math permettono di impostare a noindex un intero tipo di contenuto o una tassonomia dalle loro schermate di impostazioni. In Yoast è l'interruttore che decide se mostrare quel tipo di contenuto nei risultati di ricerca, quindi basta un clic o un reset delle impostazioni per coinvolgere centinaia di URL in un colpo solo.
Poi ci sono gli header. X-Robots-Tag: noindex si può aggiungere con una direttiva add_header di Nginx, una regola nel .htaccess di Apache o nella configurazione della CDN, e in nessuno di questi casi compare nel sorgente della pagina. Uno sviluppatore che nasconde una nuova sezione mentre la costruisce e si dimentica la regola al lancio crea esattamente questo tipo di noindex invisibile.
Come controllare una pagina a mano
Quando hai un sospetto su un URL preciso, procedi in quest'ordine. Ogni passaggio trova qualcosa che al precedente può sfuggire.
- Leggi gli header:
curl -sI https://example.com/page/ | grep -i x-robots-tag. Se una riga contienenoindex, l'header è impostato, qualunque cosa dica l'HTML. - Cerca nell'HTML servito:
curl -s https://example.com/page/ | grep -i 'name="robots"'. Cerca anchename="googlebot", che vale solo per Google. - Se il sito viene renderizzato con JavaScript, apri lo strumento Controllo URL di Search Console, fai clic su "Testa URL live" e poi su "Visualizza pagina sottoposta a test" per vedere l'HTML che riceve Google. La documentazione di Google avverte che, se l'HTML iniziale contiene
noindex, Googlebot può saltare il rendering, quindi uno script che rimuove il tag in un secondo momento non serve. - Nello stesso risultato del controllo, la voce "Indicizzazione consentita?" ti dice se il blocco arriva dal meta tag robots o dall'header HTTP
X-Robots-Tag. - Per passare in rassegna tutto il sito, scansionalo con Screaming Frog e usa il filtro Noindex nella scheda Directives.
Anche il report Indicizzazione delle pagine di Search Console raggruppa gli URL sotto "Esclusa in base al tag 'noindex'". È una fonte affidabile, ma si aggiorna solo dopo che Google ha riscansionato, quindi descrive la settimana scorsa e non oggi.
Bloccare il noindex al momento del deploy
Se controlli la pipeline di rilascio, un controllo dopo ogni rilascio in produzione costa pochissimo. Uno step di CI che lancia i due comandi curl qui sopra sulla homepage e su qualche template chiave, e fa fallire il job se uno dei due trova noindex, ferma la fuga dallo staging più comune.
Non intercetterà un'impostazione di un plugin cambiata da wp-admin un martedì pomeriggio, né una regola sugli header aggiunta dalla dashboard della CDN. Nessuna delle due passa dalla pipeline.
Monitorare le modifiche che nessuno rilascia
I controlli manuali rispondono alla domanda "questa pagina è in noindex adesso?". Il monitoraggio risponde a "qualche pagina è finita in noindex da ieri?", ed è questa la domanda che conta sui siti dei clienti, dove le modifiche arrivano da persone e sistemi che non controlli.
Deltio legge ogni giorno le pagine presenti nella sitemap di ciascun sito e registra lo stato noindex sia dal meta tag sia dall'header X-Robots-Tag. Quando una pagina indicizzabile al controllo precedente risulta in noindex in quello attuale, invia un alert su Slack ed email per quel sito con l'elenco degli URL coinvolti. Essendo un controllo giornaliero, te lo segnala entro un giorno e non entro pochi minuti, il che nella maggior parte dei casi arriva comunque prima che Google abbia riscansionato ed escluso la pagina. Lo stesso confronto copre modifiche al robots.txt, canonical cambiati e URL che escono dalla sitemap. Per approfondire il tag in sé, leggi il tag noindex spiegato.
Puoi provarlo sui siti dei tuoi clienti con la prova gratuita di 14 giorni.
Domande frequenti
- Quanto ci mette Google a rimuovere una pagina dopo che è stato aggiunto un noindex?
- Il noindex ha effetto solo quando Google riscansiona l'URL, quindi dipende dalla frequenza di scansione. Una homepage o una categoria molto visitata possono uscire dall'indice in pochi giorni, mentre una pagina scansionata di rado può restare indicizzata per settimane. Quel ritardo è la finestra in cui accorgersi della modifica costa poco.
- Togliendo il noindex tornano anche le posizioni?
- Di solito sì, quando Google riscansiona la pagina. Per accelerare sugli URL importanti usa Richiedi indicizzazione nello strumento Controllo URL e verifica che siano presenti nella sitemap. Più a lungo una pagina è rimasta fuori dall'indice, meno è certo che torni nella stessa posizione.
- Il robots.txt può nascondere un noindex a Google?
- Sì. Se un URL è bloccato con Disallow, Googlebot non lo scarica mai e quindi non legge mai il noindex. L'URL può addirittura restare indicizzato, di solito senza descrizione, perché Google sa comunque che esiste grazie ai link. Una pagina che vuoi deindicizzare deve restare scansionabile.
- Una regola noindex dentro il robots.txt funziona?
- No. Google non ha mai supportato ufficialmente le righe noindex nel robots.txt e ha smesso del tutto di rispettarle a settembre 2019. Usa il meta tag robots o l'header X-Robots-Tag.
- Deltio controlla anche le pagine che non sono nella sitemap?
- Il controllo giornaliero parte dagli URL elencati nella sitemap di ciascun sito. Se alcune pagine importanti mancano dalla sitemap, restano fuori dal confronto, ed è una lacuna che conviene sistemare comunque per motivi SEO.