Modul 3 · 3.3
robots.txt: mit tiltson le, és mit ne
Modul 3: Egy oldal technikai alapjai · Olvasási idő: 13 perc
Tanulási cél: A lecke után Ön el tud olvasni és meg tud írni egy robots.txt fájlt, ki tudja számolni, hogy egy címet feltérképezhet-e a Googlebot, el tudja magyarázni, mi történik, ha a fájl hiányzik vagy nem érhető el, és tudja, miért nem biztonsági megoldás és miért nem noindex a robots.txt.
Kulcsfogalmak: robots.txt (RFC 9309), crawler, csoport, User-agent, Disallow, Allow, leghosszabb egyezés, azonos hossz (az Allow nyer), * és $, Sitemap:, a robots.txt állapotkódja (4xx, 5xx), 500 KiB, 24 órás gyorsítótár, nem biztonsági megoldás, nem noindex, AI-crawlerek (Google-Extended, GPTBot)
Egy tábla a bejárati ajtón
A robots.txt egy egyszerű szövegfájl a webhely gyökérmappájában, mindig ugyanazon a címen: https://www.example.com/robots.txt. Egy jól nevelt crawler (1.2. lecke) először ezt a fájlt kéri le, és elolvassa, a webhely mely részeit nem látogathatja. Ez egy tábla a bejárati ajtón, nem zár: a Googlebot és a Bingbot betartja, egy rosszindulatú robot viszont egyszerűen elolvassa a táblát, és továbbmegy.
2022 óta a protokoll hivatalos internetes szabvány: RFC 9309. Emellett a Google pontosan leírja, hogyan olvassa a Googlebot a fájlt. Ebben a leckében mindkét forrást használjuk.
Néhány állandó szabály:
- A fájl a host gyökérmappájában található. A
/blog/robots.txthelyen lévő robots.txt fájlt senki nem olvassa. - Csak arra a hostra, protokollra és portra érvényes. A
https://www.example.com/robots.txtnem vonatkozik ahttps://shop.example.com/címre; annak saját fájl kell. - Egyszerű szöveg UTF-8 kódolásban.
A fájl felépítése
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlA fájl csoportokból áll. Egy csoport egy vagy több User-agent: sorral kezdődik, utána jönnek a Disallow: (nem látogatható) és az Allow: (látogatható) sorok. A Disallow: utáni útvonal egy cím eleje: a Disallow: /zoeken letiltja a /zoeken, a /zoeken?q=rozen és a /zoekenmachine címet is, mert mindegyik /zoeken karakterekkel kezdődik.
A Sitemap: sor egyik csoporthoz sem tartozik, és azt adja meg, hol található a webhelytérkép (3.4. lecke). A Google teljes címet vár el, https:// előtaggal és hostnévvel.
Az útvonal nélküli Disallow: semmit nem tilt le. A Disallow: / mindent letilt.
Melyik csoport érvényes?
Egy crawler egyetlen csoportot választ: azt, amelyiknek a legpontosabb, rá illő neve van. A Googlebot tehát a User-agent: Googlebot csoportot követi, ha van ilyen, és ekkor a * csoportot teljesen figyelmen kívül hagyja. A fenti példában a Googlebot tehát bemehet a /winkelmand/ mappába: ez a szabály csak a * csoportban szerepel. Ez az egyik leggyakoribb hiba: aki külön Googlebot-csoportot hoz létre, annak ott meg kell ismételnie minden szabályt, amelynek a Google-ra is vonatkoznia kell.
A név nem kis- és nagybetűérzékeny (googlebot = Googlebot). Ha ugyanarra a crawlerre két csoport is vonatkozik, a Google összevonja őket.
Melyik szabály nyer?
Egy csoporton belül egy címre több szabály is illeszkedhet. Ilyenkor ez érvényes:
- A leghosszabb illeszkedő szabály nyer (a legpontosabb útvonal).
- Ha egy
Allowés egyDisallowpontosan ugyanolyan hosszú, akkor azAllownyer. A Google ezt "a legkevésbé korlátozó szabálynak" nevezi.
Két karakternek különleges jelentése van:
| Karakter | Jelentés | Példa | Érinti | Nem érinti |
|---|---|---|---|---|
* | nulla vagy több tetszőleges karakter | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | a cím vége | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Számolási példa a fenti * csoporttal, a Bingbot crawlerre (amelynek nincs saját csoportja):
| Cím | Illeszkedő szabályok | Eredmény |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | nem szabad |
/zoeken/tips | Disallow: /zoeken (7 karakter) és Allow: /zoeken/tips (12) | szabad: a leghosszabb nyer |
/zoeken?q=rozen | Disallow: /zoeken | nem szabad |
/bruidsboeketten | nincs | szabad |
/robots.txt | (mindig) | szabad: maga a robots.txt mindig engedélyezett |
Ha a fájl hiányzik, vagy a szerver akadozik
Hogy a Google mit tesz, attól függ, milyen állapotkóddal válaszol a szerver a /robots.txt kérésre:
| Válasz | Mit tesz a Google |
|---|---|
| 200 (megtalálva) | Elolvassa a szabályokat |
| Átirányítás (301, 302) | Legalább öt lépést követ; utána 404-ként kezeli |
| 4xx, például 404 vagy 403 (a 429 kivételével) | Mintha nem lenne robots.txt: minden szabad |
| 5xx vagy nincs kapcsolat | Az első 12 órában a Google nem térképezi fel a webhelyet, és újrapróbálkozik; utána legfeljebb 30 napig a gyorsítótárban lévő utolsó jó változatot használja. Ha a hiba ezután is fennáll, miközben a webhely egyébként működik, a Google úgy tesz, mintha nem lenne robots.txt |
A hiányzó robots.txt tehát nem gond: ilyenkor minden szabad. A szerverhibát adó robots.txt viszont igenis gond: ilyenkor a Google átmenetileg leállítja a feltérképezést. Az RFC 9309 ennél is szigorúbb: ha a fájl nem érhető el, a crawlernek azt kell feltételeznie, hogy minden tiltott.
Továbbá:
- A Google legfeljebb 500 KiB méretet olvas be; ami ezután áll, azt figyelmen kívül hagyja.
- A Google a robots.txt fájlt általában legfeljebb 24 óráig tárolja a gyorsítótárban. Egy módosítás tehát nem lép életbe azonnal. A Search Console Beállítások részében találja a robots.txt-jelentést: melyik változatot kérte le utoljára a Google, milyen hibákkal és figyelmeztetésekkel, valamint egy gombot az újbóli lekéréshez.
- A Google csak a
User-agent,Allow,DisallowésSitemapsorokat ismeri. Az olyan sorokat, mint aCrawl-delayvagy aNoindex, a Googlebot figyelmen kívül hagyja.
Mire nem való a robots.txt
Nem biztonsági megoldás
A robots.txt fájlt bárki elolvashatja, a rossz szándékúak is. Egy Disallow: /beheer-oud/ sor éppen azt mutatja meg, hol van valami érdekes. Maga az RFC 9309 is kimondja: a szabályok nem jelentenek hozzáférés-védelmet. Valódi védelmet jelszóval érhet el, vagy úgy, hogy a szerver megtagadja a hozzáférést, például .htaccess segítségével (lásd További olvasnivaló).
Nem noindex
Ez a legfontosabb tanulság. A robots.txt a feltérképezést szabályozza, nem az indexelést (1.3. lecke). A Google szó szerint leírja, hogy a robots.txt nem alkalmas arra, hogy egy oldalt kizárjon a Google-ből. Ha más webhelyek egy letiltott címre hivatkoznak, a cím ettől még megjelenhet a találatok között, csak leírás nélkül.
Ha egy oldalt ki szeretne zárni a találatok közül, használja a noindex utasítást (egy <meta name="robots"> elemben vagy az X-Robots-Tag fejlécsorban), vagy tegye az oldalt jelszó mögé. És vigyázzon a klasszikus csapdára: ha egy noindex utasítással ellátott oldalt a robots.txt fájlban is Disallow szabállyal tilt le, a Google nem tudja meglátogatni az oldalt, így a noindex utasítást sem tudja soha elolvasni.
Ne tiltsa le azt, amire a Google-nek szüksége van
Ne tiltson le olyan mappákat, amelyekben az oldal helyes megjelenítéséhez szükséges stíluslapok, szkriptek vagy képek vannak. A Google úgy nézi meg az oldalt, ahogy egy böngésző; ezek nélkül a fájlok nélkül a Google rosszabbul érti az oldalt.
AI-crawlerek
Egyre több cég gyűjt weboldalakat mesterséges intelligencia céljára. Ezek közül néhányat megszólíthat a robots.txt fájlban:
- A
Google-Extendednem külön robot, hanem egy név a robots.txt fájlban, amellyel jelezheti, hogy a Google felhasználhatja-e a tartalmát a Gemini-modellek tanítására és a groundinghoz. A Google szerint ez nincs hatással arra, hogy szerepel-e és hol szerepel a Google Keresőben. - Az OpenAI
GPTBotcrawlere olyan oldalakat gyűjt, amelyeket modellek tanítására lehet felhasználni. AzOAI-SearchBota ChatGPT keresőfunkciójához tartozik: ha ezt letiltja, webhelye nem jelenik meg a ChatGPT keresési válaszaiban.
User-agent: GPTBot
Disallow: /Hogy ezt szeretné-e, az döntés kérdése, nem technikai szükségszerűség. Ha véletlenül egy keresőrobotot (Googlebot, Bingbot, OAI-SearchBot) tilt le, ott kevésbé lesz megtalálható.
A gyakorlatban: hol van az Ön robots.txt fájlja?
- A WebOké AI Builder közzétételkor magától létrehoz egy robots.txt fájlt
User-agent: *,Allow: /és egySitemap:sorral. Ha a webhelyet nem indexelendőre állítja, vagy ingyenes bemutatóról van szó, akkorDisallow: /szerepel benne. - A WordPress virtuális robots.txt fájlt készít, amely a webhelytérképre hivatkozik. Ha Ön saját
robots.txtfájlt tesz a webmappába, az élvez elsőbbséget. - Saját webhely tárhelycsomagon: a
robots.txtfájlt a webmappába teszi (DirectAdmin eseténpublic_html) a Fájlkezelő vagy FTP segítségével.
Más szolgáltatóknál hasonlóan működik: a fájlnak mindig elérhetőnek kell lennie a host /robots.txt címén.
Összefoglalás
- A robots.txt minden host
/robots.txtcímén található, és megmondja a jól nevelt crawlereknek, mit nem látogathatnak. - Egy crawler egyetlen csoportot követ (a legpontosabb nevűt, ennek hiányában a
*csoportot). A csoporton belül a leghosszabb szabály nyer; azonos hossznál azAllownyer. - A 404 azt jelenti, "minden szabad", egy szerverhiba miatt a Google átmenetileg leállítja a feltérképezést. A Google 500 KiB méretet olvas be, és legfeljebb 24 óráig gyorsítótárazza a fájlt.
- A robots.txt nem biztonsági megoldás és nem noindex. Egy
noindexoldalt ne tiltson le a robots.txt fájlban. - Az olyan AI-crawlereket, mint a
GPTBot, és aGoogle-Extendednevet külön is szabályozhatja, a Google Keresőre gyakorolt hatás nélkül.
Kvíz
Feladat
A3.3. feladat: Az Ön robots.txt fájljának átvilágítása. Adja meg a domainjét, valamint saját webhelyének három címét (például a kezdőlapot, egy termékoldalt és a kosarat vagy a keresőoldalt), és mindegyiknél azt, hogy mire számít: feltérképezheti-e a Googlebot, igen vagy nem? A program lekéri a robots.txt fájlt, megnézi az állapotkódot, a méretet, a csoportokat és a Sitemap: sort, majd minden címnél kiszámolja, mit szabad a Googlebotnak a lecke szabályai szerint. Bevált a várakozása? Nincs saját webhelye? Használja a www.wikipedia.org címet.
További olvasnivaló
A cikkekben leírt lépések a WebOké kezelőfelületeire vonatkoznak; más szolgáltatóknál hasonlóan működik.
- DirectAdmin útmutató 11.1: A Fájlkezelő megnyitása: a csomagban található könyvtárak
- Fájlok letiltása .htaccess segítségével, például a plugin-googlemap2-proxy.php
- DirectAdmin útmutató 11.4: Rejtett fájlok, például a .htaccess megjelenítése és módosítása
- Google Search Central, Hogyan értelmezi a Google a robots.txt fájlt: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, Bevezetés a robots.txt használatába: https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol: https://www.rfc-editor.org/rfc/rfc9309.html
- Google, A crawlerek áttekintése (Google-Extended): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, A crawlerek áttekintése (GPTBot, OAI-SearchBot): https://developers.openai.com/api/docs/bots
