Scansione: come un motore di ricerca trova il Suo sito
Modulo 1: Come funzionano i motori di ricerca · Tempo di lettura: 11 minuti
Obiettivo della lezione: Al termine di questa lezione saprà descrivere come un crawler scopre nuove pagine, quali codici di stato incontra e che cosa significano, e che cosa ostacola un crawler.
Concetti chiave: crawler (Googlebot, Bingbot), seguire i link, sitemap, codice di stato HTTP (200, 301, 302, 404, 410, 429, 5xx), reindirizzamento, crawl budget, JavaScript e rendering, pagina orfana, robots.txt
Che cos'è un crawler
Un crawler (detto anche spider o bot) è un programma che scarica pagine web, proprio come fa il Suo browser, ma in modo automatico e su scala enorme. Google ha Googlebot, Bing ha Bingbot. Richiedono un indirizzo, ricevono l'HTML, leggono quali link contiene e aggiungono i nuovi indirizzi al proprio elenco per scaricarli in seguito.
Google afferma che Googlebot, in media, non visita un sito più di una volta ogni pochi secondi e che la maggior parte delle richieste proviene dalla versione smartphone di Googlebot. Google guarda quindi il Suo sito soprattutto come lo vede un telefono. Ne riparleremo nella lezione 4.2.
Un crawler può anche fingersi Googlebot: il nome (lo user agent) è facile da imitare. Google consiglia di verificare una visita sospetta con una ricerca DNS inversa dell'indirizzo IP. È utile se nel log del Suo server vede un "Googlebot" che fa cose strane.
Come un crawler trova nuove pagine
Google indica tre modi:
- Rivisitare pagine che già conosce. Lì nota modifiche e nuovi link.
- Seguire i link. Un link da una pagina che Google già conosce verso una pagina nuova è il modo più importante per essere trovati. Vale per i link all'interno del Suo sito (il menu, un link in un testo) e per i link provenienti da altri siti.
- Un elenco fornito da Lei: la sitemap. Una sitemap è un file con gli indirizzi delle Sue pagine. La si invia in Search Console o la si indica nel robots.txt (lezione 3.4). Secondo Google una sitemap non è obbligatoria, ma è utile, soprattutto per siti nuovi con ancora pochi link, siti grandi e pagine collocate in profondità nel sito.
I link devono essere veri link
Google può seguire un link solo se è un normale elemento <a> con un href:
<a href="/bruidsboeketten">Bruidsboeketten</a> <!-- corretto -->
<span onclick="ga('/bruidsboeketten')">Bruidsboeketten</span> <!-- non è un link per Google -->Un pulsante che porta a un'altra pagina solo tramite JavaScript non è un link per un crawler. Una pagina che non riceve link da nessuna parte si chiama pagina orfana (orphan page). Un crawler la trova solo tramite la sitemap, e anche i visitatori la trovano con difficoltà. Una nuova pagina dovrebbe quindi essere sempre collegata da qualche parte nel menu o in un testo.
JavaScript: prima il download, poi l'esecuzione
Molti siti moderni costruiscono la pagina con JavaScript nel browser. Google è in grado di gestirlo: esegue JavaScript con una versione recente di Chromium, la base del browser Chrome. Questo si chiama rendering. Google descrive tre fasi per queste pagine: scansione, rendering e indicizzazione. Le pagine con stato 200 entrano in una coda per essere sottoposte a rendering.
Due conseguenze:
- Ciò che compare sulla pagina solo dopo JavaScript viene visto da Google più tardi rispetto a ciò che è direttamente nell'HTML.
- Non tutti i crawler eseguono JavaScript. Lo dice anche Google. Testi, titoli e link presenti direttamente nell'HTML sono quindi la scelta più sicura per tutti i motori di ricerca. Google definisce l'HTML generato sul server "ancora una buona idea".
I controlli automatici di questo corso leggono l'HTML così come lo invia il server, senza JavaScript. Ciò che vede nel Suo browser può essere diverso.
Codici di stato: la risposta del server
Con ogni pagina il server invia un codice di stato. Non lo vede sullo schermo, ma un crawler lo legge per primo:
| Codice | Significato | Che cosa ne fa Google |
|---|---|---|
| 200 | OK, ecco la pagina | Il contenuto passa all'indicizzazione (l'inclusione non è garantita) |
| 301 / 308 | Spostata in modo permanente a un altro indirizzo | Segnale forte che il nuovo indirizzo è quello giusto |
| 302 / 307 | Temporaneamente altrove | Segnale debole; il vecchio indirizzo resta spesso quello principale |
| 404 / 410 | Non esiste (più) | Un indirizzo indicizzato in precedenza esce dall'indice; Google vi passa sempre meno spesso |
| 429 | Troppe richieste | Google rallenta temporaneamente la scansione |
| 5xx | Errore del server | Google rallenta temporaneamente la scansione; se un indirizzo continua a restituire un errore del server, alla fine esce dall'indice |
Attenzione al soft 404: una pagina che mostra "non trovato" ma restituisce lo stato 200. Per il crawler sembra una pagina vera, per il visitatore no. Search Console segnala queste pagine a parte. Una pagina eliminata dovrebbe quindi restituire un vero 404 o 410, oppure reindirizzare con un 301 a una pagina sostitutiva.
Una catena di reindirizzamenti (da http a https a www alla nuova pagina) viene seguita da Google, fino a circa dieci passaggi, ma ogni passaggio richiede tempo. La lezione 4.1 mostra come fare tutto in un solo passaggio.
Che cosa ostacola un crawler
Google indica come cause della mancata scansione di una pagina: problemi del server, problemi di rete e regole nel robots.txt che vietano l'accesso a Googlebot. Nella pratica si incontrano inoltre:
- un sito ancora in "modalità manutenzione" o protetto da password;
- in WordPress la casella "Scoraggia i motori di ricerca dall'effettuare l'indicizzazione di questo sito", che imposta un noindex (si tratta della fase 2, ma l'effetto è lo stesso: il sito non si trova);
- una protezione o un firewall che rifiuta i bot sconosciuti con 403 o 429;
- un sito navigabile solo tramite pulsanti JavaScript.
Al robots.txt è dedicata una lezione a parte (3.3). Per ora basta sapere che è un file di testo su https://www.example.com/robots.txt che indica quali parti del Suo sito un crawler non può scaricare.
Crawl budget: per la maggior parte dei siti non è un problema
Online si legge molto sul crawl budget: quante pagine Google vuole e può scaricare dal Suo sito. Google afferma che la sua guida in merito è pensata per siti grandi, con una stima approssimativa di oltre un milione di pagine, o di oltre diecimila pagine che cambiano ogni giorno. Se le Sue nuove pagine vengono già scaricate il giorno della pubblicazione, non deve preoccuparsene. Per un sito come quello di Bloemenatelier Lotte, con trenta pagine, non è un tema. Bastano una sitemap aggiornata e uno sguardo di tanto in tanto al rapporto di indicizzazione.
Nella pratica: il log del Suo server
In DirectAdmin e in pannelli simili può consultare il log degli accessi del Suo sito. Cerchi "Googlebot" o "bingbot" e vedrà quali pagine hanno richiesto e quale codice di stato hanno ricevuto. Se vede molti 404 o errori 5xx, sa da dove cominciare. Presso altri fornitori i log si trovano di solito sotto un nome simile nel pannello clienti.
Riepilogo
- Un crawler scarica pagine e trova nuovi indirizzi tramite i link e la Sua sitemap.
- Vengono seguiti solo i veri link
<a href>; una pagina senza link in entrata è orfana. - Google esegue JavaScript, ma più tardi; altri crawler spesso no. I contenuti importanti vanno inseriti nell'HTML.
- Il codice di stato determina che cosa fa un crawler: 200 elaborare, 301 spostare, 404/410 rimuovere, 5xx e 429 rallentare la scansione.
- Il crawl budget conta solo per siti molto grandi o che cambiano molto rapidamente.
Quiz
Esercizio
Esercizio A1.2: Che cosa vede un crawler sulla Sua homepage? Inserisca l'indirizzo del Suo sito (oppure www.wikipedia.org se non ha un sito proprio). Poi indichi che cosa si aspetta: il codice di stato della pagina finale, l'indirizzo a cui arriva dopo i reindirizzamenti e se è presente un noindex. Il programma scarica la homepage come farebbe un crawler, senza JavaScript, e mostra la catena di reindirizzamenti, il codice di stato, il numero di veri link verso il Suo sito presenti nell'HTML e se il testo della pagina è leggibile senza JavaScript.
Per approfondire
I passaggi descritti in questi articoli valgono per i pannelli di WebOké; presso altri fornitori il funzionamento è simile.
- Guida DirectAdmin 4.7: Reindirizzamenti del sito: inoltrare un dominio o una pagina
- Guida DirectAdmin 17.2: Riepilogo sito e log: il log degli errori e il log degli accessi
- Reindirizzare obbligatoriamente i visitatori su https
- Google, In che modo i codici di stato HTTP e gli errori di rete influiscono sulla Ricerca Google: https://developers.google.com/search/docs/crawling-indexing/http-network-errors
- Google, Nozioni di base sulla SEO per JavaScript: https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
- Google, Crawl budget per siti di grandi dimensioni: https://developers.google.com/crawling/docs/crawl-budget
