SEO & Discoverability

Ako napísať robots.txt, ktorý skutočne blokuje AI scrapery

Praktický sprievodca blokovaním poslušných AI crawlerov, pochopením limitov robots.txt a doplnením serverových kontrol tam, kde na nich záleží.

The Wux Webtools Team The Wux Webtools Team 11 min čítania Pomocou AI, kontrolované človekom
Illustration of crawler bots approaching a website gate controlled by a robots.txt file.
Obsah
  1. Nepríjemná pravda o robots.txt
  2. Čo robots.txt dokáže a čo nie
  3. Začnite rozhodnutím o politike
  4. Rozumná šablóna robots.txt na blokovanie AI
  5. Buďte opatrní pri Google-Extended
  6. Testujte súbor ako produkčný kód
  7. Pridajte serverové kontroly pre boty, ktoré pravidlá ignorujú
  8. Obmedzovanie rýchlosti
  9. Filtrovanie user agentov
  10. Kontroly IP a ASN
  11. Autentifikácia a paywally
  12. Minimalizácia obsahu
  13. Používajte robots meta tagy pre pravidlá na úrovni stránky
  14. Po publikovaní monitorujte logy
  15. Udržujte súbor malý a kontrolovaný
  16. Záver

Nepríjemná pravda o robots.txt

Súbor robots.txt nie je zámok. Je to tabuľka na dverách.

Na tomto rozdiele záleží, keď sa tímy pýtajú, či môžu „zablokovať AI scrapery“ jedným malým textovým súborom. Pri renomovaných crawleroch, ktoré dodržiavajú Robots Exclusion Protocol, áno: správne napísaný robots.txt im môže povedať, aby vaše stránky neprehľadávali. Pri neznámych scraperoch, imitátoroch, automatizácii prehliadača a botoch, ktorým je to jednoducho jedno, sám osebe neurobí nič.

Praktickým cieľom teda nie je „znemožniť scraping“. Je ním:

  • Povedať poslušným AI crawlerom, aby nepoužívali váš web.
  • Vyhnúť sa náhodnému blokovaniu vyhľadávačov alebo užitočných služieb.
  • Doplniť silnejšie serverové kontroly proti zneužívaniu.
  • Udržať politiku spravovateľnú aj pri zmenách názvov crawlerov.

To je tá nudná verzia. A zároveň verzia, ktorá funguje.

Čo robots.txt dokáže a čo nie

Súbor robots.txt sa nachádza v koreňovom adresári webu:

https://example.com/robots.txt

Crawlery si ho vyžiadajú pred prehľadávaním. Súbor obsahuje skupiny pravidiel. Každá skupina sa začína jedným alebo viacerými riadkami User-agent, po ktorých nasledujú direktívy Allow alebo Disallow.

Jednoduché blokovanie celého webu vyzerá takto:

User-agent: GPTBot
Disallow: /

Znamená to: ak si GPTBot, neprehľadávaj nič na tomto webe.

robots.txt má však pevné limity:

  1. Je dobrovoľný. Škodliví aktéri ho môžu ignorovať.
  2. Nezabráni tomu, aby si URL vyžiadal bežný prehliadač alebo skript.
  3. Neodstráni obsah, ktorý už bol zhromaždený inde.
  4. Sám osebe nedefinuje autorské práva, licencovanie ani práva na trénovanie.
  5. Dá sa nesprávne nakonfigurovať tak, že zablokuje nesprávne boty.

Ak potrebujete skutočnú kontrolu prístupu, použite autentifikáciu, autorizáciu, obmedzovanie rýchlosti, kontroly podľa IP, správu botov alebo právne nástroje. Robots.txt je stále užitočný, ale patrí do širšej stratégie ochrany obsahu.

Je to podobné ako pri iných problémoch správy webu: viditeľná kontrola je zriedka celá kontrola. Ak vaša organizácia už interne používa nespravovanú AI, platí rovnaký princíp; rýchly audit tieňovej AI je často užitočnejší než predstieranie, že jeden politický dokument problém vyrieši.

Začnite rozhodnutím o politike

Skôr než súbor upravíte, rozhodnite sa, čo sa vlastne snažíte zablokovať.

Ľudia pod pojmom „AI scraper“ myslia aspoň štyri rôzne veci:

  • Crawlery používané na zber tréningových dát.
  • Crawlery AI vyhľadávania alebo odpovedacích nástrojov.
  • Načítavače spúšťané používateľom, napríklad keď niekto požiada AI produkt o zhrnutie URL.
  • Všeobecné scrapery predstierajúce, že sú obyčajné prehliadače.

Možno chcete zablokovať všetky. Alebo možno chcete zachovať objaviteľnosť vo vyhľadávaní a zároveň sa odhlásiť z trénovania modelov. To nie je tá istá politika.

Napríklad OpenAI dokumentuje samostatné user agenty na rôzne účely vrátane GPTBot, ChatGPT-User a OAI-SearchBot. Google používa Google-Extended ako riadiaci token pre niektoré prípady použitia Gemini a Vertex AI, zatiaľ čo bežné prehľadávanie Google Search zabezpečujú iné user agenty Googlebot.

Toto oddelenie je dôležité. Ak neopatrne zablokujete široké user agenty, môžete poškodiť bežnú viditeľnosť vo vyhľadávaní, hoci sa len snažíte blokovať AI trénovanie.

Rozumná šablóna robots.txt na blokovanie AI

Tu je konzervatívny východiskový bod na blokovanie viacerých bežne dokumentovaných crawlerov súvisiacich s AI, pričom všeobecné vyhľadávacie crawlery zostanú nedotknuté:

# 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: /

Nie je to magický univerzálny zoznam. Je to spravovateľný vzor.

Niekoľko poznámok:

  • Disallow: / znamená „neprehľadávaj žiadnu cestu“.
  • User-agent: * sa vzťahuje na crawlery, ktoré nezodpovedajú konkrétnejšej skupine.
  • Allow: / nie je pre predvolenú skupinu striktne povinné, ale jasne vyjadruje váš zámer.
  • Komentáre nechajte krátke. Niektoré parsery sú zhovievavé, ale robots.txt by mal zostať nudný.
  • Do robots.txt neuvádzajte súkromné URL. Súbor je verejný a uvedením citlivých ciest ich môžete prezradiť.

Posledný bod stojí za zopakovanie. Robots.txt nie je mechanizmus utajenia. Ak /client-contracts/ nemá byť verejné, chráňte ho autentifikáciou. Nestačí ho iba zakázať.

Buďte opatrní pri Google-Extended

Google-Extended sa často chápe nesprávne. Nie je to to isté ako blokovanie Google Search.

Podľa dokumentácie Google je Google-Extended samostatný produktový token, ktorý môžu vydavatelia použiť na správu toho, či obsah webu môže pomáhať zlepšovať určité schopnosti Gemini a Vertex AI. Jeho zablokovanie by samo osebe nemalo zablokovať Googlebot v prehľadávaní pre Search.

Napriek tomu nenahrádzajte všetky direktívy Google širokým blokovaním, ako je toto, pokiaľ to naozaj nemyslíte vážne:

User-agent: Googlebot
Disallow: /

Tým by ste hlavnému crawleru Google Search povedali, aby váš web neprehľadával. Pri väčšine verejných webov to nie je to, čo chcete.

Rovnaké rozlíšenie platí aj inde. Niektorí dodávatelia oddeľujú tréningové crawlery od používateľom spusteného prehliadania alebo AI vyhľadávacích crawlerov. Iní nie. Musíte si prečítať dokumentáciu botov, na ktorých vám záleží, a svoj robots.txt brať ako živý súbor, nie ako jednorazové zaškrtávacie políčko.

Testujte súbor ako produkčný kód

Robots.txt vyzerá jednoducho, a práve preto sa dá ľahko pokaziť.

Medzi časté chyby patria:

  • Nahratie na nesprávne miesto, napríklad do /assets/robots.txt namiesto /robots.txt.
  • Použitie typografických úvodzoviek skopírovaných z textového editora.
  • Náhodné zablokovanie všetkých crawlerov pomocou User-agent: * a Disallow: /.
  • Predpoklad, že súbor jednej domény platí aj pre inú subdoménu.
  • Zabudnutie, že hostitelia http://, https://, www a bez www sa môžu v závislosti od nastavenia spracúvať odlišne.

Pri weboch s viacerými doménami skontrolujte každého kanonického hostiteľa. Súbor robots na https://www.example.com/robots.txt automaticky neriadi https://app.example.com/robots.txt.

Pri ladení kontrolujte skutočnú HTTP odpoveď, nielen to, čo ukazuje náhľad vo vašom CMS. Chcete odpoveď 200 OK, podľa možnosti typ obsahu text/plain a presne ten súbor, ktorý očakávate. Ak sú zapojené presmerovania, cache alebo pravidlá CDN, pomôže kontrola surových hlavičiek. Pracovný postup z článku ladenie presmerovaní a HTTP hlavičiek v produkcii tu platí priamo.

Pridajte serverové kontroly pre boty, ktoré pravidlá ignorujú

Ak je crawler poslušný, robots.txt je najčistejší signál. Ak je crawler zneužívajúci, potrebujete vynucovanie.

Praktické kontroly zahŕňajú:

Obmedzovanie rýchlosti

Nastavte prahy pre nezvyčajné vzory požiadaviek: príliš veľa stránok za minútu, hlboké prechádzanie stránkovania, opakované 404 alebo vysoký objem požiadaviek z malej skupiny IP adries. Limity rýchlosti by mali byť dosť veľkorysé, aby netrestali skutočných používateľov, a dosť prísne, aby hromadnú extrakciu predražili.

Filtrovanie user agentov

Dokumentované user agenty AI crawlerov môžete blokovať na webovom serveri, reverznom proxy, CDN alebo aplikačnej vrstve. Je to silnejšie než robots.txt, pretože vracia skutočnú odmietavú odpoveď.

Napríklad Nginx môže blokovať vzor user agenta, hoci produkčné pravidlá by sa mali testovať opatrne:

if ($http_user_agent ~* "GPTBot|CCBot|ClaudeBot|Bytespider") {
    return 403;
}

Nie je to nepriestrelné. Reťazce user agentov sa dajú ľahko sfalšovať. Zastaví to však poctivú alebo lenivú prevádzku a zníži záťaž.

Kontroly IP a ASN

Niektorí prevádzkovatelia zverejňujú rozsahy IP, mnohé scraperové ekosystémy však nie. Blokovanie podľa IP môže fungovať pri zjavnom zneužívaní, najmä z cloudových hostingových rozsahov bez bežnej používateľskej prevádzky, ale môže vytvárať aj falošné pozitíva. Pred pravidlami používajte logy.

Autentifikácia a paywally

Ak sa obsah nesmie kopírovať vo veľkom rozsahu, neumiestňujte celý obsah na verejnú URL. Robots.txt nie je vhodný pre dôverné materiály, licencované databázy, súkromné komunity ani platené archívy.

Minimalizácia obsahu

Niekedy je najlepšia ochrana architektonická. Nevystavujte zbytočné API, veľké JSON payloady, skryté metadáta, draftové endpointy ani celé archívy, ak verejná stránka potrebuje len malú podmnožinu. Weby s množstvom obrázkov by mali myslieť aj na to, aké metadáta publikujú; logika ochrany súkromia z článku odstraňovanie EXIF metadát pred zdieľaním fotografií online platí aj pre obsahové operácie.

Používajte robots meta tagy pre pravidlá na úrovni stránky

Robots.txt riadi prehľadávanie. Robots meta tagy a hlavičky X-Robots-Tag riadia indexovanie a správanie úryvkov pre poslušné vyhľadávače a crawlery.

Napríklad:

<meta name="robots" content="noindex, noarchive">

Alebo ako HTTP hlavička:

X-Robots-Tag: noindex, noarchive

Nie sú to štíty špecifické pre AI. Sú užitočné, keď chcete, aby bola stránka prístupná, ale nie indexovaná. Ak však crawleru zablokujete načítanie stránky v robots.txt, nemusí nikdy vidieť meta tag na úrovni stránky. Nespoliehajte sa na tag noindex na URL, ktorú má crawler zakázané prehľadávať.

Hrubé pravidlo:

  • Použite robots.txt na zníženie alebo zabránenie prehľadávaniu.
  • Použite meta robots alebo X-Robots-Tag na riadenie správania indexovania.
  • Použite serverové kontroly na vynútenie prístupu.

Po publikovaní monitorujte logy

Publikovanie súboru je iba prvý krok. Potom skontrolujte logy.

Hľadajte:

  • Požiadavky na /robots.txt od user agentov, ktoré ste pomenovali.
  • Pokračujúce prehľadávanie po odoslaní pravidiel zákazu.
  • Podozrivé user agenty s vysokým objemom.
  • User agenty podobné prehliadačom, ktoré postupne žiadajú tisíce stránok.
  • Opakovaný prístup k feedom, sitemapám, stránkam vyhľadávania a stránkovaniu.

Ak bot požiada o robots.txt, uvidí úplný zákaz a potom prestane, robots.txt splnil svoju úlohu. Ak pokračuje, presuňte daného bota do vynucovania: limity rýchlosti, blokovania alebo autentifikácia.

Skontrolujte aj vystavenie svojich sitemap. Sitemapy sú užitočné pre vyhľadávače, ale zároveň sú pohodlnými mapami pre scrapery. Neznamená to, že ich máte z bežných webov odstrániť. Znamená to, že by ste do nich nemali zahrnúť URL, ktoré nechcete, aby verejné systémy objavili.

Udržujte súbor malý a kontrolovaný

Robots.txt má tendenciu chátrať. Marketingový tím pridá kampaňový microsite. Vývojár pridá stagingovú cestu. Dodávateľ zmení názov svojho crawlera. O dva roky neskôr už nikto nevie, prečo polovica pravidiel existuje.

Berte ho ako konfiguráciu:

  • Ak je to možné, ukladajte ho do správy verzií.
  • Pridajte krátky komentár ku každej skupine AI crawlerov.
  • Kontrolujte ho štvrťročne.
  • Pred pridaním širokých pravidiel skontrolujte dokumentáciu dodávateľa.
  • Testujte po zmenách CDN, CMS alebo hostingu.

Ak váš web publikuje obsah podporený AI, oddeľte politiku crawlerov od redakčnej transparentnosti. Blokovanie AI scraperov je o prístupe a opätovnom použití. Zverejňovanie informácií je o dôvere čitateľov. Eticky sa prekrývajú, ale nie sú tou istou kontrolou. Praktický prístup k zverejňovaniu pokrýva článok ako vyzerá poctivé zverejnenie používania AI na malom webe.

<!-- tool-cta:start -->

💡 Vyskúšajte toto: Po pridaní pravidiel pre AI crawlery overte syntax pomocou Robots.txt Tester, aby ste omylom nezablokovali aj legitímne boty.

<!-- tool-cta:end -->

Záver

Dobrý súbor robots.txt zablokuje poslušné AI crawlery. Nezastaví odhodlaný scraping, skopírované reťazce user agentov, kompromitované prehliadače ani ľudí, ktorí váš obsah manuálne vkladajú do AI systémov.

To z neho nerobí zbytočnosť. Robí z neho jednu vrstvu.

Napíšte explicitné pravidlá pre dokumentované AI crawlery. Vyhnite sa širokým blokovaniam, ktoré poškodzujú viditeľnosť vo vyhľadávaní. Testujte doručený súbor, nie koncept. Sledujte logy. Vynucujte serverovými kontrolami tam, kde správanie prechádza z nechceného do zneužívajúceho.

Web vždy fungoval na zmesi protokolu, noriem a vynucovania. Robots.txt je vrstva noriem. Používajte ho, ale nepomýľte si ho s múrom.

Často kladené otázky

Môže robots.txt zabrániť AI firmám trénovať na mojom obsahu?
Môže povedať poslušným AI crawlerom, aby váš web na tento účel neprehľadávali. Technicky však nedokáže zabrániť nepoctivým scraperom v prístupe k verejným stránkam a neodstráni obsah, ktorý už bol zhromaždený.
Mám zablokovať User-agent: * a zastaviť tak všetky scrapery?
Zvyčajne nie. `User-agent: *` sa vzťahuje na všetky crawlery, ktoré nezodpovedajú konkrétnejšiemu pravidlu. `Disallow: /` v tejto skupine môže zablokovať bežné prehľadávanie vyhľadávačmi aj iné užitočné boty.
Je Google-Extended to isté ako Googlebot?
Nie. Google dokumentuje `Google-Extended` ako samostatný produktový token na riadenie niektorých použití Gemini a Vertex AI. Blokovanie `Googlebot` je omnoho širší krok a môže ovplyvniť prehľadávanie Google Search.
Čo ak AI scraper ignoruje robots.txt?
Prejdite od signalizácie k vynucovaniu. Použite obmedzovanie rýchlosti, blokovanie user agentov, kontroly IP alebo ASN tam, kde je to vhodné, správu botov, autentifikáciu a prísnejšie vystavenie API/obsahu.
Potrebujem robots.txt aj meta robots tagy?
Riešia rôzne problémy. Robots.txt riadi prehľadávanie. Meta robots tagy a hlavičky `X-Robots-Tag` riadia indexovanie a správanie úryvkov pre poslušné crawlery, ktoré majú k stránke prístup.

Zdroje a ďalšie čítanie

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

Posledná aktualizácia:

Pokračujte v čítaní