SEO & Discoverability

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ä.

The Wux Webtools Team The Wux Webtools Team 9 min lukemista Tekoälyavusteinen, ihmisen tarkistama
Illustration of crawler bots approaching a website gate controlled by a robots.txt file.
Sisällysluettelo
  1. Epämukava totuus robots.txt-tiedostosta
  2. Mitä robots.txt voi ja ei voi tehdä
  3. Aloita käytäntöpäätöksestäsi
  4. Kohtuullinen robots.txt-malli tekoälyn estämiseen
  5. Ole varovainen Google-Extendedin kanssa
  6. Testaa tiedosto kuin tuotantokoodi
  7. Lisää palvelinpuolen hallintakeinoja boteille, jotka sivuuttavat säännöt
  8. Nopeusrajoitus
  9. User-agent-suodatus
  10. IP- ja ASN-hallintakeinot
  11. Tunnistautuminen ja maksumuurit
  12. Sisällön minimointi
  13. Käytä robots-metatageja sivukohtaisiin sääntöihin
  14. Seuraa lokeja julkaisun jälkeen
  15. Pidä tiedosto pienenä ja tarkistettuna
  16. 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:

  1. Se on vapaaehtoinen. Pahantahtoiset toimijat voivat sivuuttaa sen.
  2. Se ei estä URL-osoitteen pyytämistä tavallisella selaimella tai skriptillä.
  3. Se ei poista sisältöä, joka on jo kerätty muualle.
  4. Se ei itsessään määritä tekijänoikeutta, lisensointia tai koulutusoikeuksia.
  5. 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.txt eikä /robots.txt.
  • Tekstinkäsittelyohjelmasta kopioitujen typografisten lainausmerkkien käyttäminen.
  • Kaikkien indeksoijien estäminen vahingossa riveillä User-agent: * ja Disallow: /.
  • Oletus, että yhden verkkotunnuksen tiedosto koskee toista aliverkkotunnusta.
  • Sen unohtaminen, että http://, https://, www ja 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.txt nimeä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.

Usein kysytyt kysymykset

Voiko robots.txt estää tekoälyyrityksiä kouluttamasta malleja sisällölläni?
Se voi kertoa sääntöjä noudattaville tekoälyindeksoijille, etteivät ne indeksoi sivustoasi tähän tarkoitukseen. Se ei voi teknisesti estää sääntöjä noudattamattomia kaapijoita käyttämästä julkisia sivuja, eikä se poista jo kerättyä sisältöä.
Pitäisikö minun estää User-agent: * pysäyttääkseni kaikki kaapijat?
Yleensä ei. `User-agent: *` koskee kaikkia indeksoijia, jotka eivät täsmää tarkempaan sääntöön. `Disallow: /` kyseisen ryhmän alla voi estää tavallisen hakukoneindeksoinnin ja muita hyödyllisiä botteja.
Onko Google-Extended sama asia kuin Googlebot?
Ei. Google dokumentoi `Google-Extended`-tunnuksen erilliseksi tuotetunnukseksi joidenkin Gemini- ja Vertex AI -käyttöjen hallintaan. `Googlebot`-botin estäminen on paljon laajempi toimi ja voi vaikuttaa Google Search -indeksointiin.
Entä jos tekoälykaapija sivuuttaa robots.txt-tiedoston?
Siirry signaloinnista valvontaan. Käytä nopeusrajoituksia, user-agent-estoja, tarvittaessa IP- tai ASN-hallintakeinoja, bottienhallintaa, tunnistautumista sekä tiukempaa API- ja sisältöaltistusta.
Tarvitsenko sekä robots.txt-tiedoston että meta robots -tagit?
Ne ratkaisevat eri ongelmia. Robots.txt hallitsee indeksointia. Meta robots -tagit ja `X-Robots-Tag`-otsakkeet hallitsevat hakutuloksiin indeksointia ja katkelmakäyttäytymistä sääntöjä noudattaville indeksoijille, jotka pääsevät sivulle.

Lähteet ja lisälukeminen

  1. RFC 9309: The Robots Exclusion Protocol
  2. Google Search Central: robots.txt specifications
  3. OpenAI: GPTBot documentation
  4. Google Search Central: Google-Extended
Tietoja kirjoittajasta
The Wux Webtools Team

Viimeksi päivitetty:

Jatka lukemista