Eksklusjonsstandard for roboter - Robots exclusion standard

Den utelukkelse roboter standard , også kjent som den utelukkelse roboter protokollen eller bare robots.txt , er en standard som brukes av nettsteder for å kommunisere med robotsøkeprogrammers og andre nettroboter . Standarden angir hvordan du skal informere webroboten om hvilke områder på nettstedet som ikke bør behandles eller skannes. Roboter brukes ofte av søkemotorer til å kategorisere nettsteder. Ikke alle roboter samarbeider med standarden; e -posthøstere , programmer som samler e -postadresser , skadelig programvare og roboter som søker etter sikkerhetsproblemer, kan til og med begynne med deler av nettstedet der de har blitt bedt om å holde seg utenfor. Standarden kan brukes i forbindelse med nettkart , en robot inkludering standard for nettsteder.

Historie

Standarden ble foreslått av Martijn Koster , da han jobbet for Nexor i februar 1994 på mailinglisten www-talk , den viktigste kommunikasjonskanalen for WWW-relaterte aktiviteter den gangen. Charles Stross hevder å ha provosert Koster til å foreslå robots.txt, etter at han skrev en dårlig oppført webcrawler som utilsiktet forårsaket et denial-of-service-angrep på Kosters server.

Det ble raskt en de facto -standard som det forventes at nåværende og fremtidige webcrawlere følger; mest etterkommet, inkludert de som drives av søkemotorer som WebCrawler , Lycos og AltaVista .

1. juli 2019 kunngjorde Google forslaget til Robots Exclusion Protocol som en offisiell standard under Internett Engineering Task Force . Utkastet vil nå gjennomgå akseptprosessen.

Standard

Når en nettstedseier ønsker å gi instruksjoner til webroboter, plasserer de en tekstfil som heter robots.txt i roten til nettstedets hierarki (f.eks. Https://www.example.com/robots.txt ). Denne tekstfilen inneholder instruksjonene i et bestemt format (se eksempler nedenfor). Roboter som velger å følge instruksjonene, prøver å hente denne filen og lese instruksjonene før du henter en annen fil fra nettstedet . Hvis denne filen ikke eksisterer, antar webroboter at eieren av nettstedet ikke ønsker å sette noen begrensninger på gjennomgang av hele nettstedet.

En robots.txt -fil på et nettsted vil fungere som en forespørsel om at spesifiserte roboter ignorerer spesifiserte filer eller kataloger når de gjennomsøker et nettsted. Dette kan for eksempel skyldes en preferanse for personvern fra søkemotorresultater, eller troen på at innholdet i de valgte katalogene kan være misvisende eller irrelevant for kategoriseringen av nettstedet som helhet, eller av et ønske om at en programmet fungerer bare på visse data. Lenker til sider oppført i robots.txt kan fortsatt vises i søkeresultatene hvis de er koblet til fra en side som er gjennomsøkt.

En robots.txt -fil dekker én opprinnelse . For nettsteder med flere underdomener må hvert underdomene ha sin egen robots.txt -fil. Hvis example.com hadde en robots.txt -fil, men a.example.com ikke hadde det, vil reglene som gjelder for example.com ikke gjelde for a.example.com . I tillegg trenger hver protokoll og port sin egen robots.txt -fil; http://example.com/robots.txt gjelder ikke sider under http://example.com:8080/ eller https://example.com/ .

Noen store søkemotorer som følger denne standarden inkluderer Ask, AOL, Baidu, DuckDuckGo, Google, Yahoo !, og Yandex. Bing er fremdeles ikke fullt kompatibel med standarden, da den ikke kan arve innstillinger fra jokertegnet ( *).

Frivillighetsgruppen Archive Team ignorerer eksplisitt robots.txt for det meste og ser på det som en foreldet standard som hindrer webarkivarbeid. Ifølge prosjektleder Jason Scott, "ukontrollert og alene, sikrer robots.txt -filen ingen speiling eller referanse for elementer som kan ha generell bruk og mening utover nettstedets kontekst."

I noen år gjennomsøkte ikke Internet Archive nettsteder med robots.txt, men i april 2017 kunngjorde det at det ikke lenger ville respektere direktiver i robots.txt -filene. "Over tid har vi observert at robots.txt -filene som er rettet mot søkemotorer, ikke nødvendigvis tjener våre arkivformål". Dette var et svar på at hele domener ble merket med robots.txt da innholdet ble foreldet.

Sikkerhet

Til tross for bruken av begrepene "tillater" og "disallow", er protokollen rent rådgivende og er avhengig av overholdelse av webrobot . Det er usannsynlig at ondsinnede webroboter respekterer robots.txt; noen kan til og med bruke robots.txt som en guide for å finne ikke tillatte lenker og gå rett til dem. Selv om dette noen ganger hevdes å være en sikkerhetsrisiko, frarådes denne typen sikkerhet gjennom uklarhet av standardorganer. Den National Institute of Standards and Technology (NIST) i USA anbefaler spesielt mot denne praksisen: "System sikkerhet bør ikke være avhengig av hemmelighold av gjennomføringen eller dets komponenter" I sammenheng med robots.txt -filer anbefales ikke sikkerhet gjennom uklarhet som sikkerhetsteknikk.

Alternativer

Mange roboter sender også en spesiell brukeragent til webserveren når de henter innhold. En webadministrator kan også konfigurere serveren til automatisk å returnere feil (eller sende alternativt innhold ) når den oppdager en tilkobling ved hjelp av en av robotene.

Noen nettsteder, for eksempel Google , er vert for en humans.txtfil som viser informasjon som er ment for mennesker å lese. Noen nettsteder som GitHub omdirigerer mennesker.txt til en om -side.

Tidligere hadde Google en spøkfil som ble /killer-robots.txtinstruert Terminator om ikke å drepe selskapets grunnleggere Larry Page og Sergey Brin .

Eksempler

Dette eksemplet forteller alle roboter at de kan besøke alle filene fordi jokertegnet *står for alle roboter og Disallowdirektivet ikke har noen verdi, noe som betyr at ingen sider er tillatt.

User-agent: *
Disallow: 

Det samme resultatet kan oppnås med en tom eller manglende robots.txt -fil.

Dette eksemplet forteller alle roboter å holde seg utenfor et nettsted:

User-agent: *
Disallow: /

Dette eksemplet forteller alle roboter om ikke å angi tre kataloger:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/

Dette eksemplet forteller alle roboter å holde seg borte fra en bestemt fil:

User-agent: *
Disallow: /directory/file.html

Alle andre filer i den angitte katalogen vil bli behandlet.

Dette eksemplet forteller en bestemt robot å holde seg utenfor et nettsted:

User-agent: BadBot # replace 'BadBot' with the actual user-agent of the bot
Disallow: /

Dette eksemplet forteller to spesifikke roboter om ikke å angi en bestemt katalog:

User-agent: BadBot # replace 'BadBot' with the actual user-agent of the bot
User-agent: Googlebot
Disallow: /private/

Eksempel som viser hvordan kommentarer kan brukes:

# Comments appear after the "#" symbol at the start of a line, or after a directive
User-agent: * # match all bots
Disallow: / # keep them out

Det er også mulig å liste flere roboter med sine egne regler. Den faktiske robotstrengen er definert av søkeroboten. Noen få robotoperatører, for eksempel Google , støtter flere bruker-agent-strenger som lar operatøren nekte tilgang til et delsett av tjenestene sine ved å bruke spesifikke bruker-agent-strenger.

Eksempel som demonstrerer flere brukeragenter:

User-agent: googlebot        # all Google services
Disallow: /private/          # disallow this directory

User-agent: googlebot-news   # only the news service
Disallow: /                  # disallow everything

User-agent: *                # any robot
Disallow: /something/        # disallow this directory

Ikke -standard utvidelser

Gjennomsøkingsforsinkelsesdirektiv

Gjennomsøkingsforsinkelsesverdien støttes av noen søkeroboter for å stryke sine besøk hos verten. Siden denne verdien ikke er en del av standarden, er dens tolkning avhengig av at søkeroboten leser den. Det brukes når det mange utbruddet av besøk fra roboter bremser verten. Yandex tolker verdien som antall sekunder å vente mellom påfølgende besøk. Bing definerer crawl-delay som størrelsen på et tidsvindu (fra 1 til 30 sekunder) der BingBot bare får tilgang til et nettsted én gang. Google tilbyr et grensesnitt i søkekonsollen for nettredaktører, for å kontrollere Googlebots påfølgende besøk.

User-agent: bingbot
Allow : /
Crawl-delay: 10

Tillat direktiv

Noen store crawlers støtter et Allowdirektiv, som kan motvirke et følgende Disallowdirektiv. Dette er nyttig når man forteller roboter om å unngå en hel katalog, men fortsatt vil ha noen HTML -dokumenter i den katalogen gjennomgått og indeksert. Mens det første matchende robots.txt -mønsteret ved standardimplementering alltid vinner, er Googles implementering forskjellig ved at Tillat mønstre med like eller flere tegn i direktivbanen vinner over et matchende Disallow -mønster. Bing bruker enten Alloweller Disallow-direktivet, det som er mer spesifikt, basert på lengde, som Google.

For å være kompatibel med alle roboter, hvis man vil tillate enkeltfiler i en ellers ikke tillatt katalog, er det nødvendig å plassere Tillat -direktivet først, etterfulgt av Disallow, for eksempel:

Allow: /directory1/myfile.html
Disallow: /directory1/

Dette eksemplet vil tillate alt i /directory1 /unntatt /directory1/myfile.html, siden sistnevnte vil matche først. Bestillingen er bare viktig for roboter som følger standarden; når det gjelder Google eller Bing -roboter, er rekkefølgen ikke viktig.

Nettkart

Noen robotene støtte et Sitemapdirektiv, slik at flere nettkart i sammerobots.txti skjemaet : Sitemap: full-url

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

Vert

Noen robotsøkeprogrammer ( Yandex ) støtter et Hostdirektiv, slik at nettsteder med flere speil kan angi foretrukket domene:

Host: hosting.example.com

Dette støttes ikke av alle søkeroboter.

Universell "*" kamp

The Robot Exclusion Standard nevner ikke "*" karakter i Disallow:uttalelsen.

Metakoder og overskrifter

I tillegg til robots.txt-filer på rotnivå, kan direktiver for ekskludering av roboter brukes på et mer detaljert nivå ved bruk av Robots metakoder og X-Robots-Tag HTTP-overskrifter. Metataggen for roboter kan ikke brukes for ikke-HTML-filer, for eksempel bilder, tekstfiler eller PDF-dokumenter. På den annen side kan X-Robots-Tag legges til i ikke-HTML-filer ved å bruke .htaccess- og httpd.conf- filer.

En "noindex" -metakode
<meta name="robots" content="noindex" />
En "noindex" HTTP -svaroverskrift
X-Robots-Tag: noindex

X-Robots-taggen er først effektiv etter at siden er blitt forespurt og serveren reagerer, og metataggen for roboter er først effektiv etter at siden er lastet inn, mens robots.txt er effektiv før siden blir bedt om. Hvis en side er ekskludert av en robots.txt-fil, ignoreres derfor alle metatagger for roboter eller X-Robots-Tag-overskrifter effektivt fordi roboten ikke vil se dem i utgangspunktet.

Se også

Referanser

Eksterne linker