Lo user agent è una stringa di testo che un’applicazione client invia a un server ogni volta che effettua una richiesta attraverso un protocollo di rete, tipicamente HTTP. Questa stringa identifica il software che sta effettuando la richiesta, il sistema operativo su cui gira e, spesso, altre informazioni utili al server per adattare la risposta. Nel contesto SEO, lo user agent riveste un ruolo centrale perché determina come i crawler dei motori di ricerca vengono riconosciuti e trattati dai siti web.
Quando un motore di ricerca come Google visita una pagina, invia uno user agent specifico che permette al server di sapere che si tratta di un bot e non di un utente umano. Comprendere il funzionamento dello user agent è quindi fondamentale per gestire correttamente l’indicizzazione, il rendering delle pagine e le eventuali regole di accesso definite nel file robots.txt. Una configurazione errata può impedire la corretta scansione del sito e compromettere la visibilità sui risultati di ricerca.
La stringa che il client invia al server
Lo user agent è un’intestazione HTTP trasmessa dal client al server all’interno della richiesta. La sua forma tipica include il nome del prodotto, la versione, il sistema operativo e talvolta il motore di rendering. Ad esempio, un browser comune può presentarsi con una stringa che contiene il nome del browser, la versione e il sistema operativo di riferimento.
I server utilizzano queste informazioni per personalizzare la risposta, come mostrare una versione mobile di un sito o bloccare determinati client. Nel campo SEO, lo user agent è lo strumento principale con cui i webmaster distinguono il traffico dei crawler da quello degli utenti reali.
Dalle prime specifiche HTTP ai formati attuali
Il concetto di user agent nasce con i primi protocolli di comunicazione in rete e viene formalizzato nelle specifiche HTTP. Nel tempo, la crescente complessità dei browser ha reso le stringhe sempre più lunghe e articolate, tanto che oggi esistono formati standardizzati per la loro composizione. Le principali organizzazioni di standardizzazione mantengono raccomandazioni su come costruire e interpretare queste stringhe.
Le stringhe con cui i motori di ricerca si presentano
Ogni motore di ricerca utilizza user agent distinti per le diverse attività di scansione. Google, ad esempio, impiega Googlebot per la scansione e l’indicizzazione delle pagine (nelle versioni per smartphone e per desktop) e crawler dedicati ad altre attività, come Googlebot-Image per le immagini, AdsBot per gli annunci e Google-InspectionTool per gli strumenti di Search Console. Anche Bing, Yandex, DuckDuckGo e Baidu adottano nomi propri, riconoscibili dal token indicato nella loro documentazione.
Riconoscere questi user agent è essenziale per configurare correttamente il file robots.txt e le regole lato server. Un blocco errato può escludere intere sezioni del sito dall’indicizzazione, con conseguenze negative sul posizionamento organico.
Crawler di ricerca e altri bot: come distinguerli
Non tutti i bot sono crawler di motori di ricerca. Esistono user agent associati a strumenti di monitoraggio, scraper di terze parti e servizi di analisi. Distinguere queste categorie è importante per applicare politiche di accesso differenziate. La stringa però si falsifica con facilità: per riconoscere un vero Googlebot non basta leggere lo user agent. Google indica due metodi, la verifica con DNS inverso seguita dalla verifica del nome host (in entrambe le direzioni) e il confronto con gli intervalli di indirizzi IP che pubblica. Gli altri motori di ricerca documentano procedure analoghe.
I crawler dei sistemi di intelligenza artificiale
Accanto ai crawler dei motori di ricerca esistono quelli dei sistemi di IA generativa, ciascuno con il proprio user agent: tra i principali ci sono GPTBot, OAI-SearchBot e ChatGPT-User di OpenAI, ClaudeBot, Claude-SearchBot e Claude-User di Anthropic, PerplexityBot e Perplexity-User di Perplexity. Alcuni servono per raccogliere dati destinati all’addestramento, altri per cercare le fonti da citare nelle risposte o per aprire una pagina su richiesta di un utente: i nomi e le funzioni sono indicati nella documentazione di ciascun fornitore e possono cambiare. Google-Extended è invece un token da inserire nel file robots.txt per decidere se i contenuti già scansionati da Google possano essere usati per l’IA generativa di Google (come Gemini): non è un crawler separato e non influisce sulla presenza nella Ricerca. Per l’impatto sulla visibilità nelle risposte generate si vedano la generative engine optimization e il file robots.txt.
Simulare un crawler per vedere cosa restituisce il server
Nella SEO tecnica lo user agent viene sfruttato per verificare come i motori di ricerca vedono il sito. Gli strumenti di analisi permettono di simulare la richiesta di un crawler specifico, mostrando esattamente ciò che il server restituisce in quella circostanza. Questo aiuta a individuare problemi di rendering, contenuti bloccati o risposte errate.
Inoltre, lo user agent è alla base delle regole di crawling contenute nel file robots.txt. Specificando quale user agent deve seguire determinate direttive, i webmaster possono guidare i crawler verso le sezioni rilevanti ed escludere quelle non desiderate.
Cambiare user agent per il debug
Esistono strumenti che consentono di modificare temporaneamente lo user agent del proprio browser per osservare il comportamento del sito. Questa pratica, nota come user agent switching, è utile per il debug e per confermare che le regole di accesso funzionino come previsto. È importante usare questi strumenti con cautela per non generare traffico anomalo.
Gli user agent più comuni messi a confronto
| Motore o servizio | User agent (token) | Funzione principale | Rispetta robots.txt |
|---|---|---|---|
| Googlebot | Scansione e indicizzazione | Dichiarato da Google | |
| Bing | bingbot | Scansione e indicizzazione | Dichiarato da Microsoft |
| Yandex | YandexBot | Scansione e indicizzazione | Dichiarato da Yandex |
| DuckDuckGo | DuckDuckBot | Scansione e indicizzazione | Dichiarato da DuckDuckGo |
| Baidu | Baiduspider | Scansione e indicizzazione | Dichiarato da Baidu |
| OpenAI | GPTBot | Raccolta di dati per l’addestramento dei modelli | Dichiarato da OpenAI |
| Anthropic | ClaudeBot | Raccolta di dati per l’addestramento dei modelli | Dichiarato da Anthropic |
Il rispetto delle regole del robots.txt è una dichiarazione del fornitore, non un obbligo tecnico: conviene verificarlo nei log del server.
Come gestire le regole di accesso senza bloccare i motori
- Verificare regolarmente che i crawler dei motori di ricerca non siano bloccati da regole errate nel file robots.txt.
- Utilizzare strumenti di simulazione per controllare ciò che il server restituisce a ciascuno user agent rilevante.
- Decidere in modo esplicito se consentire o no i crawler dei sistemi di IA e scrivere le regole nel robots.txt.
- Evitare di bloccare intere categorie di bot senza una motivazione chiara, per non escludere crawler legittimi dall’indicizzazione.
- Monitorare i log del server per individuare richieste anomale o user agent sconosciuti.
- Verificare con DNS inverso o con gli intervalli IP pubblicati i bot che dichiarano di essere un motore di ricerca.
- Documentare le modifiche alle regole di accesso per facilitare la manutenzione futura.
- Testare le modifiche in un ambiente di staging prima di applicarle al sito in produzione.
Domande frequenti sullo user agent
Che differenza c’è tra user agent e referrer?
Lo user agent identifica il software client che effettua la richiesta, mentre il referrer indica la pagina di provenienza da cui è partito il collegamento. Sono due intestazioni HTTP distinte e svolgono funzioni diverse nel contesto delle richieste web.
Posso bloccare uno user agent specifico tramite robots.txt?
Sì, il file robots.txt permette di specificare direttive per singoli user agent, consentendo di escludere determinati bot dalla scansione. È tuttavia necessario prestare attenzione a non bloccare per errore i crawler dei motori di ricerca.
Lo user agent influisce direttamente sul posizionamento?
Lo user agent non è un fattore di ranking diretto, ma la sua corretta gestione condiziona la capacità dei motori di ricerca di scansire e indicizzare il sito. Una configurazione errata può quindi avere effetti indiretti sul posizionamento.
Perché lo user agent viene spesso falsificato?
Alcuni software modificano la propria stringa di user agent per apparire come browser comuni o come crawler legittimi, per esempio come Googlebot. Per questo la sola stringa non è una prova di identità: si controlla l’indirizzo IP con il DNS inverso o con gli intervalli IP pubblicati dai motori.
Come posso verificare quale user agent vede il mio sito?
Esistono strumenti online e funzionalità nei browser che permettono di modificare temporaneamente lo user agent e osservare la risposta del server. In alternativa, l’analisi dei log del server mostra le stringhe ricevute dalle richieste effettive.
Gli user agent dei dispositivi mobili sono diversi da quelli desktop?
Sì, gli user agent dei dispositivi mobili contengono indicatori specifici del sistema operativo e del tipo di dispositivo. I server li utilizzano per servire versioni ottimizzate delle pagine, con implicazioni rilevanti per la SEO mobile.
Come si gestiscono i crawler dei sistemi di IA?
Con il file robots.txt si possono consentire o vietare singoli user agent, per esempio GPTBot o ClaudeBot. Il rispetto è volontario: i fornitori più noti dichiarano di rispettarlo, ma conviene controllare i log. Bloccare un crawler di addestramento non impedisce di essere citati in una risposta generata da altre fonti; sulle scelte di visibilità si vedano la generative engine optimization e la citazione nelle risposte AI.
Dal glossario al progettoVuoi sapere se il tuo sito ha problemi tecnici che frenano la visibilità?L’audit SEO tecnico analizza il sito per individuare errori e opportunità di posizionamento su Google e consegna un elenco di interventi con priorità.Scopri l’audit SEO tecnico
Voci correlate:
robots.txt Googlebot Crawler Crawl budget Generative engine optimization
