Protocollo di esclusione robot: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m →Collegamenti esterni: smistamento lavoro sporco e fix vari |
Aggiornamento della voce |
||
Riga 1:
Il '''protocollo di esclusione robot''' (in [[lingua inglese|inglese]] ''Robots Exclusion Standard'') indica, nel gergo di [[internet]] e più in generale del [[web]], le regole indicate dai gestori di un [[sito web]] ai [[crawler]] che lo visitano, chiedendo di applicare restrizioni di analisi sulle pagine del sito. Esse sono contenute nel file '''robots.txt''', ideato nel giugno [[1994]] con il consenso dei membri della robots mailing list (robots-request{{@}}nexor.co.uk). In questo momento non esiste un vero e proprio standard per il protocollo robots.
== 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 robots.txt ed applicare eventuali restrizioni richieste dal webmaster del sito. Non tutti i robot però ottemperano alle richieste contenute nel file robot.txt.
== 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 specificati 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 l'applicazione funziona 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>{{cite web|url=https://www.youtube.com/watch?v=KBdEwpRQRD0#t=196s|title=Uncrawled URLs in search results|publisher=YouTube|date=Oct 5, 2009|access-date=2013-12-29|archive-url=https://web.archive.org/web/20140106222500/http://www.youtube.com/watch?v=KBdEwpRQRD0#t=196s|archive-date=2014-01-06|url-status=live}}</ref>.
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<ref name="ask-webmasters">{{cite web|title=About Ask.com: Webmasters|url=http://about.ask.com/docs/about/webmasters.shtml|website=About.ask.com|access-date=16 February 2013}}</ref>, AOL<ref name="about-aol-search">{{cite web|title=About AOL Search|url=http://search.aol.com/aol/about|website=Search.aol.com|access-date=16 February 2013}}</ref>, Baidu<ref name="baidu-spider">{{cite web|title=Baiduspider|url=http://www.baidu.com/search/spider_english.html|website=Baidu.com|access-date=16 February 2013}}</ref>, DuckDuckGo<ref name="duckduckgo-bot">{{cite web|url=https://duckduckgo.com/duckduckbot|website=DuckDuckGo.com|title=DuckDuckGo Bot|access-date=25 April 2017}}</ref>, Google<ref name="google-webmasters-spec">{{cite web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|title=Webmasters: Robots.txt Specifications|work=Google Developers|access-date=16 February 2013|archive-url=https://web.archive.org/web/20130115214137/https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|archive-date=2013-01-15|url-status=live}}</ref>, Yahoo !<ref name="yahoo-search-is-bing">{{cite web|url=http://help.yahoo.com/kb/index?page=content&y=PROD_SRCH&locale=en_US&id=SLN2217&impressions=true|title=Submitting your website to Yahoo! Search|access-date=16 February 2013|archive-url=https://web.archive.org/web/20130121035801/http://help.yahoo.com/kb/index?page=content&y=PROD_SRCH&locale=en_US&id=SLN2217&impressions=true|archive-date=2013-01-21|url-status=live}}</ref>, e Yandex<ref name="yandex-robots">{{cite web|url=http://help.yandex.com/webmaster/?id=1113851|title=Using robots.txt|website=Help.yandex.com|access-date=16 February 2013|archive-url=https://web.archive.org/web/20130125040017/http://help.yandex.com/webmaster/?id=1113851|archive-date=2013-01-25|url-status=live}}</ref>. Bing non è completamente compatibile con lo standard in quanto non può ereditare le impostazioni dal carattere jolly (<code>*</code>)<ref name="bing-blog-robots">{{cite web|url=https://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation/|title=Robots Exclusion Protocol: joining together to provide better documentation|website=Blogs.bing.com|archive-url=https://web.archive.org/web/20140818025412/http://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation/|archive-date=2014-08-18|url-status=live|access-date=16 February 2013}}</ref>.
Il gruppo di volontari Archive Team ignora esplicitamente il file robots.txt per la maggior parte, considerandolo uno standard obsoleto che ostacola gli sforzi di archiviazione web. Secondo il responsabile del progetto Jason Scott, "deselezionato e lasciato da solo, il file robots.txt non garantisce il mirroring o il riferimento per elementi che potrebbero avere un uso generale e un significato al di fuori del contesto del sito web"<ref>{{cite web|url=http://www.archiveteam.org/index.php?title=Robots.txt|publisher=Archive Team|title=Robots.txt is a suicide note|author=Jason Scott|access-date=18 February 2017|archive-url=https://web.archive.org/web/20170218044527/http://www.archiveteam.org/index.php?title=Robots.txt|archive-date=2017-02-18|url-status=live|author-link=Jason Scott}}</ref>.
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>{{Cite web|url=https://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/|title=Robots.txt meant for search engines don't work well for web archives {{!}} Internet Archive Blogs|website=blog.archive.org|language=en-US|access-date=2018-12-01|archive-url=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/|archive-date=2018-12-04|url-status=live}}</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 a interi domini che venivano taggati con robots.txt quando il contenuto è diventato obsoleto<ref name="Internet Archive">{{cite news|url=https://www.digitaltrends.com/computing/internet-archive-robots-txt/#ixzz4gQYOqpUi|title=The Internet Archive Will Ignore Robots.txt Files to Maintain Accuracy|newspaper=[[Digital Trends]]|first=Brad|last=Jones|date=24 April 2017|access-date=8 May 2017|archive-url=https://web.archive.org/web/20170516130029/https://www.digitaltrends.com/computing/internet-archive-robots-txt/#ixzz4gQYOqpUi|archive-date=2017-05-16|url-status=live}}</ref>.
== Sicurezza ==
Nonostante l'uso dei termini "allow" e "disallow", il protocollo è puramente consultivo e si basa sulla conformità del web robot<ref>{{cite web|title=Block URLs with robots.txt: Learn about robots.txt files|url=https://support.google.com/webmasters/answer/6062608|access-date=2015-08-10|archive-url=https://web.archive.org/web/20150814013400/https://support.google.com/webmasters/answer/6062608|archive-date=2015-08-14|url-status=live}}</ref>. È improbabile che i robot Web dannosi rispettino il file robots.txt; alcuni potrebbero persino utilizzare il file robots.txt come guida per trovare link non consentiti e accedervi direttamente. Anche se a volte si afferma che questo sia un rischio per la sicurezza<ref>{{cite web|url=https://www.theregister.co.uk/2015/05/19/robotstxt/|title=Robots.txt tells hackers the places you don't want them to look|work=The Register|access-date=August 12, 2015|archive-url=https://web.archive.org/web/20150821063759/http://www.theregister.co.uk/2015/05/19/robotstxt/|archive-date=2015-08-21|url-status=live}}</ref>, questo tipo di sicurezza attraverso l'oscurità è scoraggiato dagli organismi di normalizzazione. Il National Institute of Standards and Technology (NIST) negli Stati Uniti raccomanda specificamente contro questa pratica: "La sicurezza del sistema non dovrebbe dipendere dalla segretezza dell'implementazione o dei suoi componenti"<ref>{{cite web|title=Guide to General Server Security|url=http://csrc.nist.gov/publications/nistpubs/800-123/SP800-123.pdf|publisher=National Institute of Standards and Technology|date=July 2008|access-date=August 12, 2015|archive-url=https://web.archive.org/web/20111008115412/http://csrc.nist.gov/publications/nistpubs/800-123/SP800-123.pdf|archive-date=2011-10-08|url-status=live}}</ref>. Nel contesto dei file robots.txt, la sicurezza attraverso l'oscurità non è consigliata come tecnica di sicurezza<ref>{{cite book|author=Sverre H. Huseby|title=Innocent Code: A Security Wake-Up Call for Web Programmers|publisher=John Wiley & Sons|year=2004|pages=91–92|isbn=9780470857472|url=https://books.google.com/books?id=RjVjgPQsKogC&pg=PA92|access-date=2015-08-12|archive-url=https://web.archive.org/web/20160401193437/https://books.google.com/books?id=RjVjgPQsKogC&pg=PA92|archive-date=2016-04-01|url-status=live}}</ref>.
== Alternative ==
Molti robot trasmettono anche uno speciale user-agent al server web durante il recupero del contenuto<ref>{{cite web|url=http://www.user-agents.org/|title=List of User-Agents (Spiders, Robots, Browser)|publisher=User-agents.org|access-date=2013-12-29|archive-url=https://web.archive.org/web/20140107154205/http://user-agents.org/|archive-date=2014-01-07|url-status=live}}</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>{{cite web|url=https://httpd.apache.org/docs/2.2/howto/access.html|title=Access Control - Apache HTTP Server|publisher=Httpd.apache.org|access-date=2013-12-29|archive-url=https://web.archive.org/web/20131229110831/http://httpd.apache.org/docs/2.2/howto/access.html|archive-date=2013-12-29|url-status=live}}</ref><ref>{{cite web|url=http://www.iis.net/configreference/system.webserver/security/requestfiltering/filteringrules/filteringrule/denystrings|title=Deny Strings for Filtering Rules : The Official Microsoft IIS Site|publisher=Iis.net|date=2013-11-06|access-date=2013-12-29|archive-url=https://web.archive.org/web/20140101112730/http://www.iis.net/configreference/system.webserver/security/requestfiltering/filteringrules/filteringrule/denystrings|archive-date=2014-01-01|url-status=live}}</ref>.
Alcuni siti, come Google, ospitano un <code>humans.txt</code>file che mostra informazioni destinate alla lettura da parte degli esseri umani<ref>{{Cite web|url=https://www.google.com/humans.txt|title=Google humans.txt|access-date=October 3, 2019}}</ref>. Alcuni siti come GitHub reindirizzano human.txt a una pagina di informazioni<ref>{{Cite web|url=https://github.com/humans.txt|title=Github humans.txt|access-date=October 3, 2019}}</ref>.
In precedenza Google aveva un file di scherzo ospitato per <code>/killer-robots.txt</code>istruire il Terminator a non uccidere i fondatori dell'azienda Larry Page e Sergey Brin<ref>{{Cite web|url=https://slate.com/technology/2014/07/a-killer-robots-txt-google-easter-egg.html|title=Is This a Google Easter Egg or Proof That Skynet Is Actually Plotting World Domination?|last=Newman|first=Lily Hay|date=2014-07-03|website=Slate Magazine|language=en|access-date=2019-10-03}}</ref><ref>{{Cite web|url=https://www.google.com/killer-robots.txt|title=/killer-robots.txt|date=2018-01-10|url-status=live|archive-url=https://web.archive.org/web/20180110160916/https://www.google.com/killer-robots.txt|archive-date=2018-01-10|access-date=2018-05-25}}</ref>.
== Formato del file ''robots.txt'' ==
Riga 19 ⟶ 41:
== Esempi ==
Ecco alcuni esempi<ref name="google-webmasters-spec2">{{cite web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|title=Webmasters: Robots.txt Specifications|work=Google Developers|access-date=16 February 2013|archive-url=https://web.archive.org/web/20130115214137/https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|archive-date=2013-01-15|url-status=live}}</ref> classici dell'utilizzo del file robots.txt.
Per permettere l'accesso a tutto il sito web, non indicare nulla nella direttiva Disallow. Alcuni [[crawler]] supportano anche la direttiva Allow.
Riga 53 ⟶ 75:
User-agent: *
Disallow: /private_directory/
Request-rate: 1/5
Visit-time: 0600-0845
== 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">{{cite web|url=http://help.yandex.com/webmaster/?id=1113851|title=Using robots.txt|website=Help.yandex.com|access-date=16 February 2013|archive-url=https://web.archive.org/web/20130125040017/http://help.yandex.com/webmaster/?id=1113851|archive-date=2013-01-25|url-status=live}}</ref>. 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<ref>{{cite web|title=Change Googlebot crawl rate - Search Console Help|url=https://support.google.com/webmasters/answer/48620?hl=en|website=support.google.com|access-date=22 October 2018|language=en|archive-url=https://web.archive.org/web/20181118205747/https://support.google.com/webmasters/answer/48620?hl=en|archive-date=2018-11-18|url-status=live}}</ref>.
User-agent: bingbot
Allow : /
Crawl-delay: 10
=== Consenti direttiva ===
Alcuni dei principali crawler supportano una direttiva <code>Allow</code>, che può contrastare una direttiva <code>Disallow</code><ref>{{cite web|url=https://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449&from=40364|title=Webmaster Help Center - How do I block Googlebot?|access-date=2007-11-20|archive-url=https://web.archive.org/web/20100801082008/http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449&from=40364|archive-date=2010-08-01|url-status=live}}</ref><ref>{{cite web|url=http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html|title=How do I prevent my site or certain subdirectories from being crawled? - Yahoo Search Help|access-date=2007-11-20|archive-url=https://web.archive.org/web/20071013014215/http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html|archive-date=2007-10-13|url-status=live}}</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 Consenti ai pattern con caratteri uguali o superiori nel percorso della direttiva di vincere su un pattern Disallow corrispondente<ref>{{cite web|url=http://blog.semetrical.com/googles-secret-approach-to-robots-txt/|title=Google's Hidden Interpretation of Robots.txt|access-date=2010-11-15|archive-url=https://web.archive.org/web/20101120023619/http://blog.semetrical.com/googles-secret-approach-to-robots-txt/|archive-date=2010-11-20|url-status=live}}</ref>. Bing utilizza la direttiva <code>Allow</code>o <code>Disallow</code>, a seconda di quale sia più specifica, in base alla lunghezza, come Google<ref name="bing-blog-robots2">{{cite web|url=https://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation/|title=Robots Exclusion Protocol: joining together to provide better documentation|website=Blogs.bing.com|archive-url=https://web.archive.org/web/20140818025412/http://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation/|archive-date=2014-08-18|url-status=live|access-date=16 February 2013}}</ref>.
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 Allow, seguite da Disallow, ad esempio:
Allow: /directory1/myfile.html
Disallow: /directory1/
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.
=== Sitemap ===
Alcuni crawler supportano una direttiva <code>Sitemap</code>, che consente più Sitemap nello stesso <samp>robots.txt</samp> nella forma<ref>{{cite web|url=http://ysearchblog.com/2007/04/11/webmasters-can-now-auto-discover-with-sitemaps/|title=Yahoo! Search Blog - Webmasters can now auto-discover with Sitemaps|access-date=2009-03-23|archive-url=https://web.archive.org/web/20090305061841/http://ysearchblog.com/2007/04/11/webmasters-can-now-auto-discover-with-sitemaps/|archive-date=2009-03-05|url-status=dead}}</ref>: <code>Sitemap: ''full-url''</code>
Sitemap: <nowiki>http://www.example.com/sitemap.xml</nowiki>
=== 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>{{cite web|url=http://help.yandex.com/webmaster/?id=1113851|title=Yandex - Using robots.txt|access-date=2013-05-13|archive-url=https://web.archive.org/web/20130509230548/http://help.yandex.com/webmaster/?id=1113851|archive-date=2013-05-09|url-status=live}}</ref>:
Host: hosting.example.com
Questo non è supportato da tutti i crawler.
=== Corrispondenza "*" universale ===
Lo ''standard di esclusione dei robot'' non menziona il carattere "*" nella dichiarazione<ref>{{cite web|url=https://developers.google.com/search/reference/robots_txt?hl=en|title=Robots.txt Specifications|website=Google Developers|access-date=February 15, 2020}}</ref> <code>Disallow:</code>
== Meta tag e intestazioni ==
Oltre ai file robots.txt a livello di root, le direttive di esclusione dei robot possono essere applicate a un livello più granulare tramite l'uso di meta tag Robots e intestazioni HTTP X-Robots-Tag. Il meta tag robots non può essere utilizzato per file non HTML come immagini, file di testo o documenti PDF. D'altra parte, l'X-Robots-Tag può essere aggiunto a file non HTML utilizzando file.htaccess e httpd.conf<ref name="google-meta">{{cite web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag|title=Robots meta tag and X-Robots-Tag HTTP header specifications - Webmasters — Google Developers|access-date=2013-08-17|archive-url=https://web.archive.org/web/20130808020946/https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag|archive-date=2013-08-08|url-status=live}}</ref>.
; Un meta tag "noindex"
< meta name = "robots" content = "noindex" />
; Un'intestazione di risposta HTTP "noindex"
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">{{cite web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag|title=Robots meta tag and X-Robots-Tag HTTP header specifications - Webmasters — Google Developers|access-date=2013-08-17|archive-url=https://web.archive.org/web/20130808020946/https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag|archive-date=2013-08-08|url-status=live}}</ref>.
== Utilizzo ==
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 META tag Robots.
|