Il Protocollo di Esclusione Robot per Deindicizzare Link da Google

Il protocollo di esclusione robot, in inglese “Robots Exclusion Standard” indica l’insieme delle regole stabilite dai gestori di un sito web ai crawler che lo visitano, chiedendo di applicare restrizioni di analisi sulle pagine del sito. Le restrizioni sono rintracciabili nel file robots.txt, nato nel giugno 1994, anche grazie al supporto degli appartenenti alla robots mailing list. Al momento attuale non esiste un vero e proprio standard per il protocollo robots. I web crawler rappresentano dei programmi automatici, dedicati esclusivamente alle  ricerche ed alle indicizzazioni periodiche. In un primo momento di analisi di un sito internet, i web crawler dovrebbero verificare la presenza di un  file “robots.txt” e, di conseguenza, mettere in pratica tutte le limitazioni previste dal webmaster del sito. In particolare, il crawler è un servizio o agente che effettua la scansione dei siti web. Un crawler ha accesso automatico e costante agli URL (Uniform Resource Locator), purché siano noti, che appartengono ad un host che, a sua volta, pubblica contenuti accessibili tramite browser web standard. 

Creare un file robots.txt

Ogni URL sarò scansionato allo stesso modo. Non tutti i robot però riescono a concretizzare tutte le richieste contenute nel file dall’estensione “robot.txt”. Il file è accompagnato da un protocollo che consente di definire il robot al quale applicare la regola, oltre che specificare quali sono le pagine e directory a cui non applicare alcuna forma di indicizzazione. Ogni riga del file contiene un record, caratterizzato da una particolare sintassi, costituita da due voci, “<campo> <valore>”. A loro volta, i campi a disposizione sono due: 1.User-Agent. Il valore di questo campo contiene riporta il nome del robot che deve applicare le particolari limitazioni previste. Se si aggiunge il carattere *, la regola viene applicata a qualsiasi robot; 2. Disallow: il valore di questo campo esprime le pagine del sito che devono essere sottoposte dai robot al processo di indicizzazione. Per ogni User-Agent è possibile specificare una o più restrizioni tramite il campo Disallow. Inoltre, sul Extended Standard for Robot Exclusion sono stati inseriti due nuovi parametri: “Request-rate” e “Visit-time”. Dopo aver creato il file “robots.txt”, bisognerà inserirlo nella directory principale del dominio; inoltre, il file stesso dovrà riportare la denominazione precisa di “robots.txt”. Infatti, se la memorizzazione si realizza in una directory diversa, i robot non riusciranno a rintracciarlo, poiché alcuni default si incaricano della ricerca all’interno della directory principale del dominio. 

Se non si ha accesso alla directory principale di un dominio, è possibile mettere un limite all’accesso utilizzando il META tag Robots. Dal 1° luglio 2019, Google ha trasformato il protocollo robots.txt in uno standard Internet. Le principali modifiche sono state le seguenti: eliminazione della sezione denominata “Requirements Language” (Lingua requisiti); Robots.txt ora accetta tutti i protocolli che si basano su URI; Google fa riferimento ad almeno cinque hop di reindirizzamento.

Poiché non sono ancora state riprese le regole, i reindirizzamenti vengono seguiti per almeno cinque hop e, se non viene rintracciato alcun file di estensione robots.txt, per Google sarà un errore di tipo 404. Si sconsiglia l’uso della gestione dei reindirizzamenti logici per il file robots.txt basata su contenuti HTML che restituiscono un errore di tipo 2xx (frame, JavaScript o reindirizzamenti di aggiornamento dei metadati). I contenuti della prima pagina vengono utilizzati per trovare le regole che sono state applicate. Per quanto riguarda gli errori afferenti alla tipologia 5xx, qualora il file di estensione robots.txt non sia rintracciabile per più di un mese, si passa all’uso della sua ultima copia memorizzata nella cache. Se anche quest’ultima non risulterà disponibile, Google immagina l’assenza di restrizioni di scansione. Google considera, inoltre, le richieste non andate a buon fine o i dati incompleti come un errore del server. I “record” prendono il nome di “righe” o “regole”, a seconda dei casi; Google non regge la gestione di elementi <field> con errori semplici o di battitura; Google prevede un limite di dimensioni pari a 500 kibibyte (KiB), non tenendo conto dei contenuti dopo il superamento di questo limite. E ancora, tra le principali modifiche apportate da Google al protocollo, c’è: l’aggiornamento della sintassi formale, perché corrisponda all’Augmented Backus-Naur Form (ABNF) valido per RFC5234 e copra i caratteri UTF-8 nel file robots.txt; ggiornamento della definizione di “gruppi”, affinché sia più breve, ma precisa; eliminazione dei riferimenti allo schema Ajax Crawling obsoleto. Possiamo distinguere, infine, tre diversi risultati quando vengono recuperati i file robots.txt: full allow, quando tutti i risultati possono essere scansionati; full disallow, quando nessun risultato può essere scansionato; conditional allow, quando le istruzioni nel file robots.txt definiscono la capacità di sottoporre a scansione determinati contenuti.