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>{{citecita web|url=https://www.youtube.com/watch?v=KBdEwpRQRD0#t=196s|titletitolo=Uncrawled URLs in search results|publishereditore=YouTube|datedata=Oct 5, 2009|access-dateaccesso=2013-12-29 dicembre 2013|archive-urlurlarchivio=https://web.archive.org/web/20140106222500/http://www.youtube.com/watch?v=KBdEwpRQRD0#t=196s|archive-datedataarchivio=6 gennaio 2014-01-06|url-statusurlmorto=liven}}</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">{{citecita web|titletitolo=About Ask.com: Webmasters|url=http://about.ask.com/docs/about/webmasters.shtml|websitesito=About.ask.com|access-dateaccesso=16 Februaryfebbraio 2013}}</ref>, AOL<ref name="about-aol-search">{{citecita web|titletitolo=About AOL Search|url=http://search.aol.com/aol/about|websitesito=Search.aol.com|access-dateaccesso=16 Februaryfebbraio 2013}}</ref>, Baidu<ref name="baidu-spider">{{citecita web|titletitolo=Baiduspider|url=http://www.baidu.com/search/spider_english.html|websitesito=Baidu.com|access-dateaccesso=16 Februaryfebbraio 2013}}</ref>, DuckDuckGo<ref name="duckduckgo-bot">{{citecita web|url=https://duckduckgo.com/duckduckbot|websitesito=DuckDuckGo.com|titletitolo=DuckDuckGo Bot|access-dateaccesso=25 Aprilaprile 2017}}</ref>, Google<ref name="google-webmasters-specspec2">{{citecita web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|titletitolo=Webmasters: Robots.txt Specifications|workopera=Google Developers|access-dateaccesso=16 Februaryfebbraio 2013|archive-urlurlarchivio=https://web.archive.org/web/20130115214137/https://developers.google.com/webmasters/control-crawl-index/docs/robots_txt|archive-datedataarchivio=15 gennaio 2013-01-15|url-statusurlmorto=liven}}</ref>, Yahoo !<ref name="yahoo-search-is-bing">{{citecita web|url=http://help.yahoo.com/kb/index?page=content&y=PROD_SRCH&locale=en_US&id=SLN2217&impressions=true|titletitolo=Submitting your website to Yahoo! Search|access-dateaccesso=16 Februaryfebbraio 2013|archive-urlurlarchivio=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-datedataarchivio=21 gennaio 2013-01-21|url-statusurlmorto=liven}}</ref>, e Yandex<ref name="yandex-robotsrobots2">{{citecita web|url=http://help.yandex.com/webmaster/?id=1113851|titletitolo=Using robots.txt|websitesito=Help.yandex.com|access-dateaccesso=16 Februaryfebbraio 2013|archive-urlurlarchivio=https://web.archive.org/web/20130125040017/http://help.yandex.com/webmaster/?id=1113851|archive-datedataarchivio=25 gennaio 2013-01-25|url-statusurlmorto=liven}}</ref>. Bing non è completamente compatibile con lo standard in quanto non può ereditare le impostazioni dal carattere jolly (<code>*</code>)<ref name="bing-blog-robotsrobots2">{{citecita web|url=https://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation/|titletitolo=Robots Exclusion Protocol: joining together to provide better documentation|websitesito=Blogs.bing.com|archive-urlurlarchivio=https://web.archive.org/web/20140818025412/http://blogs.bing.com/webmaster/2008/06/03/robots-exclusion-protocol-joining-together-to-provide-better-documentation/|archive-datedataarchivio=18 agosto 2014-08-18|url-statusurlmorto=liven|access-dateaccesso=16 Februaryfebbraio 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>{{citecita web|url=http://www.archiveteam.org/index.php?title=Robots.txt|publishereditore=Archive Team|titletitolo=Robots.txt is a suicide note|authorautore=Jason Scott|access-dateaccesso=18 Februaryfebbraio 2017|archive-urlurlarchivio=https://web.archive.org/web/20170218044527/http://www.archiveteam.org/index.php?title=Robots.txt|archive-datedataarchivio=2017-02-18 febbraio 2017|url-statusurlmorto=liven|author-linklinkautore=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>{{CiteCita web|url=https://blog.archive.org/2017/04/17/robots-txt-meant-for-search-engines-dont-work-well-for-web-archives/|titletitolo=Robots.txt meant for search engines don't work well for web archives {{!}} Internet Archive Blogs|websitesito=blog.archive.org|languagelingua=en-US|access-dateaccesso=1º dicembre 2018-12-01|archive-urlurlarchivio=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-datedataarchivio=4 dicembre 2018-12-04|url-statusurlmorto=liven}}</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">{{citecita news|url=https://www.digitaltrends.com/computing/internet-archive-robots-txt/#ixzz4gQYOqpUi|titletitolo=The Internet Archive Will Ignore Robots.txt Files to Maintain Accuracy|newspaperpubblicazione=[[Digital Trends]]|firstnome=Brad|lastcognome=Jones|datedata=24 Aprilaprile 2017|access-dateaccesso=8 Maymaggio 2017|archive-urlurlarchivio=https://web.archive.org/web/20170516130029/https://www.digitaltrends.com/computing/internet-archive-robots-txt/#ixzz4gQYOqpUi|archive-datedataarchivio=16 maggio 2017-05-16|url-statusurlmorto=liven}}</ref>.
== Sicurezza ==
Nonostante l'uso dei termini "allow" e "disallow", il protocollo è puramente consultivo e si basa sulla conformità del web robot<ref>{{citecita web|titletitolo=Block URLs with robots.txt: Learn about robots.txt files|url=https://support.google.com/webmasters/answer/6062608|access-dateaccesso=10 agosto 2015-08-10|archive-urlurlarchivio=https://web.archive.org/web/20150814013400/https://support.google.com/webmasters/answer/6062608|archive-datedataarchivio=14 agosto 2015-08-14|url-statusurlmorto=liven}}</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>{{citecita web|url=https://www.theregister.co.uk/2015/05/19/robotstxt/|titletitolo=Robots.txt tells hackers the places you don't want them to look|workopera=The Register|access-dateaccesso=August 12, agosto 2015|archive-urlurlarchivio=https://web.archive.org/web/20150821063759/http://www.theregister.co.uk/2015/05/19/robotstxt/|archive-datedataarchivio=21 agosto 2015-08-21|url-statusurlmorto=liven}}</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>{{citecita web|titletitolo=Guide to General Server Security|url=http://csrc.nist.gov/publications/nistpubs/800-123/SP800-123.pdf|publishereditore=National Institute of Standards and Technology|datedata=Julyluglio 2008|access-dateaccesso=August 12, agosto 2015|archive-urlurlarchivio=https://web.archive.org/web/20111008115412/http://csrc.nist.gov/publications/nistpubs/800-123/SP800-123.pdf|archive-datedataarchivio=8 ottobre 2011-10-08|url-statusurlmorto=liven}}</ref>. Nel contesto dei file robots.txt, la sicurezza attraverso l'oscurità non è consigliata come tecnica di sicurezza<ref>{{citecita booklibro|authorautore=Sverre H. Huseby|titletitolo=Innocent Code: A Security Wake-Up Call for Web Programmers|publishereditore=John Wiley & Sons|yearanno=2004|pagespp=91–92|isbn=9780470857472|url=https://books.google.com/books?id=RjVjgPQsKogC&pg=PA92|access-dateaccesso=12 agosto 2015-08-12|archive-urlurlarchivio=https://web.archive.org/web/20160401193437/https://books.google.com/books?id=RjVjgPQsKogC&pg=PA92|archive-datedataarchivio=1º aprile 2016-04-01|url-statusurlmorto=liven}}</ref>.
== Alternative ==
Molti robot trasmettono anche uno speciale user-agent al server web durante il recupero del contenuto<ref>{{citecita web|url=http://www.user-agents.org/|titletitolo=List of User-Agents (Spiders, Robots, Browser)|publishereditore=User-agents.org|access-dateaccesso=29 dicembre 2013-12-29|archive-urlurlarchivio=https://web.archive.org/web/20140107154205/http://user-agents.org/|archive-datedataarchivio=7 gennaio 2014-01-07|url-statusurlmorto=liven}}</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>{{citecita web|url=https://httpd.apache.org/docs/2.2/howto/access.html|titletitolo=Access Control - Apache HTTP Server|publishereditore=Httpd.apache.org|access-dateaccesso=29 dicembre 2013-12-29|archive-urlurlarchivio=https://web.archive.org/web/20131229110831/http://httpd.apache.org/docs/2.2/howto/access.html|archive-datedataarchivio=29 dicembre 2013-12-29|url-statusurlmorto=liven}}</ref><ref>{{citecita web|url=http://www.iis.net/configreference/system.webserver/security/requestfiltering/filteringrules/filteringrule/denystrings|titletitolo=Deny Strings for Filtering Rules : The Official Microsoft IIS Site|publishereditore=Iis.net|datedata=6 novembre 2013-11-06|access-dateaccesso=29 dicembre 2013-12-29|archive-urlurlarchivio=https://web.archive.org/web/20140101112730/http://www.iis.net/configreference/system.webserver/security/requestfiltering/filteringrules/filteringrule/denystrings|archive-datedataarchivio=1º gennaio 2014-01-01|url-statusurlmorto=liven}}</ref>.
Alcuni siti, come Google, ospitano un <code>humans.txt</code>file che mostra informazioni destinate alla lettura da parte degli esseri umani<ref>{{CiteCita web|url=https://www.google.com/humans.txt|titletitolo=Google humans.txt|access-dateaccesso=October 3, ottobre 2019}}</ref>. Alcuni siti come GitHub reindirizzano human.txt a una pagina di informazioni<ref>{{CiteCita web|url=https://github.com/humans.txt|titletitolo=Github humans.txt|access-dateaccesso=October 3, ottobre 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>{{CiteCita web|url=https://slate.com/technology/2014/07/a-killer-robots-txt-google-easter-egg.html|titletitolo=Is This a Google Easter Egg or Proof That Skynet Is Actually Plotting World Domination?|lastcognome=Newman|firstnome=Lily Hay|datedata=3 luglio 2014-07-03|websitesito=Slate Magazine|languagelingua=en|access-dateaccesso=3 ottobre 2019-10-03}}</ref><ref>{{CiteCita web|url=https://www.google.com/killer-robots.txt|titletitolo=/killer-robots.txt|datedata=10 gennaio 2018-01-10|url-statusurlmorto=liven|archive-urlurlarchivio=https://web.archive.org/web/20180110160916/https://www.google.com/killer-robots.txt|archive-datedataarchivio=10 gennaio 2018-01-10|access-dateaccesso=25 maggio 2018-05-25}}</ref>.
== Formato del file ''robots.txt'' ==
== 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.
=== 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>{{citecita web|titletitolo=Change Googlebot crawl rate - Search Console Help|url=https://support.google.com/webmasters/answer/48620?hl=en|websitesito=support.google.com|access-dateaccesso=22 Octoberottobre 2018|languagelingua=en|archive-urlurlarchivio=https://web.archive.org/web/20181118205747/https://support.google.com/webmasters/answer/48620?hl=en|archive-datedataarchivio=18 novembre 2018-11-18|url-statusurlmorto=liven}}</ref>.
User-agent: bingbot
Allow : /
=== Consenti direttiva ===
Alcuni dei principali crawler supportano una direttiva <code>Allow</code>, che può contrastare una direttiva <code>Disallow</code><ref>{{citecita web|url=https://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449&from=40364|titletitolo=Webmaster Help Center - How do I block Googlebot?|access-dateaccesso=20 novembre 2007-11-20|archive-urlurlarchivio=https://web.archive.org/web/20100801082008/http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449&from=40364|archive-datedataarchivio=1º agosto 2010-08-01|url-statusurlmorto=liven}}</ref><ref>{{citecita web|url=http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html|titletitolo=How do I prevent my site or certain subdirectories from being crawled? - Yahoo Search Help|access-dateaccesso=20 novembre 2007-11-20|archive-urlurlarchivio=https://web.archive.org/web/20071013014215/http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-02.html|archive-datedataarchivio=13 ottobre 2007-10-13|url-statusurlmorto=liven}}</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>{{citecita web|url=http://blog.semetrical.com/googles-secret-approach-to-robots-txt/|titletitolo=Google's Hidden Interpretation of Robots.txt|access-dateaccesso=15 novembre 2010-11-15|archive-urlurlarchivio=https://web.archive.org/web/20101120023619/http://blog.semetrical.com/googles-secret-approach-to-robots-txt/|archive-datedataarchivio=20 novembre 2010-11-20|url-statusurlmorto=liven}}</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:
=== Sitemap ===
Alcuni crawler supportano una direttiva <code>Sitemap</code>, che consente più Sitemap nello stesso <samp>robots.txt</samp> nella forma<ref>{{citecita web|url=http://ysearchblog.com/2007/04/11/webmasters-can-now-auto-discover-with-sitemaps/|titletitolo=Yahoo! Search Blog - Webmasters can now auto-discover with Sitemaps|access-dateaccesso=23 marzo 2009-03-23|archive-urlurlarchivio=https://web.archive.org/web/20090305061841/http://ysearchblog.com/2007/04/11/webmasters-can-now-auto-discover-with-sitemaps/|archive-datedataarchivio=5 marzo 2009-03-05|url-statusurlmorto=deadsi}}</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>{{citecita web|url=http://help.yandex.com/webmaster/?id=1113851|titletitolo=Yandex - Using robots.txt|access-dateaccesso=13 maggio 2013-05-13|archive-urlurlarchivio=https://web.archive.org/web/20130509230548/http://help.yandex.com/webmaster/?id=1113851|archive-datedataarchivio=9 maggio 2013-05-09|url-statusurlmorto=liven}}</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>{{citecita web|url=https://developers.google.com/search/reference/robots_txt?hl=en|titletitolo=Robots.txt Specifications|websitesito=Google Developers|access-dateaccesso=February 15, febbraio 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-metameta2">{{citecita web|url=https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag|titletitolo=Robots meta tag and X-Robots-Tag HTTP header specifications - Webmasters — Google Developers|access-dateaccesso=17 agosto 2013-08-17|archive-urlurlarchivio=https://web.archive.org/web/20130808020946/https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag|archive-datedataarchivio=8 agosto 2013-08-08|url-statusurlmorto=liven}}</ref>.
; Un meta tag "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 ==
Se non si ha accesso alla directory principale di un dominio, è possibile limitare l'accesso utilizzando il META tag Robots.
== Note ==
{{Portale|internet|scienza e tecnica|telematica}}
[[Categoria:Tecnologie per il Web]]
[[Categoria:Motori di ricerca]]
|