Kuinka kirjoittaa robots.txt, joka todella estää tekoälykaapijoita
Käytännön opas sääntöjä noudattavien tekoälyindeksoijien estämiseen, robots.txt-tiedoston rajojen ymmärtämiseen ja palvelinpuolen hallintakeinojen lisäämiseen sinne, missä niillä on merkitystä.
Sisällysluettelo
- Epämukava totuus robots.txt-tiedostosta
- Mitä robots.txt voi ja ei voi tehdä
- Aloita käytäntöpäätöksestäsi
- Kohtuullinen robots.txt-malli tekoälyn estämiseen
- Ole varovainen Google-Extendedin kanssa
- Testaa tiedosto kuin tuotantokoodi
- Lisää palvelinpuolen hallintakeinoja boteille, jotka sivuuttavat säännöt
- Nopeusrajoitus
- User-agent-suodatus
- IP- ja ASN-hallintakeinot
- Tunnistautuminen ja maksumuurit
- Sisällön minimointi
- Käytä robots-metatageja sivukohtaisiin sääntöihin
- Seuraa lokeja julkaisun jälkeen
- Pidä tiedosto pienenä ja tarkistettuna
- Lopputulos
Epämukava totuus robots.txt-tiedostosta
robots.txt-tiedosto ei ole lukko. Se on kyltti ovessa.
Tällä erolla on merkitystä, kun tiimit kysyvät, voivatko ne “estää tekoälykaapijat” yhdellä pienellä tekstitiedostolla. Hyvämaineisten indeksoijien kohdalla, jotka noudattavat Robots Exclusion Protocol -käytäntöä, vastaus on kyllä: oikein kirjoitettu robots.txt voi käskeä niitä olemaan indeksoimatta sivujasi. Tuntemattomille kaapijoille, tekeytyjille, selainautomaatiolle ja boteille, joita asia ei yksinkertaisesti kiinnosta, se ei yksin tee mitään.
Käytännön tavoite ei siis ole “tehdä kaapimisesta mahdotonta”. Se on:
- Käskeä sääntöjä noudattavia tekoälyindeksoijia olemaan käyttämättä sivustoasi.
- Välttää hakukoneiden tai hyödyllisten palveluiden vahingossa estäminen.
- Lisätä vahvempia palvelinpuolen hallintakeinoja väärinkäytöksiä varten.
- Pitää käytäntö ylläpidettävänä, kun indeksoijien nimet muuttuvat.
Se on tylsä versio. Se on myös versio, joka toimii.
Mitä robots.txt voi ja ei voi tehdä
robots.txt-tiedosto sijaitsee sivuston juuressa:
https://example.com/robots.txt
Indeksoijat pyytävät sitä ennen indeksointia. Tiedosto sisältää sääntöryhmiä. Jokainen ryhmä alkaa yhdellä tai useammalla User-agent-rivillä, joita seuraavat Allow- tai Disallow-direktiivit.
Yksinkertainen koko sivuston esto näyttää tältä:
User-agent: GPTBot
Disallow: /
Se tarkoittaa: jos olet GPTBot, älä indeksoi mitään tällä sivustolla.
Mutta robots.txt-tiedostolla on selkeät rajat:
- Se on vapaaehtoinen. Pahantahtoiset toimijat voivat sivuuttaa sen.
- Se ei estä URL-osoitteen pyytämistä tavallisella selaimella tai skriptillä.
- Se ei poista sisältöä, joka on jo kerätty muualle.
- Se ei itsessään määritä tekijänoikeutta, lisensointia tai koulutusoikeuksia.
- Sen voi määrittää väärin tavoilla, jotka estävät vääriä botteja.
Jos tarvitset todellista pääsynhallintaa, käytä tunnistautumista, valtuutusta, nopeusrajoituksia, IP-pohjaisia hallintakeinoja, bottienhallintaa tai oikeudellisia keinoja. Robots.txt on edelleen hyödyllinen, mutta se kuuluu laajempaan sisällön suojausstrategiaan.
Tämä muistuttaa muita verkon hallinnan ongelmia: näkyvä kontrolli on harvoin koko kontrolli. Jos organisaatiollasi on jo sisäisesti hallitsematonta tekoälyn käyttöä, sama periaate pätee; nopea varjo-AI-auditointi on usein hyödyllisempi kuin sen teeskentely, että yksi käytäntöasiakirja ratkaisee ongelman.
Aloita käytäntöpäätöksestäsi
Ennen tiedoston muokkaamista päätä, mitä todella yrität estää.
Ihmiset tarkoittavat “tekoälykaapijalla” ainakin neljää eri asiaa:
- Indeksoijia, joita käytetään koulutusdatan keräämiseen.
- Tekoälyhaku- tai vastauskoneiden indeksoijia.
- Käyttäjän käynnistämiä noutajia, esimerkiksi kun joku pyytää tekoälytuotetta tiivistämään URL-osoitteen.
- Yleisiä kaapijoita, jotka tekeytyvät tavallisiksi selaimiksi.
Saatat haluta estää ne kaikki. Tai saatat haluta säilyttää löydettävyyden haussa samalla, kun kieltäydyt mallikoulutuksesta. Nämä eivät ole sama käytäntö.
Esimerkiksi OpenAI dokumentoi erilliset user agentit eri tarkoituksiin, mukaan lukien GPTBot, ChatGPT-User ja OAI-SearchBot. Google käyttää Google-Extended-tunnistetta hallintatunnuksena joissakin Gemini- ja Vertex AI -käyttötapauksissa, kun taas tavallinen Google Search -indeksointi hoidetaan muilla Googlebot-user agenteilla.
Tämä erottelu on tärkeä. Jos estät laajoja user agenteja huolimattomasti, voit vahingoittaa tavallista hakunäkyvyyttä samalla, kun yrität estää tekoälykoulutusta.
Kohtuullinen robots.txt-malli tekoälyn estämiseen
Tässä on varovainen lähtökohta useiden yleisesti dokumentoitujen tekoälyyn liittyvien indeksoijien estämiseen siten, että yleiset hakukoneiden indeksoijat jätetään rauhaan:
# AI training and AI product crawlers
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Amazonbot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: Meta-ExternalAgent
Disallow: /
# Default rule for other crawlers
User-agent: *
Allow: /
Tämä ei ole maaginen yleispätevä lista. Se on ylläpidettävä malli.
Muutama huomio:
Disallow: /tarkoittaa “älä indeksoi mitään polkua”.User-agent: *koskee indeksoijia, joihin tarkempi ryhmä ei täsmää.Allow: /ei ole oletusryhmälle ehdottoman välttämätön, mutta se tekee aikomuksesi selväksi.- Pidä kommentit lyhyinä. Jotkin parserit ovat anteeksiantavia, mutta robots.txt:n tulisi pysyä tylsänä.
- Älä sisällytä yksityisiä URL-osoitteita robots.txt-tiedostoon. Tiedosto on julkinen, ja arkaluonteisten polkujen listaaminen voi mainostaa niitä.
Viimeinen kohta kannattaa toistaa. Robots.txt ei ole salassapitomekanismi. Jos /client-contracts/ ei saa olla julkinen, suojaa se tunnistautumisella. Älä pelkästään kiellä sitä.
Ole varovainen Google-Extendedin kanssa
Google-Extended ymmärretään laajalti väärin. Se ei ole sama asia kuin Google Searchin estäminen.
Googlen dokumentaation mukaan Google-Extended on erillinen tuotetunnus, jonka avulla julkaisijat voivat hallita, saako sivuston sisältö auttaa parantamaan tiettyjä Gemini- ja Vertex AI -ominaisuuksia. Sen estämisen ei pitäisi itsessään estää Googlebotia indeksoimasta Searchia varten.
Älä silti korvaa kaikkia Google-direktiivejä tällaisella laajalla estolla, ellet todella tarkoita sitä:
User-agent: Googlebot
Disallow: /
Se käskisi Google Searchin pääindeksoijaa olemaan indeksoimatta sivustoasi. Useimmille julkisille verkkosivustoille se ei ole toivottua.
Sama ero pätee muuallakin. Jotkin toimittajat erottavat koulutusindeksoijat käyttäjän käynnistämästä selaamisesta tai tekoälyhaun indeksoijista. Toiset eivät. Sinun on luettava sinulle merkityksellisten bottien dokumentaatio ja käsiteltävä robots.txt-tiedostoasi elävänä tiedostona, ei kertaluonteisena valintaruutuna.
Testaa tiedosto kuin tuotantokoodi
Robots.txt näyttää yksinkertaiselta, minkä vuoksi se on helppo rikkoa.
Yleisiä virheitä ovat:
- Sen lataaminen väärään paikkaan, kuten
/assets/robots.txteikä/robots.txt. - Tekstinkäsittelyohjelmasta kopioitujen typografisten lainausmerkkien käyttäminen.
- Kaikkien indeksoijien estäminen vahingossa riveillä
User-agent: *jaDisallow: /. - Oletus, että yhden verkkotunnuksen tiedosto koskee toista aliverkkotunnusta.
- Sen unohtaminen, että
http://,https://,wwwja ei-www-isännät voidaan käsitellä eri tavoin asetuksistasi riippuen.
Tarkista monen verkkotunnuksen sivustoissa jokainen kanoninen isäntä. Robots-tiedosto osoitteessa https://www.example.com/robots.txt ei automaattisesti hallitse osoitetta https://app.example.com/robots.txt.
Vianmäärityksessä tarkista todellinen HTTP-vastaus, älä vain sitä, mitä CMS-esikatselu näyttää. Haluat 200 OK -vastauksen, mahdollisuuksien mukaan text/plain-sisältötyypin ja täsmälleen sen tiedoston, jota odotat. Jos mukana on uudelleenohjauksia, välimuistitusta tai CDN-sääntöjä, raakamuotoisten otsakkeiden tarkastelu auttaa. Työnkulku artikkelissa uudelleenohjausten ja HTTP-otsakkeiden vianmääritys tuotannossa pätee suoraan myös tähän.
Lisää palvelinpuolen hallintakeinoja boteille, jotka sivuuttavat säännöt
Jos indeksoija noudattaa sääntöjä, robots.txt on siistein signaali. Jos indeksoija käyttäytyy väärin, tarvitset valvontaa.
Käytännön hallintakeinoja ovat:
Nopeusrajoitus
Aseta kynnykset epätavallisille pyyntökuvioille: liian monta sivua minuutissa, syvä sivutuksen läpikäynti, toistuvat 404-virheet tai suuri pyyntömäärä pienestä IP-joukosta. Nopeusrajojen tulisi olla riittävän väljät, etteivät ne rankaise oikeita käyttäjiä, mutta riittävän tiukat, jotta massapoiminta käy kalliiksi.
User-agent-suodatus
Voit estää dokumentoituja tekoälyindeksoijien user agenteja verkkopalvelimella, käänteisvälityspalvelimella, CDN:ssä tai sovelluskerroksessa. Tämä on vahvempaa kuin robots.txt, koska se palauttaa todellisen kieltovastauksen.
Esimerkiksi Nginx voi estää user agent -mallin, vaikka tuotantosäännöt tulisi testata huolellisesti:
if ($http_user_agent ~* "GPTBot|CCBot|ClaudeBot|Bytespider") {
return 403;
}
Tämä ei ole idioottivarmaa. User-agent-merkkijonoja on helppo väärentää. Mutta se pysäyttää rehellisen tai laiskan liikenteen ja vähentää kuormaa.
IP- ja ASN-hallintakeinot
Jotkin toimijat julkaisevat IP-alueita, mutta monet kaapijaekosysteemit eivät. IP-pohjainen estäminen voi toimia ilmeisessä väärinkäytössä, erityisesti pilvipalvelualueilta, joilta ei tule normaalia käyttäjäliikennettä, mutta se voi myös aiheuttaa vääriä positiivisia. Käytä lokitietoja ennen sääntöjä.
Tunnistautuminen ja maksumuurit
Jos sisältöä ei saa kopioida suuressa mittakaavassa, älä laita koko sisältöä julkiseen URL-osoitteeseen. Robots.txt ei sovellu luottamukselliselle materiaalille, lisensoiduille tietokannoille, yksityisille yhteisöille tai maksullisille arkistoille.
Sisällön minimointi
Joskus paras suoja on arkkitehtoninen. Älä altista tarpeettomia API-rajapintoja, suuria JSON-kuormia, piilotettua metadataa, luonnospäätepisteitä tai kokonaisia arkistoja, jos julkinen sivu tarvitsee vain pienen osajoukon. Runsaasti kuvia käyttävien sivustojen tulisi myös miettiä, mitä metadataa ne julkaisevat; yksityisyyslogiikka artikkelissa EXIF-metadatan poistaminen ennen kuvien jakamista verkossa pätee myös sisältöoperaatioihin.
Käytä robots-metatageja sivukohtaisiin sääntöihin
Robots.txt hallitsee indeksointia. Robots-metatagit ja X-Robots-Tag-otsakkeet hallitsevat indeksointia hakutuloksiin ja katkelmakäyttäytymistä sääntöjä noudattaville hakukoneille ja indeksoijille.
Esimerkiksi:
<meta name="robots" content="noindex, noarchive">
Tai HTTP-otsakkeena:
X-Robots-Tag: noindex, noarchive
Nämä eivät ole tekoälykohtaisia suojia. Ne ovat hyödyllisiä, kun haluat sivun olevan saavutettavissa mutta et indeksoituna hakutuloksiin. Jos kuitenkin estät indeksoijaa hakemasta sivua robots.txt-tiedostossa, se ei ehkä koskaan näe sivukohtaista metatagia. Älä luota noindex-tagiin URL-osoitteessa, jota indeksoija ei saa indeksoida.
Karkea sääntö:
- Käytä robots.txt-tiedostoa indeksoinnin vähentämiseen tai estämiseen.
- Käytä meta robots -tageja tai
X-Robots-Tag-otsaketta indeksointikäyttäytymisen hallintaan. - Käytä palvelinpuolen hallintakeinoja pääsyn valvomiseen.
Seuraa lokeja julkaisun jälkeen
Tiedoston julkaiseminen on vasta ensimmäinen vaihe. Tarkista sen jälkeen lokisi.
Etsi:
- Pyyntöjä osoitteeseen
/robots.txtnimeämiltäsi user agenteilta. - Jatkuvaa indeksointia sen jälkeen, kun estävät säännöt on tarjoiltu.
- Epäilyttäviä user agenteja, joilla on suuri määrä pyyntöjä.
- Selaimen kaltaisia user agenteja, jotka pyytävät tuhansia sivuja peräkkäin.
- Toistuvaa pääsyä syötteisiin, sivustokarttoihin, hakusivuihin ja sivutukseen.
Jos botti pyytää robots.txt-tiedoston, näkee täyden eston ja lopettaa sitten, robots.txt teki tehtävänsä. Jos se jatkaa, siirrä kyseinen botti valvonnan piiriin: nopeusrajoihin, estoihin tai tunnistautumiseen.
Tarkista myös sivustokarttojen näkyvyys. Sivustokartat ovat hyödyllisiä hakukoneille, mutta ne ovat myös käteviä karttoja kaapijoille. Tämä ei tarkoita, että sinun pitäisi poistaa ne tavallisilta sivustoilta. Se tarkoittaa, ettei niihin pidä sisällyttää URL-osoitteita, joiden et halua julkisten järjestelmien löytävän.
Pidä tiedosto pienenä ja tarkistettuna
Robots.txt:llä on taipumus rapistua. Markkinointitiimi lisää kampanjamikrosivuston. Kehittäjä lisää staging-polun. Toimittaja vaihtaa indeksoijansa nimen. Kaksi vuotta myöhemmin kukaan ei tiedä, miksi puolet säännöistä on olemassa.
Käsittele sitä konfiguraationa:
- Tallenna se versionhallintaan, kun mahdollista.
- Lisää lyhyt kommentti jokaiselle tekoälyindeksoijaryhmälle.
- Tarkista se neljännesvuosittain.
- Tarkista toimittajan dokumentaatio ennen laajojen sääntöjen lisäämistä.
- Testaa CDN-, CMS- tai hosting-muutosten jälkeen.
Jos sivustosi julkaisee tekoälyavusteista sisältöä, erota myös indeksoijakäytäntö toimituksellisesta läpinäkyvyydestä. Tekoälykaapijoiden estäminen koskee pääsyä ja uudelleenkäyttöä. Ilmoittaminen koskee lukijan luottamusta. Ne limittyvät eettisesti, mutta eivät ole sama hallintakeino. Käytännöllistä ilmoitustapaa käsitellään artikkelissa miltä rehellinen tekoälyilmoitus näyttää pienellä verkkosivustolla.
<!-- tool-cta:start -->
💡 Kokeile tätä: Kun olet lisännyt säännöt tekoälyä käyttäville indeksoijille, tarkista syntaksi Robots.txt Tester-työkalulla, jotta et vahingossa estä myös oikeutettuja botteja.
<!-- tool-cta:end -->
Lopputulos
Hyvä robots.txt-tiedosto estää sääntöjä noudattavia tekoälyindeksoijia. Se ei pysäytä määrätietoista kaapimista, kopioituja user-agent-merkkijonoja, vaarantuneita selaimia tai ihmisiä, jotka liittävät sisältösi tekoälyjärjestelmiin käsin.
Se ei tee siitä hyödytöntä. Se tekee siitä yhden kerroksen.
Kirjoita täsmälliset säännöt dokumentoiduille tekoälyindeksoijille. Vältä laajoja estoja, jotka vahingoittavat hakunäkyvyyttä. Testaa tarjoiltu tiedosto, älä luonnosta. Seuraa lokeja. Valvo palvelinpuolen hallintakeinoilla siellä, missä toiminta muuttuu ei-toivotusta väärinkäytökseksi.
Verkko on aina toiminut protokollan, normien ja valvonnan yhdistelmällä. Robots.txt on normikerros. Käytä sitä, mutta älä erehdy luulemaan sitä muuriksi.