Non sono in molti a parlare in Italia di crawl budget e non c’è da meravigliarsi, dato che si tratta di uno dei concetti SEO più tecnici e frequentemente fraintesi.
Indice dei contenuti
ToggleIn parole semplici, il crawler bot di Google si occupa di scansionare le pagine web, aggiungendole successivamente all’indice. Durante l’operazione, il software cerca altri links da seguire in autonomia oppure seguendo gli URL di una sitemap.xml per analizzare sempre nuovi contenuti.
Per essere identificato durante l’accesso, in genere i bot usano uno user agent, ossia una stringa di riconoscimento. Consultando il file di log di Apache sul nostro server, possiamo notare visite da Googlebot, ma esistono anche BingBot di Microsoft, Baiduspider per il mercato cinese e YandexBot per la Russia.
Svolgere il compito di scansione di siti da 100, 1000 o 10000 pagine può essere particolarmente oneroso e soprattutto dispendioso in termini di risorse hardware, ma anche di tempo impiegato, visto che esistono miliardi di siti che vanno periodicamente controllati per monitorare eventuali nuovi aggiornamenti o modifiche ai contenuti.
Da qui nasce l’esigenza di limitare il tempo e le risorse dedicate ad ogni sito in base ad una serie di fattori che vanno a premiare alcuni siti con una scansione più frequente, mentre altri saranno controllati solo di rado.
Cosa è il crawl budget di Google?
Per dare una definizione pratica, possiamo identificare il crawl budget con il numero di volte che Googlebot scansiona un sito in un dato momento. Ad esempio, se Googlebot visitasse il tuo sito 40 volte ogni due giorni, avresti un crawl budget di 600 per mese.
Per un sito aziendale di una decina di pagine, probabilmente non è una questione importante, ma diventa cruciale per un blog che pubblica 5 nuovi contenuti giornalieri o per un e-commerce con migliaia di prodotti.
Come monitorare il crawl budget?
Per farsi un’idea concreta della situazione del proprio sito ci si deve necessariamente affidare ad un sistema di monitoraggio degli accessi di Googlebot ed esistono varie soluzioni.
Il modo più semplice e gratuito è l’uso del proprio account Search Console nell’area Crawl > Crawl Stats, dove è riportato un grafico con l’attività di Google negli ultimi 90 giorni, mostrando la media, i massimi e i minimi relativamente al numero di pagine scansionate ogni giorno.
Una soluzione più avanzata è l’uso di software basati su ElasticSearch per l’analisi dei file di log del web server, riuscendo ad avere dati più specifici sugli accessi di Googlebot in relazione a quali pagine sono visitate più spesso e quali invece vengono controllate meno frequentemente.
In questo modo potremmo scoprire che un determinato post riceve 2 visite al giorno, mentre un altro ne ha una ogni 20 giorni. Ne consegue che potremmo considerare di migliorare il secondo articolo aggiungendo del contenuto o semplicemente modificando la struttura di internal linking per renderlo più visibile ai crawler e passare più link juice.
In questo esempio si potrebbe anche decidere di spingere il primo articolo che così tanto “piace” a Google, magari aggiungendo altro contenuto di qualità oppure facendo una campagna di link building specifica.
Come ottimizzare il crawl budget?
Fare un’ottimizzazione specifica per il crawl budget ha molte somiglianze con l’attività SEO classica, come ad esempio il fatto che la link building verso determinati articoli ne migliora l’importanza e ne favorisce il controllo più frequente da parte di Googlebot.
Si possono poi effettuare interventi specifici molto complessi, ma anche semplici accorgimenti per risolvere dimenticanze o altri errori nella progettazione del sito.
Fai attenzione ai robots
Le pagine di scarso valore e le aree private non andrebbero indicizzate perché la scansione di questi contenuti sprecherebbe crawl budget, dato che non procurano traffico organico.
Considerando che è ormai stato chiarito da Google che il file robots.txt non evita la comparsa del risultato nelle SERP, non basta indicare in questo file la lista delle sezioni del sito da non indicizzare.
Bisogna invece accertarsi quali siano esattamente tutti gli URL e possiamo deindicizzarli usando il noindex meta tag.
<meta name=”robots” content=”noindex”>
Ovviamente quando usi il noindex meta tag, non dovresti anche bloccare la medesima pagina dal file robots.txt con il ‘Disallow’, perché altrimenti Google non potrebbe visitarla per sapere che non è da indicizzare.
Controlla i links rotti
Soprattutto in siti con decine di migliaia di pagine, ma anche per piccoli blog da alcune decine, è fondamentale avere una struttura di internal linking ben funzionante e soprattutto testata, dato che un link rotto, magari ad una categoria, comporta la mancata scansione e successiva indicizzazione di decine o centinaia di pagine ricche di contenuti di qualità.
Tendenzialmente un link rotto porta ad una pagina con codice HTTP di risposta pari a 404 ‘Not Found’, ma soprattutto in WordPress potrebbe esserci invece un codice 503 ‘Service Unavailable’ dovuto ad una malconfigurazione di un determinato plugin in una specifica pagina.
Per monitorare i links rotti puoi utilizzare un crawler come Screaming Frog per scansionare periodicamente l’intero sito oppure esistono altre soluzioni di scansione remota offerti dai principali SEO tools a pagamento.
Nel caso di WordPress esistono appositi plugins come WP Broken Link Status Checker per svolgere questa funzione, ma d’altra parte ne sconsiglio l’utilizzo poiché sono veramente pesanti per le performance dell’hosting e una scansione troppo frequente potrebbe far andare down l’intero sito.
Al contrario, le soluzioni professionali, evidenziate sopra, consentono di implementare una rotazione di proxies in caso di firewall stringenti e il delay tra una richiesta e l’altra in modo da comportare un carico nettamente più leggero e risultati molto più precisi.
Utilizza una sitemap pulita
Capita spesso di vedere sitemap pubbliche di siti che includono URL di archivi autori o pagine che non sono da indicizzare, risultando in un inutile spreco di crawl budget.
Al contrario, è bene verificare che la sitemap generata dal proprio tool preferito sia corretta e includa solo ed esclusivamente gli URL che devono essere indicizzati, altrimenti è bene rimuoverli.
Per fare un semplice esempio, usando WordPress con il plugin gratuito Yoast SEO è possibile specificare per ciascun post se deve essere incluso o meno nella sitemap.
Attenzione ai tecnicismi
Negli e-commerce, quando c’è la possibilità di filtrare i risultati, spesso vengono usati URL parametrizzati contenenti il colore, il peso, la fascia di prezzo o altre caratteristiche della categoria. In questo modo si generano centinaia o migliaia di pagine diverse che nella maggior parte sono sostanzialmente simili e in molti casi persino identiche.
Un altro caso simile sono i links di affiliazione che restituiscono la stessa pagina, ma con un valore diverso nell’URL per identificare l’affiliato.
Lavorando con gli URL parametrizzati, è essenziale definire se alcune variabili non sono rilevanti ai fini della SEO e quindi da escludere dalla scansione, risultando in un notevole risparmio di crawl budget, oltre a vari vantaggi in ottica SEO evitando contenuti duplicati.
Per fare questa operazione ci viene in aiuto un apposito pannello nella Search Console raggiungibile da Crawl > URL parameters con la possibilità di specificare i parametri usati nel sito, indicando a Google se cambiano il contenuto oppure no.
Tra i vari tecnicismi che influenzano il crawl budget c’è sicuramente l’uso sconsiderato di redirect 301, magari inserendo cicli di 2 o persino 3 reindirizzamenti di fila. In questi casi, è sempre bene ridurre al minimo la catena che si va a creare, perché comporta uno spreco di tempo e risorse per raggiungere i contenuti corretti.
Per concludere, se da un lato di crawl budget se ne parla poco, al giorno d’oggi e soprattutto per siti di grandi dimensioni è diventato un punto di vitale importanza tanto che può determinare il successo del posizionamento del sito su Google al pari delle classiche attività SEO Off-Page e On-Page.