Protocol de excludere a robotului

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Protocolul de excludere a robotului (în engleză Robots Exclusion Standard ) indică, în jargonul internetului și mai general al web , regulile indicate de administratorii unui site web crawlerelor care îl vizitează, cerând aplicarea restricțiilor de analiză pe pagini a site-ului. Acestea sunt conținute în fișierul robots.txt, creat în iunie anul 1994 , cu acordul membrilor lista de roboți de discuții (roboți-cerere @ nexor.co.uk). În acest moment nu există un standard real pentru protocolul roboților.

Rolul crawler

Crawlerele Web sunt automate software - ul programat pentru a efectua căutări periodice și indexare. În prima fază a analizei unui site web, aceștia ar trebui să verifice existența fișierului robots.txt și să aplice orice restricții solicitate de webmasterul site-ului. Cu toate acestea, nu toți roboții respectă solicitările conținute în fișierul robot.txt.

Standard

Când proprietarul unui site dorește să instruiască roboții web, el plasează un fișier text numit robots.txt la rădăcina ierarhiei site-ului web (de exemplu, Https://www.example.com/robots.txt). Acest fișier text conține instrucțiuni într-un format specific (a se vedea exemplele de mai jos). Roboți care aleg să urmeze instrucțiunile de a încerca să recupereze acest fișier și citiți instrucțiunile înainte de preluarea orice alte fișiere de pe site - ul web. Dacă acest fișier nu există, roboții web presupun că proprietarul site-ului nu dorește să impună restricții cu privire la accesarea cu crawlere a întregului site.

Un fișier robots.txt de pe un site web va funcționa ca o cerere prin care roboții specificați ignoră fișierele sau directoarele specificate atunci când accesează cu crawlere un site. Acest lucru ar putea apărea, de exemplu, dintr-o preferință pentru confidențialitate din rezultatele motoarelor de căutare sau din convingerea că conținutul directoarelor selectate ar putea fi înșelător sau irelevant pentru clasificarea site-ului în ansamblu sau din dorința unei aplicații care funcționează doar pe anumite date. Link - uri către paginile listate în robots.txt pot apărea în continuare în rezultatele de căutare în cazul în care acestea sunt legate de o pagină crawlere [1] .

Un fișier robots.txt acoperă o sursă. Pentru site-urile web cu mai multe subdomenii, fiecare subdomeniu trebuie să aibă propriul său fișier robots.txt. Dacă example.com ar avea un fișier robots.txt, dar a.example.com nu, regulile care s-ar aplica pentru example.com nu s-ar aplica la a.example.com. De asemenea, fiecare protocol și port are nevoie de propriul fișier robots.txt; http://example.com/robots.txt nu se aplică paginilor din http://example.com:8080/ sau https://example.com/.

Unele dintre cele mai importante motoare de căutare care urmează acest standard includ Ask [2] , AOL [3] , Baidu [4] , DuckDuckGo [5] , Google [6] , Yahoo! [7] și Yandex [8] . Bing nu este pe deplin compatibil cu standardul , deoarece nu poate setările preia de la caracterul wildcard ( * )[9] .

Grupul de voluntari Archive Team ignoră în mod explicit fișierul robots.txt în cea mai mare parte, considerându-l un standard învechit care împiedică eforturile de arhivare web. Potrivit liderului de proiect Jason Scott, „neverificată și lăsat singur, fișierul robots.txt nu garantează oglindire sau de referință pentru elementele care pot avea utilizare generală și adică în afara contextului site - ului“ [10] .

De câțiva ani Internet Archive nu a site - uri de accesare cu crawlere cu robots.txt, dar în aprilie 2017 a anunțat că nu va mai respecta directivele din fișierele robots.txt [11] . "De-a lungul timpului am observat că fișierele robots.txt destinate crawlerelor motoarelor de căutare nu servesc neapărat scopurilor noastre de arhivare." Acest lucru a fost ca răspuns la domenii întregi fiind etichetate cu robots.txt când conținutul a devenit caduc[12] .

Siguranță

În ciuda utilizării termenilor „permit“ și „Disallow“, protocolul este pur consultativ și se bazează pe respectarea robotului web [13] . Este puțin probabil ca roboții web răuvoitori să respecte fișierul robots.txt; unii pot folosi chiar fișierul robots.txt ca ghid pentru găsirea linkurilor interzise și accesarea lor directă. In timp ce acest lucru este , uneori , a pretins a fi un risc de securitate [14] , acest tip de securitate prin obscuritate este descurajată de către organismele de standardizare. Institutul Național de Standarde și Tehnologie (NIST) în Statele Unite recomandă în mod specific împotriva acestei practici: „Sistemul de securitate nu ar trebui să depindă de secretul punerii în aplicare sau a componentelor sale“ [15] . În contextul fișierelor robots.txt, de securitate prin obscuritate nu este recomandat ca o tehnică de securitate [16] .

Alternative

Mulți roboți transmit , de asemenea , un user-agent special de la serverul de web în timpul regăsire de conținut [17] . Un administrator de web ar putea configura , de asemenea , serverul pentru a reveni automat o eroare (sau conținut alternativ difuzat) atunci când detectează o conexiune utilizând una dintre roboți [18] [19] .

Unele site - uri, cum ar fi Google, gazda unui humans.txt fișier care afișează informații destinate pentru citirea umană [20] . Unele site - uri , cum ar fi GitHub redirecționării human.txt către o pagină de informații [21] .

Anterior , Google a avut un fișier glumă găzduit pentru /killer-robots.txt instruirea Terminator să nu - l omoare fondatorii companiei , Larry Page și Sergey Brin [22] [23] .

Format fișier robots.txt

Fișierul utilizează un foarte simplu protocol care vă permite să definiți robotul la care să se aplice regula și paginile și directoarele să nu fie indexate.

Fiecare linie a fișierului conține o înregistrare. Fiecare înregistrare are următoarea sintaxă:

 <câmp>: <valoare>

Câmpurile disponibile sunt:

Agent utilizator
valoarea acestui câmp conține numele robotului care trebuie să respecte restricțiile. Cu caracterul * regula este aplicată oricărui robot.
Nu permiteți
valoarea acestui câmp conține paginile site-ului care trebuie excluse din roboți în timpul indexării. Puteți indica o anumită adresă URL sau o serie de adrese URL care aparțin unui model.

Pentru fiecare utilizator-agent este posibil să specificați unul sau mai multe restricții prin intermediul Disallow.

Exemple

Iată câteva exemple clasice [6] de utilizare a fișierului robots.txt.

Pentru a permite accesul la întregul site web, nu indicați nimic în directiva Disallow. Unele crawlerele sprijină , de asemenea, directiva Allow.

 Agent utilizator: *
Nu permiteți:

Pentru a bloca un întreg site, utilizați o bară.

 Agent utilizator: *
Nu permiteți: /

Pentru a bloca un director și conținutul acestuia, urmați numele directorului cu o bară directă.

 Agent utilizator: *
Disallow: / private_directory /

Pentru a bloca o pagină, indicați acea pagină.

 Agent utilizator: *
Nu permiteți: /private_file.html

Pentru a raporta sitemap fișierul a site - ului.

 Harta site - ului: http://arquivo.pt/wayback/20120125215620/http://www.example.com/sitemap.xml

Există, de asemenea, directiva Crawl-Delay, care vă permite să limitați viteza de acces la server de către crawlerele care îl suportă, indicând timpul minim de așteptare, în secunde, între două solicitări consecutive.

În cazul în care , în loc de asterisc, introduceți un șir de utilizator-agent în directiva User-Agent, regulile vor fi limitate la crawler identificate de acel user-agent.

Extensie standard

Doi parametri noi au fost propuse pe Extended standard pentru Robot de excludere : Cerere-rata și vizita-time:

 Agent utilizator: *
Disallow: / private_directory / # Lock directory / private_directory /
Rată de solicitare: 1/5 # Vizitați cel mult o pagină la fiecare 5 secunde
Timp de vizitare: 0600-0845 # Vizita numai între 6:00 AM și 8:45 AM UT (GMT)

Extensii nestandardizate

Directiva privind întârzierea scanării

Valoarea de întârziere a accesării cu crawlere este acceptată de unele crawlerele pentru a-și limita vizitele la gazdă. Deoarece această valoare nu face parte din standard, interpretarea sa depinde de crawlerul care o citește. Este utilizat atunci când explozia multiplă de vizite de la roboți încetinește gazda. Yandex interpretează valoarea ca numărul de secunde de așteptare între vizitele ulterioare [8] . Bing definește întârzierea cu accesarea cu crawlere ca fiind dimensiunea unei ferestre de timp (de la 1 la 30 de secunde) în timpul căreia BingBot va accesa o singură dată un site web. Google oferă o interfață în consola de căutare webmaster pentru a monitoriza vizitele ulterioare pentru Googlebot [24] .

 Utilizator-agent: bingbot
Permite: /
Crawl-întârziere: 10

Permiteți directiva

Unele crawler majore susține o Allow directivă, care poate contracara o dată ulterioară Disallow [25] [26] directivă. Acest lucru este util atunci când spuneți roboților să evite un întreg director, dar totuși doriți ca unele documente HTML din acel director să fie accesate cu crawlere și indexate. În timp ce pentru implementarea standard primul model de potrivire robots.txt câștigă întotdeauna, diferă de punere în aplicare Google, deoarece permite modele cu caractere egale sau mai mari în calea de directivă pentru a câștiga o potrivire Interdicție model [27] . Bing utilizează Allow sau Disallow directivei, care este mai specific, în funcție de lungime, cum ar fi Google[9] .

Pentru a fi compatibil cu toți roboții, dacă doriți să permiteți fișiere individuale într-un director altfel interzis, trebuie să introduceți mai întâi Permite directive, urmate de Disallow, de exemplu:

 Permiteți: /directory1/myfile.html
Nu permiteți: / directorul1 /

Acest exemplu va dezactiva totul în / directorul1 / cu excepția / directoriu1 / fișierul meu.html, deoarece acesta din urmă se va potrivi mai întâi. Comanda este importantă numai pentru roboții care respectă standardul; în cazul roboților Google sau Bing, comanda nu este importantă.

Sitemap

Unele crawler susține un Sitemap de directivă, care permite mai multe sitemapuri în același robots.txt a formei [28] : Sitemap: full-url - Sitemap: full-url

 Sitemap: http://www.example.com/sitemap.xml

Gazdă

Unele crawler (Yandex) sprijină o Host de directivă, care permite site - uri cu mai multe oglinzi pentru a specifica domeniului lor preferat [29] :

 Gazdă: hosting.example.com

Acest lucru nu este acceptat de toate crawlerele.

Potrivire universală „*”

Standardul de excludere de robot nu menționează caracterul „*“ în declarația [30] Disallow:

Metaetichete și anteturi

În plus față de fișierele robots.txt la nivel de rădăcină, directivele de excludere a robotului pot fi aplicate la un nivel mai granular prin utilizarea metaetichetelor Robots și a anteturilor HTTP X-Robots-Tag. Metaeticheta roboților nu poate fi utilizată pentru fișiere non-HTML, cum ar fi imagini, fișiere text sau documente PDF. Pe de altă parte, X-Robots-Tag pot fi adăugate la fișiere non-HTML folosind file.htaccess și httpd.conf [31] .

O metaetichetă „noindex”
 <meta name = "robots" content = "noindex" />
Un antet de răspuns HTTP „noindex”
 X-Robots-Tag: noindex

X-Robots-Tag este eficient numai după ce pagina a fost solicitată și serverul a răspuns, iar metaeticheta roboților este eficientă numai după ce pagina a fost încărcată, în timp ce robots.txt este eficient înainte ca pagina să fie solicitată. Prin urmare, în cazul în care o pagină este exclusă dintr - un fișier robots.txt, toți roboții meta tag - uri sau header X-Robots-Tag sunt în mod eficient ignorate , deoarece robotul nu le va vedea în primul rând [31] .

Utilizare

Odată ce fișierul robots.txt a fost creat, acesta trebuie plasat în directorul rădăcină al domeniului și să aibă numele exact „robots.txt”. Dacă este stocat într-un alt director, roboții nu îl vor găsi, deoarece implicit caută în directorul rădăcină al domeniului.

Dacă nu aveți acces la directorul rădăcină al unui domeniu, puteți restricționa accesul folosind eticheta META Robots.

Notă

  1. ^ URL - uri Uncrawled în rezultatele de căutare , pe youtube.com, YouTube, 05 octombrie, 2009. Adus de 29 decembrie 2013 ( arhivate 06 ianuarie 2014).
  2. ^ Despre Ask.com: webmasteri , la About.ask.com. Adus la 16 februarie 2013 .
  3. ^ Despre AOL Căutare , la Search.aol.com. Adus la 16 februarie 2013 .
  4. ^ Baiduspider , pe Baidu.com. Adus la 16 februarie 2013 .
  5. ^ DuckDuckGo Bot , pe DuckDuckGo.com. Adus la 25 aprilie 2017.
  6. ^ A b webmasteri: Robots.txt Specificații , în Google Developers. Accesat 16 februarie 2013 ( arhivate 15 ianuarie 2013).
  7. ^ Inscrierea site - ul dvs. la Yahoo! Căutați , pe help.yahoo.com. Accesat 16 februarie 2013 ( arhivate douăzeci și unu ianuarie 2013).
  8. ^ A b Folosind robots.txt , la Help.yandex.com. Accesat 16 februarie 2013 ( arhivate 25 ianuarie 2013).
  9. ^ A b de excludere a roboților protocol: aderarea împreună pentru a oferi o mai bună documentare , la Blogs.bing.com. Accesat 16 februarie 2013 ( arhivate 18 august 2014).
  10. ^ Jason Scott , Robots.txt este o notă de sinucidere (TXT), la archiveteam.org, Arhiva echipei. Adus de 18 februarie 2017 ( arhivată 18 februarie 2017).
  11. ^ (RO) robots.txt a însemnat pentru motoarele de căutare nu funcționează bine pentru arhive web | Internet Arhiva Blog - uri , la blog.archive.org. Adus de 01 decembrie 2018 (arhivate din original la 04 decembrie 2018).
  12. ^ Brad Jones, Internet Archive va ignora robots.txt fișiere pentru a menține acuratețea , în Digital Trends , 24 aprilie 2017. Adus 08 mai 2017 ( arhivate 16 mai 2017).
  13. ^ Blocați adresele URL cu robots.txt: Aflați mai multe despre fișierele robots.txt , la support.google.com. Adus de 10 august 2015 ( arhivate 14 august 2015).
  14. ^ Robots.txt spune hackeri locurile pe care nu doriți ca acestea să se uite , în registru. Adus de 12 august 2015 ( arhivate douăzeci și unu august 2015).
  15. ^ Ghid pentru General Server Security (PDF), la csrc.nist.gov, Institutul Național de Standarde și Tehnologie, iulie 2008. Adus de 12 august 2015 ( arhivate 08 octombrie 2011).
  16. ^ Sverre H. Huseby, Innocent Cod: O securitate Wake-Up Call pentru Web programatori , John Wiley & Sons, 2004, pp. 91-92, ISBN 9780470857472 . Adus de 12 august 2015 ( arhivat o aprilie 2016).
  17. ^ Lista de utilizator-agenți (Spiders, Roboți, Browser) , pe user-agents.org. Adus de 29 decembrie 2013 ( arhivate 07 ianuarie 2014).
  18. ^ Access Control - Apache HTTP Server , la httpd.apache.org. Adus de 29 decembrie 2013 ( arhivată 29 decembrie 2013).
  19. ^ Deny Șiruri de reguli de filtrare: Oficiala Microsoft IIS Site - ul , pe iis.net. Adus de 29 decembrie 2013 ( arhivat o ianuarie 2014).
  20. ^ Google humans.txt (TXT), pe google.com. Accesat la 3 octombrie 2019 .
  21. ^ Github humans.txt (TXT), pe github.com. Accesat la 3 octombrie 2019 .
  22. ^ (RO) Lily Hay Newman, este Acest Google ou de Paste sau Skynet dovada că de fapt Trasarea dominare a lumii? , În Slate Magazine, 3 iulie 2014. Adus de 03 octombrie 2019.
  23. ^ /Killer-robots.txt (TXT), pe google.com, 10 ianuarie 2018. Adus de 25 mai 2018 ( arhivată 10 ianuarie 2018).
  24. ^ (RO) rata de accesare Schimbare Googlebot - ajutor pentru webmasteri pe support.google.com. Accesat 22 octombrie 2018 ( arhivată 18 noiembrie 2018).
  25. ^ Centrul de ajutor pentru webmasteri - Cum pot bloca Googlebot? , Pe google.com. Adus de 20 noiembrie 2007 ( arhivate o august 2010).
  26. ^ Cum previn site - ul meu sau subdirectoare cu crawlere? - Yahoo Căutare Ajutor , la help.yahoo.com. Adus de 20 noiembrie 2007 ( arhivate 13 octombrie 2007).
  27. ^ Interpretarea ascunse de către Google a robots.txt , la blog.semetrical.com. Adus de 15 noiembrie 2010 ( arhivate 20 noiembrie 2010).
  28. ^ Yahoo! Blog Căutare - Webmasteri poate acum descoperi automat Sitemaps , pe ysearchblog.com. Adus de 23 martie 2009 (arhivate de original pe 05 martie 2009).
  29. ^ Yandex - Utilizarea robots.txt , la help.yandex.com. Adus de 13 mai 2013 ( arhivate 9 mai 2013).
  30. ^ Robots.txt Specificații , pe Google Developers. Adus la 15 februarie 2020 .
  31. ^ A b Roboți meta tag - ul și X-Robots-Tag antet HTTP specificatii - Webmasteri - Google Developers , la developers.google.com. Accesat 17 august 2013 ( arhivate 08 august 2013).

Elemente conexe

linkuri externe