Ogni volta che viene effettuata una richiesta di rete, lo User Agent viene inviato dal Browser ad un server web, in modo da dare maggiori informazioni sul sistema utilizzato. Si tratta quindi di una sorta di “etichetta identificativa” del browser.
Lo User Agent
Lo User Agent è un campo del protocollo HTTP tramite il quale possono essere date delle informazioni più o meno approfondite riguardo al dispositivo che effettua la richiesta di rete.
Questo avviene attraverso l’Header HTTP, e tali informazioni possono essere usate, ad esempio, per inviare determinati elementi solo a quei browser che possono effettivamente processarli.
Da cosa è composto uno User Agent?
La sintassi di uno User Agent è inizialmente molto semplice:
User-Agent: <Prodotto> / <Versione prodotto> <Commento>
Tuttavia, se prendiamo l’esempio dello Standard User Agent dello Smartphone di Googlebot, vediamo che è molto diverso da quello precedente:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Tale User Agent può essere scomposto nel modo seguente:
- Mozilla – il prodotto
- 5.0 – la versione del prodotto
- (Linux; – il sistema operativo del dispositivo
- Android 6.0.1; – la versione del sistema operativo
- Nexus 5X Build/MMB29P) – numero di Build del sistema operativo
- AppleWebKit/537.36 – il Rendering Engine del browser
- (KHTML, like Gecko) – il Rendering Engine basato su KHTML, che si comporta come Gecko
- Chrome/41.0.2272.96 – il browser e il suo numero di versione
- Mobile Safari/537.36 – il browser si comporta come Safari nel numero di versione 537.36
- (compatible; – da qui comincia il commento vero e proprio, consistente nella spiegazione che il dispositivo richiedente è compatibile con il browser Mozilla
- Googlebot/2.1 – nome e numero di versione del crawler che effettua la richiesta
- +http://www.google.com/bot.html) – dove posso ottenere maggiori informazioni riguardo a questo User Agent?
Nel caso ti stessi chiedendo perché Googlebot, che deriva dal browser Google Chrome, si finge Mozilla, sappi che non sei il solo: esiste una divertente “history of the browser user-agent string” (in inglese) dove sono state riportate tutte le informazioni più importanti.
Per farla breve possiamo dire che quasi tutti i browser per “determinati motivi” si presentano come Mozilla. Il valore <prodotto> diventa quindi irrilevante e i commenti molto più lunghi.
Come vengono usate le informazioni dallo User Agent del server?
Il server può usare le informazioni relative al sistema richiesto per riportare agli utenti una versione adeguata del sito. Ad esempio, se lo User Agent indica al server che la richiesta deriva da un cellulare Android avente un browser Chrome, il server potrà riportare la versione mobile del sito richiesto (se disponibile).
Grazie allo User Agent il server può anche far sapere se la versione del browser utilizzato è ancora attuale. Ad esempio, nel caso venisse usato un “vecchio” browser, come Internet Explorer 6, il server potrà reagire chiedendo di effettuare un upgrade, invece di riportare l’indirizzo web richiesto.
Infine, le informazioni dello User Agent potrebbero essere anche salvate dal server, ad esempio per scopi statistici.
User Agent e Crawler
Anche i crawler possiedono uno User Agent. Siccome lo User Agent identifica il bot come tale, i server web gli danno dei “privilegi” speciali. Ad esempio, il server può muovere Googlebot attraverso una pagina di registrazione. È molto importante, però, evitare di mostrare agli utenti dei contenuti differenti rispetto a quelli mostrati a Googlebot, in quanto si potrebbe incorrere nel fenomeno del Cloaking.
Infine, attraverso il file robots.txt (nel quale è anche contenuto uno User Agent), il server può indicare ai bot di non permettere al crawler di scansionare determinate aree di un sito.
Come posso sfruttare lo User Agent in ottica SEO?
Sapendo quali informazioni vengono usate dai diversi crawler di Google, è possibile configurare il browser in modo che invii lo stesso identificatore, e questo attraverso un Addon per il browser o la Developer Console.
Per esempio, spesso è possibile valutare se un sito sta offrendo dei contenuti differenti a Googlebot rispetto a quelli degli utenti abituali.
Per farlo, basterà semplicemente accedere alla console di Chrome, usando le scorciatoie seguenti:
Mac: Command+Alt+C
Windows: Control+Shift+C
Oppure cliccando il tasto destro del mouse e poi selezionando “Ispeziona” dal menù.
Come si può vedere dall’immagine, bisogna semplicemente:
1 Fare click sul menù di configurazione, rappresentato dai tre puntini
2 Fare click su “More tools“
3 Fare click su “Network conditions“
Dopodiché si dovrà indicare quale User Agent si desidera utilizzare per la navigazione, aggiungendolo nel riquadro che abbiamo marcato in rosso.
Questo funzionerà solo finché il server non effettuerà un controllo interno per verificare se lo User Agent che afferma di essere Googlebot proviene effettivamente da un IP di Google.
Lista di User Agent utili per la SEO
Abbiamo raccolto i principali User Agent più utili in ottica SEO nella tabella seguente, indicandone il significato e l’indicazione del tipo di richiesta, che potrai consultare analizzando i log del server.
User Agent di Google
Crawler | Token User Agent | User Agent completo |
---|---|---|
Robot di Google per immagini | - Googlebot-Image - Googlebot | Googlebot-Image/1.0 |
Robot di Google per news | - Googlebot-News - Googlebot | Googlebot-News |
Robot di Google per video | - Googlebot-Video - Googlebot | Googlebot-Video/1.0 |
Robot di Google (computer) | Googlebot | - Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36 raramente: - Googlebot/2.1 (+http://www.google.com/bot.html) |
Robot di Google (Smartphone) | Googlebot | Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
Robot di Google (Smartphone) * | Googlebot | Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
Applicazioni mobile per Android | AdsBot-Google-Mobile-Apps | AdsBot-Google-Mobile-Apps |
Nelle stringhe dello User Agent sulla versione di Chrome, le lettere W.X.Y.Z, di Googlebot per desktop e Smartphone, sono da intendersi come segnaposto perché Google le aggiorna sempre all’ultima versione di Chrome. Per ulteriori informazioni, consulta il post di Google Search Central.
Altri User Agent utili
Esistono anche altri User Agent che possono rivelarsi interessanti per i progetti SEO e per economizzare i progetti che richiedono un livello molto alto di monitoraggio e ottimizzazione.
Crawler | Token User Agent | User Agent completo |
---|---|---|
Pinterestbot | Pinterest/0.2 (+https://www.pinterest.com/bot.html) Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html) Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html) | |
LinkedInBot | LinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com) | |
Bing | bingbot | - Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) - Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) - Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 530) like Gecko (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) |
Yandex* | YandexBot | Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) |
Wayback Machine | archive.org_bot | Mozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot) |
*Per quanto riguarda Yandex, esistono molte altre catene che si identificano come YandexBot e che possono a loro volta rivelarsi valide (per maggiori informazioni clicca qui).