Il crawling è fondamentale per la visibilità organica sui motori di ricerca. Infatti, è il primo fattore che i siti web devono consentire per poter apparire nei risultati di ricerca organici. Scopri cos'è il crawling, perché Google esegue il crawling e come possiamo ottimizzarlo!

Cosa succede quando si effettua una ricerca?

Quando effettui una ricerca su un motore di ricerca come Google, i risultati che compaiono nei risultati di ricerca organici (non a pagamento) sono le pagine più pertinenti presenti nell’indice di Google. Ciò significa che in realtà non stai effettuando una ricerca sul web, ma stai effettuando una ricerca nell’indice del web di Google.

Prendiamo ad esempio una pagina del tuo sito web. Se gli utenti cercano un termine correlato alla tua pagina, Google deve prima aver individuato la tua pagina, averla inserita nel proprio indice e averla analizzata per attribuirle un livello di rilevanza rispetto alle possibili query di ricerca per cui potrebbe essere pertinente. Successivamente, la tua pagina, già presente nell’indice, viene inserita nei risultati di ricerca quando Google lo ritiene opportuno (in base a numerosi fattori di posizionamento).

Ci sono quindi 3 passaggi che devono avvenire prima che la tua pagina compaia effettivamente nei risultati di ricerca:


  1. E DI INDEXAZIONE: individuare la pagina (per verificare che esista) e visitarla costantemente per verificare se è stata aggiornata in qualche modo.
  2. INDICIZZAZIONE
    Analisi della pagina per determinarne l'argomento e individuare il tipo di query a cui può essere associata. A questo punto, la pagina viene inserita nell'indice insieme a tutte le informazioni ricavate dall'analisi.
  3. SERVING
    In base all’algoritmo di classificazione, la tua pagina può essere selezionata e le può essere assegnata una posizione nei risultati di ricerca in base alla rilevanza che Google attribuisce alla tua pagina rispetto alla query di ricerca digitata.
    È solo ora che possiamo vedere la tua pagina nei risultati di ricerca.

Questo è un video interessante che illustra l'intero processo e spiega come il crawling si inserisca in esso:

Come funziona un crawler?

Ora sappiamo che lo scopo di un web crawler è quello di individuare nuovi documenti sul web e anche di rivisitarli per verificare che funzionino ancora, che esistano ancora o che il loro contenuto sia stato aggiornato. Pensate a un web crawler come a un modo per scansionare il web per vedere com’è strutturato e come è collegato. In sostanza, come un modo per fornire nuove informazioni sulla struttura del web.

Nella documentazione che segue illustreremo come funziona il crawler di Google. Il crawler di Google si chiama GoogleBot.

GoogleBot e la scansione

Ora conosciamo lo scopo di un web crawler, ma come funziona il processo tecnico di crawling?

Cominciamo dal modo in cui Google viene a sapere per la prima volta dell’esistenza del tuo sito web

Supponiamo che Google non sappia nemmeno che il tuo sito web esiste. I due modi più comuni con cui Google può scoprire l’esistenza del tuo sito web sono:

Inserirlo in Google Search Console:
Se inserisci il tuo sito web in Google Search Console, Google disporrà almeno di un URL (spesso la home page) che potrà utilizzare come punto di partenza per eseguire la scansione del resto del tuo sito web.

Come raggiungere il tuo sito web tramite altri siti web che rimandano al tuo:
Se il tuo sito web non è noto a Google, quest'ultimo potrà individuarlo se altri siti web (di cui Google conosce l'esistenza) rimandano al tuo. Google seguirà quindi questi link e troverà il tuo sito web.

In che modo Google individua il resto del tuo sito web?

Ora che Google ha individuato almeno una pagina del tuo sito web, esiste una procedura che gli permette di individuare le altre pagine. Funziona semplicemente così:

  1. Google esamina il tuo codice sorgente
  2. Successivamente individua ed estrae tutti i link interni presenti nella tua pagina
  3. I nuovi link ad altre pagine del tuo sito web (URL) vengono inseriti in una coda di scansione
  4. GoogleBot visita uno per uno i link (URL) presenti nella coda di scansione
  5. Il processo si ripete per ogni URL interno individuato, finché Google non avrà individuato tutte le pagine del tuo sito web

La seconda alternativa per aiutare Google a trovare le pagine

Google ha affermato che le sitemap rappresentano il secondo fattore più importante per la reperibilità delle pagine web. Una sitemap è semplicemente un file XML che è possibile inviare a Google come metodo alternativo per individuare gli URL del proprio sito web. Non sostituisce la scansione interna descritta in precedenza, ma aiuta Google a individuare più facilmente gli URL che altrimenti potrebbero richiedere un po’ di tempo per essere individuati.

Scansione delle applicazioni renderizzate con JavaScript

Una guida alla scansione non sarebbe completa senza trattare la scansione delle applicazioni renderizzate con JavaScript. Molte di queste applicazioni richiedono l'uso di JavaScript per il rendering dei contenuti delle loro pagine, compresi i link interni.

Il problema è che l’esecuzione del rendering JavaScript richiede molte risorse. Anche se Google dispone di risorse notevoli, il rendering costante di applicazioni con un uso intensivo di JavaScript su tutto il web risulta troppo oneroso persino per Google. Pertanto, questi URL vengono inseriti in una coda di rendering, poi renderizzati, e solo successivamente Google può estrarre i link interni (se questi vengono generati tramite JavaScript). Le tue pagine potrebbero rimanere nella coda di rendering per molte settimane prima che avvenga effettivamente il rendering. Ciò significa che la scansione diventa molto lenta e che la reperibilità degli URL sul tuo sito web può richiedere molto tempo.

Una soluzione a questo problema è rappresentata dal cosiddetto rendering dinamico. Ne parleremo più approfonditamente nel prossimo capitolo “Come ottimizzare il sito per la scansione”.

scansione-googlebot-crawl-render-indicizzazione

Immagine tratta da developers.google.com

Budget di scansione

Google esegue la scansione dell’intero sito web in un’unica volta, ogni giorno? La risposta è no. Esiste un concetto chiamato “crawl budget” ed è esattamente ciò che suggerisce il nome. Hai a disposizione un budget specifico, ovvero un numero limitato di URL che Google assegna ogni giorno per effettuare la scansione del tuo sito web. Il motivo è che Google non dispone di risorse sufficienti per farlo e non vuole sovraccaricare i tuoi server con richieste quotidiane (il che potrebbe rallentare il sito e compromettere l’esperienza degli utenti reali).

Un modo per misurare quanti URL vengono scansionati da Google ogni giorno è accedere al proprio account di Google Search Console e cliccare sul report “Statistiche di scansione”. Questo grafico mostra il numero di URL scansionati ogni giorno negli ultimi 90 giorni. Come si può notare, il dato può variare notevolmente da un giorno all’altro, ma dovrebbe comunque fornire un’idea di base della fascia di valori che il proprio budget di scansione può coprire.

Come ottimizzare il sito per la scansione

Quando si tratta di ottimizzare il sito per la scansione, ci sono principalmente due aree su cui concentrarsi:

  • Concentrati sull'indicizzazione delle pagine strategiche per far sì che vengano indicizzate più spesso. Quando aggiorni i contenuti delle tue pagine, aumenterai la probabilità che le modifiche vengano inserite più rapidamente nell'indice.
  • Aumentare il budget di scansione complessivo del tuo sito web in modo che ogni giorno vengano scansionate più pagine.

Esistono molti modi per ottimizzare il crawling. Tuttavia, i sottocapitoli seguenti illustrano in dettaglio alcuni degli aspetti più importanti che è possibile controllare.

Robots.txt

Il file robots.txt si trova nella directory principale del sito web. Lo scopo principale di questo file è fornire a GoogleBot delle regole relative agli URL da non sottoporre a scansione. Implementando delle regole in questo file, è possibile indirizzare Google verso le pagine su cui concentrare la scansione. Google consulta questo file prima di iniziare a scansionare il sito web. Si tratta quindi di una soluzione rapida ed efficace se si dispone di molti URL che si ritengono non necessari da sottoporre a scansione. Ottimi esempi di URL da escludere dall’indicizzazione potrebbero essere le pagine contenenti parametri di filtro che non si desidera indicizzare. Ciò significa che Google dovrebbe essere in grado di indicizzare un maggior numero di pagine statiche che si desidera includere nel proprio budget di indicizzazione.

Rendering dinamico

Abbiamo già discusso in precedenza dei possibili problemi legati alla scansione delle applicazioni renderizzate tramite JavaScript. Una soluzione a questo problema consiste nell'implementare il rendering dinamico. Il rendering dinamico può risultare tecnicamente complesso da implementare (a seconda di come è configurata la vostra piattaforma), ma il concetto di base è semplice.

L'idea è quella di mostrare agli utenti la normale versione dell'applicazione, mentre a GoogleBot (e ad altri bot importanti) viene mostrata una versione pre-renderizzata. Per "pre-rendering" si intende che i documenti sono già stati assemblati così come appariranno nella loro versione finale (una volta eseguito il JavaScript); a GoogleBot viene quindi mostrata quella versione predefinita, in modo che Google non debba sostenere il carico di lavoro necessario per il rendering dei documenti. Ciò potrebbe accelerare notevolmente la scansione, poiché non è necessario attendere che Google esegua il rendering dei documenti prima di poterli leggere completamente o seguire i link interni.

Ecco un bel video che spiega la questione in modo più semplice:

Struttura della mappa del sito

Poiché Google assegna priorità agli URL presenti nelle sitemap per la scansione, qui puoi inviare gli URL che desideri vengano scansionati più frequentemente, ma anche nuovi URL affinché vengano scansionati più rapidamente rispetto al processo in cui Google deve seguire i link interni per raggiungerli. Ricordati di adottare un approccio il più strategico possibile nella selezione degli URL da includere nelle tue Sitemap. Se disponi di un’applicazione web molto estesa con milioni di URL e un budget di scansione di 300.000 URL al giorno, non ha senso includere tutti i tuoi URL nelle Sitemap, poiché ciò non assegna realmente la priorità alla scansione di un campione specifico. Un buon campione da includere nelle tue Sitemap è costituito dagli URL con contenuti che si aggiornano frequentemente e dai nuovi URL. Ciò manterrà la tua applicazione o i tuoi contenuti più aggiornati nell’indice di Google e consentirà una più rapida indicizzazione dei nuovi URL.

Velocità della pagina e prestazioni del server

GoogleBot non vuole sovraccaricare i tuoi server durante la scansione. Se rileva che il tempo di risposta del tuo server sta diventando sempre più lento, interromperà la scansione e la riprenderà in un altro momento. Se poi ottimizzi le tue pagine per fornire rapidamente i contenuti a GoogleBot e i tuoi server per gestire richieste più pesanti da parte di Google, GoogleBot effettuerà la scansione in modo più intensivo, il che per te significa un maggior numero di URL scansionati ogni volta che GoogleBot visita la tua applicazione web. In breve, ottimizzare la velocità delle pagine aumenta il budget complessivo di scansione.