Ne te légy, aki elrontja: a robots.txt megfelelő használata

Pál Zoltán Gábor

Van egy kiváló film, a címe „Tizenhárom nap”, és az a kubai rakétaválságot dolgozza fel. Az egyik ikonikus jelenetben Robert McNamara akkori védelmi miniszter épp azt magyarázza el a mindent csak a háború szemüvegén keresztül látó katonai vezetőknek, hogy mi is valójában a blokád Kuba körül.

Ahogy mondja: „Ez itt egy nyelv, egy új szókincs, amit még nem ismer a világ. Itt Kennedy elnök beszélget Hruscsov első titkárral!

Ha maradunk e szórakoztató párhuzamnál, akkor a mi esetünkben a robots.txt fájl az a kommunikációs eszköz, amellyel a webmesterek beszélgethetnek a keresőmotorokkal. Ennek segítségével tájékoztathatják a feltérképezést végző robotokat, hogy azok mely oldalakat és fájlokat kérhetik le az adott webhelyről, és melyiket nem.

Egy honlaphoz egy (darab) robots.txt fájl tartozik, és az a weboldal gyökérkönyvtárában található. Az esetek többségében külön kell létrehozni, de van olyan tartalomkezelő, ami automatikusan megcsinálja ezt helyettünk, például a WordPress.

Miért van (egyáltalán) szükség a robots.txt-re?

Adódik a kérdés: miért akarják elrejteni magukat a weblapok (bizonyos esetekben)? Nem az a weblaptulajdonosok célja, hogy a honlapjuk mindig elérhető legyen a felhasználói kereséseket követően?

Az esetek többségében igen, de nem mindig! A robots.txt-re azért van szükség, hogy megakadályozzuk a felesleges duplikátumok (szűrők, lapozók) feltérképezését és indexelését, vagy hogy kivegyünk valamit a hétköznapi felhasználók elől a találati listából: például

  • kampány landingeket
  • vagy az adminfelület login-oldalát
  • esetleg kosár funkciókat

Amikor egy keresőrobot (például a linkek segítségével) rátalál egy webhelyre, akkor az első dolga az, hogy megkeresi a robots.txt fájlt, amiben ellenőrizni tudja az indexelési utasításokat. Vagyis azt, hogy mit szabad és mit nem szabad indexelnie.

Sőt, használatával akár az egész weboldal is elrejthető a Google (vagy más keresőmotor) szeme elől.

Hogyan néz ki egy robots.txt fájl?

Viszonylag egyszerűen, bár a programozáshoz nem szokott szem kevés művészeti értéket talál majd benne: a fájl sorokból áll, és két fontos mező alkotja. Ezek:

  • user-agent
  • disallow

Az első a robotkizárásra vonatkozik, a második pedig az indexelés tárgyára. Érthetőbben: a user-agent megadásával közölheti egy webmester, hogy melyik keresőmotor robotjaihoz szól (például Googlebot, Bing), a disallow-nál pedig megadhatja, hogy melyik mappa indexelését tiltja. A user-agent esetében a * jel alkalmazása azt jelenti, hogy az azt követő kizáró utasítás mindegyik keresőmotornak szól.

Minden utasítást külön sorba kell írni (tehát bármennyi user-agent/disallow párosítás lehet egy robots.txt fájlban), viszont megijedni nem kell tőle, hatása az oldal vagy aloldal tényleges láthatóságára nem vonatkozik: egy tiltás alkalmazásával nem távolíthatsz el tartalmakat a weboldalról, ez az információ csak a keresőrobotoknak szól.

A robots.txt-t UNIX formátumban kell létrehozni, és az valahogy így néz ki:

User-agent: Googlebot
Disallow: /dashboard/

Szerepe a SEO-ban

A sztenderd immáron 25 éves, és annak a keresőoptimalizáláskor is fontos szerep jut, de nem úgy, ahogy először gondolnád. SEO esetében ugyanis a robots.txt-re a keresőrobotok feltérképezési kerete (angolul: crawl budget) miatt van szükség.

Nézzük, mit is jelent ez pontosan!

A felhasználói élmény miatt a keresőmotorok (így például a Google is) korlátozza a robotok feltérképezésének gyakoriságát, ezért a webhelytulajdonosoknak ügyelniük kell arra, hogy azok tudják, hol kell mindenképp kutakodniuk. Ha egy URL ugyanis alacsony értékű, akkor a Google erősen korlátozza annak feltérképezését…

… tehát az nem kerülhet be az indexbe, vagy nem fog jól (vagy egyáltalán nem fog) rangsorolni.

A webmestereknek ezért fontos feladata, hogy kizárják a feltérképezésből az alacsony értékű URL-eket, mert így a keresőrobotok nem azokra pazarolják el az „erejüket”.

A gyakorlatban ez így néz ki (folytatva a fenti példát, 120 másodperces feltérképezési várakozással):

User-agent: Googlebot
Crawl-delay: 120
Disallow: /dashboard/

Gyakori hiba a robots.txt fájl körül

Ahogy mind bonyolultabbá válik egy weboldal, úgy lesz egyre szerteágazóbb és lassan követhetetlen a robots.txt fájl, ezzel pedig gyakoribbá válik és megnő a hiba (lehetősége) is.

Már önmagában a fájl is lehet problémás azáltal, ha biztonsági kockázattá válik: bármennyire is szeretnéd ezt elkerülni, az ártó szándékú robotok vagy felhasználók (például konkurensek) a robots.txt-t szokták először megnézni, ha tudni szeretnék, hol érdemes kutakodni az adott weboldalon belül. Ezt a problémát leginkább úgy lehet kiküszöbölni,

  • ha megérted, mire jó és mire való a robots.txt fájl (ne azzal akarj elrejteni weboldalakat vagy aloldalakat a keresőből, amik érzékenyek vagy amiket speciális célra használsz)
  • ha odafigyelsz arra, amikor a noindex és a robots.txt disallow részét egyszerre használod (de nagy általánosságban is igaz: noindex-et használj ilyen esetben)
  • ha nem adott aloldalt, hanem inkább könyvtárat zársz ki a disallow-val

Ezek mellett gyakori hiba még az elgépelés is, például az, hogy a webmester nem tesz kettőspontot a user-agent és a disallow után. Továbbá nem szabad a robotst.txt-t duplikált tartalom kezelésére használni, hiszen erre vannak sokkal jobb megoldások, mint a rel=canonical tag vagy a noindex parancs az aloldalakon.

Hogyan hozható létre a robots.txt?

A robots.txt lényegében bármelyik (ASCII vagy UTF-8 kódolásra képes) szövegszerkesztővel létrehozható. Előírás azzal kapcsolatban, hogy a neve ne változzon („robots.txt”), és hogy egy webhelyen belül csak egy darab legyen belőle.

A WordPress használóinak külön előny, hogy azt a rendszer automatikusan létrehozza, kivéve akkor, ha már létezik egy valódi robots.txt fájl a szerveren.

Az elkészített robots.txt-t ellenőrizni is lehet. Mi azt szoktuk mondani, hogy létrehozni könnyebb, mint később menedzselni, de mivel fontos fájlról beszélünk, ezért nagyon oda kell figyelni annak szerkesztésére.