Robots.txt

Robots.txt

A robots.txt definíciója

A robots.txt egy egyszerű szöveges (TXT) fájl, amely a webhelyre érkező robotoknak tartalmaz utasításokat. Ez a fájl a webhely többi alapvető fájlja között, a webtárhelyen található meg. Fontos észben tartani, hogy a robots.txt fájl utasításait egy robot nem köteles figyelembe venni – ez attól függ, hogy hogyan programozzák őket.

Úgy kell tehát elképzelni a robots.txt fájlt, mint egy „illemszabályok” táblát egy étteremben, vagy egy könyvtárban. Maga a tábla önmagában nem biztosítja, hogy minden vendég be is tartja majd a szabályokat, csak azok, akik odafigyelnek ezekre. A rossz vendégek (robotok) pedig minden bizonnyal kitiltásra kerülnek majd az étteremből (a webhelyről), ha nem tartják be a szabályokat.

 

A robotok olyan számítógépes programok, amelyek webhelyeket és alkalmazásokat keresnek fel, és különféle tevékenységeket végeznek azokon. A robotok legnépszerűbb típusa a feltérképező robot (vagy „pók”), amiket általában egy keresőmotor (pl. a Google) küld ki az internetre. Ezek a robotok azért látogatnak el a webhelyekre és azok oldalaira, hogy megnézzék, mit tartalmaznak (szöveg, képek, címkék, stb.), és felvegyék őket a keresőmotor indexékbe.

A robots.txt fájl első sorban az ilyen robotok tevékenységeit segít szabályozni webhelyeden, megakadályozva, hogy túl sok erőforrást foglaljanak le a webszerverről látogatásuk során, illetve, hogy a nem nyilvános oldalakat is indexeljék.

 

A robots.txt fájl működése

A robots.txt fájl egy egyszerű szöveges TXT fájl, ami a webhelyet tároló szerveren található meg. A legtöbb webhely robots.txt fájlja nyilvánosan is megtekinthető – ehhez csupán be kell írnod az URL sávba a webhely nevét, majd utána, hogy /robots.txt – például https://www.google.com/robots.txt. A robots.txt fájl nem függ egyetlen másik fájltól sem a szerveren, és a robotok általában ennek a fájlnak a tartalmát vizsgálják meg először, amikor a webhelyre érkeznek.

A robots.txt fájl, mint fentebb olvashattad, csupán a robotoknak szóló utasításokat tartalmazza, de nem képes betartatni azokat. Egy tisztességesre programozott robot figyelembe veszi és betartja ezeket a szabályokat, míg egy rosszindulatú robot akár ki is használja majd, hogy olyan oldalakat találjon, amiket nem lenne szabad elérnie.

Ha a webmester nem elég körültekintő, a robots.txt fájlba akár egymásnak ellentmondó utasítások is bekerülhetnek. Ilyenkor a robotok (ha érdekli őket a fájl tartalma) a részletesebb utasítást veszik majd figyelembe az ellentmondásosak közül.

 

Fontos továbbá szem előtt tartani, hogy minden aldomainhez külön robots.txt fájlra lesz szükséged webhelyeden.

 

A robots.txt fájl protokolljai

A hálózatépítés világában a protokoll egy utasítások megfogalmazásához használt formátum. A robots.txt többféle protokollt is használ, az elsődleges ezek közül a Robots Exlusion Protocoll, azaz a „robotok kizárási protokollja”. Ezzel a protokollal szabhatod meg a robotok számára, hogy mely weboldalakat és forrásokat kerüljék el webhelyeden.

A másik robots.txt fájlban gyakran használt protokoll a Sitemaps, azaz „oldaltérképek” protokoll. Ez bizonyos értelemben a kizárási protokoll ellentétje, ugyanis azt mutatja meg a robotoknak, hogy mely oldalakat térképezhetnek fel a webhelyen. Ezzel biztosíthatod, hogy a robotok egyetlen fontos oldalt se hagyjanak ki webhelyeden.

 

Egy robots.txt fájl elemei

Így néz ki a Google.com robots.txt fájljának legfelső néhány sora:

 

Lássuk, hogy mit jelentenek a különböző utasítások.

 

User-agent

Minden felhasználónak és az internetet böngésző programnak (köztük a robotoknak is) van egy user agentje. Ez magyarul „felhasználói ügynököt” jelenthetne, de maradjunk inkább az eredeti megnevezésnél.

Az emberi felhasználók esetében a user agent olyan információkat tartalmaz, mint az operációs rendszer verziója, illetve a böngészőprogram típusa. A webhelyek ellenőrzik ezeket a user agent információkat, hogy olyan tartalmakat jeleníthessenek meg a látogatóknak, amik kompatibilisek rendszerükkel és böngészőjükkel.

A robotok esetében a user agent azt segít nyomon követni a webmestereknek, hogy milyen robotok látogatják és térképezik fel a webhelyüket.

 

A robots.txt fájl lehetővé teszi a webmesterek számára, hogy a különböző user agenteknek eltérő utasításokat írjanak elő. Így akár más és más instrukciókat is kiszabhatnak az eltérő robotoknak. Például megengedheted, hogy a Google robotja (user-agent: Googlebot) feltérképezze webhelyedet, de kitilthatod a Bing keresőmotor (user-agent: Bingbot) robotját.

 

A fenti példában látható, hogy a User-agent: után csupán egy csillag (*) látható. A robots.txt-ben a csillag karakter azt jelenti, hogy az utasítás mindenre vonatkozik – ez esetben azt jelenti, hogy minden user-agentnek figyelembe kell vennie a fájlban található utasításokat.

 

Disallow

A disallow parancs a leggyakoribb kizárási protokoll a robots.txt fájlokban. A disallow parancs megtiltja a robotoknak, hogy elérjék, és feltérképezzék egy webhely bizonyos oldalát, vagy oldalait. Ezek az oldalak nem feltétlenül titkosak, de általában nem tartalmaznak semmilyen hasznos információt a Google vagy Bing kereső felhasználói számára, ezért felesleges őket felvenni az indexbe. Az oldalak tehát általában elérhetők a megfelelő URL címen keresztül, de a keresési találatok között nem fognak megjelenni.

A disallow paranccsal a robotok kizárhatók például egyetlen oldalról. Ilyenkor az oldal teljes URL címét kell megadni:

Disallow: https://hu.wikipedia.org/wiki/Olasz_nyelv

 

Ha egy alkönyvtárból szeretnéd kitiltani a robotokat, akkor csak az alkönyvtár nevét kell megadnod, a domain név nélkül:

Disallow: /wiki/

 

A disallow paranccsal azt is meg lehet adni a robotoknak, hogy a webhely összes oldalát elérhetik. Ilyenkor csupán bele kell írni egy sorba, hogy „Disallow:”.

Ha az egész webhelyről ki szeretnéd tiltani a robotokat, akkor a Disallow parancs után egy szóközre és egy / karakterre is szükséged lesz.

 

Allow

Az allow paranccsal engedélyt adhatsz a robotoknak, hogy elérjenek egy bizonyos oldalt, vagy alkönyvtárt.

Ha például a disallow paranccsal kizárod a robotokat egy egész alkönyvtárból, de szeretnéd, ha egy oldalt meglátogathatnának a könyvtárban, akkor az alkönyvtárra beállított disallow parancson kívül az allow paranccsal engedélyezheted egy-egy adott oldal feltérképezését és indexelését. Persze ez a két parancs ellent mond egymásnak, de a robotok mindig a részletesebb parancsot veszik figyelembe, ami ebben az esetben az allow, hiszen egy egész URL-t adsz meg.

Ezt a parancsot nem minden robot ismeri fel, függetlenül attól, hogy jó vagy rosszindulatú programozásúak.

 

Crawl-delay

Ez a parancs segít megakadályozni, hogy egy keresőmotor robotja túlterhelje a webhely szerverét. A crawl-delay paranccsal a webmester milliszekundumokban adhatja meg, hogy egy robot mennyi időt várjon két lekérdezés között.

Ezt a parancsot nem minden robot ismeri fel (pl. a Google sem), függetlenül attól, hogy jó vagy rosszindulatú programozásúak. Ha a Google-nak szeretnéd megszabni ezt a késleltetést, akkor azt a Google Search Console felületén teheted meg.

 

Sitemap

A sitemap, azaz a webhelytérkép egy XML kiterjesztésű fájl, ami a webhelyeden található legfontosabb oldalak URL címét tartalmazza. Ez a fájl szintén a webhelyet tároló szerveren helyezkedik el.

A sitemap protokoll lényegében a webhelytérkép fájl elérési útját mutatja meg a robotok számára, felhívva ezzel a figyelmüket azokra az oldalakra, amiket szeretnél, hogy feltérképezzenek.

Fontos észben tartani, hogy ha a sitemap protokollal rámutatsz a webhelytérképre, ezzel nem tudod arra erőltetni a robotokat, hogy feltérképezzék az összes oldalt, amit a webhelytérkép tartalmaz. A robotok ugyan úgy a megszokott feltérképezési rutinjukat végzik majd, és nem bánnak másképp a webhelytérképben szereplő URL-ekkel.

Gyakori kérdések

Kiemelt területeink