Protocollo di esclusione robot: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
(5 versioni intermedie di 5 utenti non mostrate) | |||
Riga 2:
== Il ruolo dei ''crawler'' ==
I web crawler sono dei [[software]] automatici programmati per effettuare ricerche ed indicizzazioni periodiche. Nella prima fase di analisi di un sito web dovrebbero controllare l'esistenza del file <code>robots.txt</code> ed applicare eventuali restrizioni richieste dal [[webmaster]] del sito. Non tutti i robot però ottemperano alle richieste contenute nel file
== Standard ==
Quando il proprietario di un sito desidera fornire istruzioni ai robot Web, inserisce un [[file di testo]] denominato robots.txt nella radice della gerarchia del sito Web (ad es. <nowiki>https://www.example.com/robots.txt</nowiki>). Questo file di testo contiene le istruzioni in un formato specifico (vedere gli esempi di seguito). I robot che ''scelgono'' di seguire le istruzioni provano a recuperare questo file e leggono le istruzioni prima di recuperare qualsiasi altro file dal sito web. Se questo file non esiste, i robot web presumono che il proprietario del sito web non desideri porre alcuna limitazione alla scansione dell'intero sito.
Un file robots.txt su un sito web funzionerà come una richiesta che i robot indicati ignorino i file o le [[directory]] specificati durante la scansione di un sito. Ciò potrebbe derivare, ad esempio, da una preferenza per la privacy dai risultati dei motori di ricerca o dalla convinzione che il contenuto delle directory selezionate potrebbe essere fuorviante o irrilevante per la categorizzazione del sito nel suo insieme, o dal desiderio che un'applicazione funzioni solo su determinati dati. I collegamenti alle pagine elencate in robots.txt possono ancora essere visualizzati nei risultati di ricerca se sono collegati a una pagina sottoposta a scansione<ref>{{cita web|url=https://www.youtube.com/watch?v=KBdEwpRQRD0#t=196s|titolo=Uncrawled URLs in search results|editore=YouTube|data=Oct 5, 2009|accesso=29 dicembre 2013|urlarchivio=https://web.archive.org/web/20140106222500/http://www.youtube.com/watch?v=KBdEwpRQRD0#t=196s|dataarchivio=6 gennaio 2014|urlmorto=no}}</ref>.
Riga 11:
Un file robots.txt copre un'origine. Per i siti web con più sottodomini, ogni sottodominio deve avere il proprio file robots.txt. Se example.com avesse un file robots.txt ma a.example.com no, le regole che si applicherebbero per example.com non si applicherebbero a a.example.com. Inoltre, ogni protocollo e porta necessita del proprio file robots.txt; <nowiki>http://example.com/robots.txt</nowiki> non si applica alle pagine in <nowiki>http://example.com:8080/</nowiki> o <nowiki>https://example.com/</nowiki>.
Alcuni dei principali motori di ricerca che seguono questo standard includono [[Ask.com|Ask]]<ref name="ask-webmasters">{{cita web|titolo=About Ask.com: Webmasters|url=http://about.ask.com/docs/about/webmasters.shtml|sito=About.ask.com|accesso=16 febbraio 2013}}</ref>, [[AOL Search|AOL]]<ref name="about-aol-search">{{cita web|titolo=About AOL Search|url=http://search.aol.com/aol/about|sito=Search.aol.com|accesso=16 febbraio 2013|dataarchivio=13 dicembre 2012|urlarchivio=https://web.archive.org/web/20121213134546/http://search.aol.com/aol/about|urlmorto=sì}}</ref>, [[Baidu]]<ref name="baidu-spider">{{cita web|titolo=Baiduspider|url=http://www.baidu.com/search/spider_english.html|sito=Baidu.com|accesso=16 febbraio 2013|dataarchivio=6 agosto 2013|urlarchivio=https://web.archive.org/web/20130806131031/http://www.baidu.com/search/spider_english.html|urlmorto=sì}}</ref>, [[DuckDuckGo]]<ref name="duckduckgo-bot">{{cita web|url=https://duckduckgo.com/duckduckbot|sito=DuckDuckGo.com|titolo=DuckDuckGo Bot|accesso=25 aprile 2017}}</ref>, [[Google]]<ref name="google-webmasters-spec2">{{cita web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|titolo=Webmasters: Robots.txt Specifications|opera=Google Developers|accesso=16 febbraio 2013|urlarchivio=https://web.archive.org/web/20130115214137/https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|dataarchivio=15 gennaio 2013|urlmorto=no}}</ref>, [[Yahoo
Il gruppo di volontari Archive Team ignora esplicitamente e abitualmente il file robots.txt
Per alcuni anni [[Internet Archive]] non ha eseguito la scansione dei siti con robots.txt, ma nell'aprile 2017 ha annunciato che non avrebbe più rispettato le direttive nei file robots.txt<ref>{{Cita web|url=https://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/|titolo=Robots.txt meant for search engines don't work well for web archives {{!}} Internet Archive Blogs|sito=blog.archive.org|lingua=en|accesso=1º dicembre 2018|urlarchivio=https://web.archive.org/web/20181204130028/http://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/|dataarchivio=4 dicembre 2018|urlmorto=n}}</ref>. "Nel tempo abbiamo osservato che i file robots.txt destinati ai crawler dei motori di ricerca non servono necessariamente ai nostri scopi di archiviazione". Ciò era in risposta
== Sicurezza ==
Nonostante l'uso dei termini "allow" e "disallow", il protocollo è puramente consultivo e si basa sulla conformità del web robot<ref>{{cita web|titolo=Block URLs with robots.txt: Learn about robots.txt files|url=https://support.google.com/webmasters/answer/6062608|accesso=10 agosto 2015|urlarchivio=https://web.archive.org/web/20150814013400/https://support.google.com/webmasters/answer/6062608|dataarchivio=14 agosto 2015|urlmorto=no}}</ref>. È improbabile che i robot
== Alternative ==
Molti robot trasmettono anche uno speciale [[User agent|user-agent]] al [[server web]] durante il recupero del contenuto<ref>{{cita web|url=http://www.user-agents.org/|titolo=List of User-Agents (Spiders, Robots, Browser)|editore=User-agents.org|accesso=29 dicembre 2013|urlarchivio=https://web.archive.org/web/20140107154205/http://user-agents.org/|dataarchivio=7 gennaio 2014|urlmorto=no}}</ref>. Un amministratore web potrebbe anche configurare il server in modo che restituisca automaticamente un errore (o trasmetta contenuto alternativo) quando rileva una connessione utilizzando uno dei robot<ref>{{cita web|url=https://httpd.apache.org/docs/2.2/howto/access.html|titolo=Access Control - Apache HTTP Server|editore=Httpd.apache.org|accesso=29 dicembre 2013|urlarchivio=https://web.archive.org/web/20131229110831/http://httpd.apache.org/docs/2.2/howto/access.html|dataarchivio=29 dicembre 2013|urlmorto=no}}</ref><ref>{{cita web|url=http://www.iis.net/configreference/system.webserver/security/requestfiltering/filteringrules/filteringrule/denystrings|titolo=Deny Strings for Filtering Rules : The Official Microsoft IIS Site|editore=Iis.net|data=6 novembre 2013|accesso=29 dicembre 2013|urlarchivio=https://web.archive.org/web/20140101112730/http://www.iis.net/configreference/system.webserver/security/requestfiltering/filteringrules/filteringrule/denystrings|dataarchivio=1º gennaio 2014|urlmorto=no}}</ref>.
Alcuni siti, come Google, ospitano un file <code>humans.txt</code>
In precedenza Google aveva ospitato un file di scherzo
== Formato del file ''robots.txt'' ==
Riga 31:
Ogni riga del file contiene un record. Ogni record ha la seguente sintassi:
<pre>
</pre>
I campi disponibili sono:
Riga 44 ⟶ 45:
Per permettere l'accesso a tutto il sito web, non indicare nulla nella direttiva Disallow. Alcuni [[crawler]] supportano anche la direttiva Allow.
<pre>
</pre>
Per bloccare un intero sito, utilizza una barra.
<pre>
</pre>
Per bloccare una directory e il relativo contenuto, fai seguire il nome della directory da una barra.
<pre>
</pre>
Per bloccare una pagina, indica tale pagina.
<pre>
</pre>
Per segnalare il file [[sitemap]] del sito.
<pre>
</pre>
Esiste inoltre la direttiva Crawl-Delay, che permette di limitare la velocità di accesso al server da parte dei crawler che la supportano, indicando il minimo tempo di attesa, in secondi, tra due richieste consecutive.
Riga 73 ⟶ 79:
== Estensione Standard ==
Su [http://www.conman.org/people/spc/robots2.html Extended Standard for Robot Exclusion] sono stati proposti due nuovi parametri: '''Request-rate''' e '''Visit-time''':
<pre>
</pre>
== Estensioni non Standard ==
=== Direttiva sul ritardo della scansione ===
Il valore del ritardo della ricerca per indicizzazione è supportato da alcuni crawler per limitare le loro visite all'host. Poiché questo valore non fa parte dello standard, la sua interpretazione dipende dal crawler che lo legge. Viene utilizzato quando il burst multiplo di visite da parte dei bot sta rallentando l'host. Yandex interpreta il valore come il numero di secondi da attendere tra le visite successive<ref name="yandex-robots2"/>. Bing definisce il ritardo della scansione come la dimensione di una finestra temporale (da 1 a 30 secondi) durante la quale BingBot accederà a un sito web solo una volta. Google fornisce un'interfaccia nella sua console di ricerca per i webmaster, per controllare le visite successive di [[Googlebot|GoogleBot]]<ref>{{cita web|titolo=Change Googlebot crawl rate - Search Console Help|url=https://support.google.com/webmasters/answer/48620?hl=en|sito=support.google.com|accesso=22 ottobre 2018|lingua=en|urlarchivio=https://web.archive.org/web/20181118205747/https://support.google.com/webmasters/answer/48620?hl=en|dataarchivio=18 novembre 2018|urlmorto=no}}</ref>.
<pre>
Crawl-delay: 10 </pre>
===
Alcuni dei principali crawler supportano una direttiva <code>Allow</code>, che può contrastare una direttiva <code>Disallow</code><ref>{{cita web|url=https://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449&from=40364|titolo=Webmaster Help Center - How do I block Googlebot?|accesso=20 novembre 2007|urlarchivio=https://web.archive.org/web/20100801082008/http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449&from=40364|dataarchivio=1º agosto 2010|urlmorto=no}}</ref><ref>{{cita web|url=http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html|titolo=How do I prevent my site or certain subdirectories from being crawled? - Yahoo Search Help|accesso=20 novembre 2007|urlarchivio=https://web.archive.org/web/20071013014215/http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html|dataarchivio=13 ottobre 2007|urlmorto=no}}</ref> successiva. Ciò è utile quando si dice ai robot di evitare un'intera directory ma si desidera comunque che alcuni documenti [[HTML]] in quella directory vengano sottoposti a scansione e indicizzati. Mentre per l'implementazione standard vince sempre il primo pattern robots.txt corrispondente, l'implementazione di Google differisce in quanto
Per essere compatibile con tutti i robot, se si desidera consentire singoli file all'interno di una directory altrimenti non consentita, è necessario inserire prima le direttive <code>Allow</code>, seguite da <code>Disallow</code>, ad esempio:
<pre>
Allow: /directory1/myfile.html▼
Questo esempio Disabiliterà qualsiasi cosa in / directory1 / eccetto /directory1/myfile.html, poiché quest'ultimo corrisponderà per primo. L'ordine è importante solo per i robot che seguono lo standard; nel caso dei bot Google o Bing, l'ordine non è importante.▼
</pre>
▲Questo esempio
=== Sitemap ===
Alcuni crawler supportano una direttiva <code>Sitemap</code>, che consente più Sitemap nello stesso <samp>robots.txt</samp> nella forma<ref>{{cita web|url=http://ysearchblog.com/2007/04/11/webmasters-can-now-auto-discover-with-sitemaps/|titolo=Yahoo! Search Blog - Webmasters can now auto-discover with Sitemaps|accesso=23 marzo 2009|urlarchivio=https://web.archive.org/web/20090305061841/http://ysearchblog.com/2007/04/11/webmasters-can-now-auto-discover-with-sitemaps/|dataarchivio=5 marzo 2009|urlmorto=sì}}</ref>
Sitemap: <nowiki>http://www.example.com/sitemap.xml</nowiki>▼
Per esempio:
<pre>
</pre>
=== Host ===
Alcuni crawler (Yandex) supportano una direttiva <code>Host</code>, che consente ai siti web con più mirror di specificare il proprio dominio preferito<ref>{{cita web|url=http://help.yandex.com/webmaster/?id=1113851|titolo=Yandex - Using robots.txt|accesso=13 maggio 2013|urlarchivio=https://web.archive.org/web/20130509230548/http://help.yandex.com/webmaster/?id=1113851|dataarchivio=9 maggio 2013|urlmorto=no}}</ref>:
<pre>
</pre>
Questo non è supportato da tutti i crawler.
Riga 110 ⟶ 128:
; Un meta tag "noindex"
<pre>
</pre>
; Un'intestazione di risposta HTTP "noindex"
<pre>
</pre>
▲ X-Robots-Tag: noindex
X-Robots-Tag è efficace solo dopo che la pagina è stata richiesta e il server ha risposto, e il meta tag robots è efficace solo dopo che la pagina è stata caricata, mentre robots.txt è efficace prima che la pagina venga richiesta. Pertanto, se una pagina viene esclusa da un file robots.txt, tutti i meta tag robots o le intestazioni X-Robots-Tag vengono effettivamente ignorati perché il robot non li vedrà in primo luogo<ref name="google-meta2"/>.
Riga 121 ⟶ 141:
Una volta che il file robots.txt è stato creato deve essere inserito nella directory principale del dominio ed avere il nome esatto "robots.txt". Se viene memorizzato in una directory diversa, i robot non lo troveranno in quanto di default effettuano la ricerca nella directory principale del dominio.
Se non si ha accesso alla directory principale di un dominio, è possibile limitare l'accesso utilizzando il
== Note ==
|