Lo User Agent è selezionabile liberamente per gli accessi HTTP(S): questo è il motivo per cui nel web esistono sia i “veri” Googlebot, sia crawler di terze parti che sperano di ottenere vantaggi utilizzando lo stesso nome.
In passato, l’unico modo per determinare l’autenticità degli accessi di Googlebot era tramite il Reverse DNS e la risoluzione DNS dell’indirizzo IP di accesso. Ecco un esempio attuale dai nostri logfile:
66.249.66.67 [10/Nov/2021:10:59:29 +0100] "GET /news/ HTTP/1.1" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Per determinare se l’accesso precedente è stato effettuato da un vero Googlebot, si deve prima determinare la cosiddetta voce “Reverse DNS” per l’indirizzo IP di accesso:
% host 66.249.66.67
67.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-67.googlebot.com.
Ora è necessario prendere questo IP e riprocessarlo per ottenere l’indirizzo IP:
% host crawl-66-249-66-67.googlebot.com
crawl-66-249-66-67.googlebot.com has address 66.249.66.67
Se si atterra direttamente sull’indirizzo IP (come in questo esempio), l’accesso risulta autentico: in questo caso è stato davvero Google e non qualcuno che finge di essere tale. Ma la situazione può anche essere diversa, come vediamo dal log seguente:
46.187.1.73 [10/Nov/2021:11:00:42 +0100] "GET /ask-sistrix/ HTTP/1.1" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Lo User Agent è lo stesso, ma la risoluzione dell’IP è differente:
% host 192.165.113.171
Host 171.113.165.192.in-addr.arpa not found: 2(SERVFAIL)
Non esiste nessuna voce di Reverse DNS per questo indirizzo IP e, indagando un po’ più a fondo, diventa chiaro che il provider russo che usa questo indirizzo IP non è così rispettabile come Google: un chiaro caso di Googlebot fasullo.
Come avrai notato, questo processo non è così semplice da svolgere e, a seconda della velocità dei server DNS, il server può anche impiegare molto tempo a capire ogni volta se un Googlebot è reale o falso.
Per risolvere il problema, Google ha deciso di fornire una lista dei suoi indirizzi IP legittimi, elencando tutti quelli in uso all’interno di un file JSON.
Grazie a questa lista è possibile controllare velocemente l’effettività di un Googlebot: basta cercare l’indirizzo IP e vedere se è segnato nell’elenco. Grazie Google!