robots.txt: viešas šnabždesys, kurį girdi paieškos varikliai

Failas robots.txt priklauso savitam ir paslaptingam žiniatinklio raštijos žanrui. Tai nėra nei literatūrinė proza, nei ištisas programinis kodas dramatiška teatro prasme. Tai lakoniškas memorandumas, trumpa protokolo litanija, patalpinta pačiame domeno paribyje, skirta interneto robotams (angl. crawlers arba spiders), kurie atvyksta su mandagiu ketinimu, komerciniu apetitu, archyvine aistra ar tiesiog šaltu algoritminiu abejingumu. Paprastas naršyklės lankytojas retai kada specialiai ieško šio failo, tačiau paieškos variklių robotams jis tarnauja kaip pirmasis pilietinis užrašas ant miesto vartų.

Pats pavadinimas skamba grynai techniškai, nors jame užkoduota mintis yra kone diplomatinė. Svetainė tarsi sako: štai koridoriai, kuriais leidžiama vaikščioti, štai kambariai, kuriuos primygtinai prašyčiau ignoruoti, ir štai kur saugomas detalus viso pastato žemėlapis. Senąja lotyniška teisine tradicija tai būtų galima pavadinti praemonitio — išankstiniu pranešimu ar patarimu. Tai yra rekomendacinė gairė, o ne nepralaužiama tvirtovės siena. Šis skirtumas yra pamatinis: robots.txt gali pasiūlyti ribas, tačiau jis negali garantuoti slaptumo, ištrinti URL adresų iš skaitmeninės visatos ar pakeisti tikrosios serverio prieigos kontrolės.

Kodėl robots.txt yra svarbus SEO ir kaip jis gali pakenkti

Paieškos sistemoms, tokioms kaip „Google“, „Bing“ ar „Yandex“, reikalingas visiškas skaidrumas. Jos yra kantrios, tačiau jų kantrybė ir resursai nėra begaliniai; jos galingos, bet toli gražu ne visažinės. Švarus ir disciplinuotas robots.txt failas pašalina dviprasmybes. Jis padeda robotams koncentruoti savo nuskaitymo biudžetą (angl. crawl budget) ties tuo turiniu, kuris iš tiesų kuria vertę ir nusipelno būti atrastas, užuot švaisčius resursus administravimo prisijungimų šiukšlėms, begaliniams paieškos rezultatų puslapiams, laikinoms parametrų kilpoms, pirkinių krepšelių fragmentams ar privatiems testavimo kampeliams. Dideliam el. prekybos portalui ar portalui su šimtais tūkstančių puslapių tai nėra tik kosmetinis patobulinimas — tai gyvybiškai svarbi nuskaitymo ekonomija.

Tačiau tas pats kuklus tekstinis failas gali viena neatsargia eilute sužlugdyti visą svetainės matomumą. Viena vienintelė direktyva Disallow: / po User-agent: * veikia kaip staigus ir visiškas saulės užtemimas: ji akimirksniu užblokuoja visą domeną nuo visų indeksavimo robotų. Išteklių aplankų (CSS stilių, JavaScript bibliotekų, šriftų ar paveikslėlių) blokavimas atima iš paieškos robotų galimybę pilnavertiškai sugeneruoti ir suprasti puslapio vaizdinę struktūrą. Nutildytos ar klaidingai nurodytos sitemap nuorodos sukuria nereikalingą rūką. Sukaupus daugybę archajiškų taisyklių iš senų migracijų ar buvusių agentūrų, failas virsta sunkiai suprantamu palimpsestu, pilnu panikos taisymų ir paveldėtų prietarų.

Failas robotams, bet viešai matomas absoliučiai visiems

Vienas labiausiai paplitusių ir pavojingiausių mitų internete — įsitikinimas, kad robots.txt gali ką nors paslėpti nuo smalsių akių. Taip nėra. Šis failas pagal savo prigimtį yra 100% viešas. Jei administratorius jame įrašo kelius, tokius kaip /backup/, /staging-v2/, /senas-tinklalapis/, /admin-export.sql ar kokį nors pamirštą /temp-orders/ aplanką, šie pavadinimai tampa akimirksniu perskaitomi bet kuriam žmogui, tiesiog atsidariusiam naršyklę. Tokiu atveju draudimo taisyklė veikia ne kaip šydas, o greičiau kaip ryškus rodyklės ženklas, prikaltas prie viešos skelbimų lentos.

Štai kodėl profesionalus robots.txt auditas visada kelia du lygiagrečius klausimus. Pirmasis: ar failas neblokuoja teisėto indeksavimo, atvaizdavimo, turinio atradimo ir sitemap apdorojimo? Antrasis: ar failas neatskleidžia jautrių, vidinių ar saugumui pavojingų infrastruktūros kampelių, kurių protingas operatorius niekada nenorėtų afišuoti? SEO optimizacija ir kibernetinis saugumas čia susitinka toje pačioje pastraipoje.

Ką disciplinuotas robots.txt failas atlieka nepriekaištingai

Disciplinuotas ir profesionaliai sukonstruotas failas dažniausiai pasižymi glaustumu, tikslingumu ir beveik vienuolišku santūrumu. Jame aiškiai ir tvarkingai įvardijamos robotų grupės. Direktyvos Allow ir Disallow naudojamos pamatuotai, be karštligiško pertekliaus. Jame visada pateikiama absoliuti nuoroda į galiojantį XML Sitemap žemėlapį. Jame vengiama dekoratyvinių ar pasenusių komandų, kurios skamba įspūdingai, tačiau modernių paieškos variklių yra ignoruojamos. Jis nebando išspręsti kiekvienos smulkios URL anomalijos — didelės vertės išimtys paliekamos robots.txt, o visa kita patikima geresniems mechanizmams: kanoninėms žymoms (angl. canonical tags), URL parametrų tvarkymui, HTTP būsenų kodams, vidinei nuorodų struktūrai ir serverio lygio autentifikacijai.

Praktikoje tai reiškia, kad blokuojami tie puslapiai, kurie be reikalo eikvoja roboto dėmesį: paieškos rezultatų kilpos, daugiapakopiai filtrų labirintai, sesijų identifikatoriai, prekių krepšelio puslapiai ir administravimo skydai. Tuo tarpu vieši straipsniai, kategorijų medžiai, nuolatiniai resursai, vaizdai ir atvaizdavimui būtini CSS bei JS failai išlieka pilnai atviri.

Kur dažniausiai suklystama robots.txt failuose

Kai kurie failai suklumpa dėl brutalumo — jie užblokuoja per daug. Ištisi esminiai svetainės skyriai pradingsta iš nuskaitymo kelių. Uždraudus prieigą prie CSS ir JS failų, paieškos robotai puslapį mato kaip išdarkytą, nepilną skeletą, kas lemia prastus mobiliosios versijos ir naudotojo patirties įvertinimus. Kiti failai kenčia nuo bailumo ar apleistumo: juose nėra nei sitemap nuorodos, nei aiškios logikos, o tik tuščias ar numatytasis įskiepio šablonas.

Galiausiai egzistuoja vadinamasis „krovinių kulto“ (angl. cargo-cult) paveldas: aklai nukopijuotos taisyklės iš senų interneto forumų, prieš dešimtmetį rašytų tinklaraščių ar ankstesnių programuotojų palikimo. Dažnai galima pamatyti tokių klaidų kaip Noindex: /puslapis įrašymas tiesiai į robots.txt failą — taisyklė, kurios „Google“ oficialiai nepalaiko jau daugelį metų. Šiuolaikiniame žiniatinklyje tokie užkalbėjimai tėra beprasmis folkloras.

Skirtumas tarp nuskaitymo ir indeksavimo kontrolės

Vartotojai ir net pradedantieji specialistai dažnai painioja sąvokas nuskaitymas (crawling) ir indeksavimas (indexing), nes šie veiksmai vyksta greta vienas kito. Tačiau tai nėra tas pats. Jei URL adresas blokuojamas per robots.txt, robotui liepiama neatsiimti to puslapio turinio. Tačiau tai nereiškia, kad tas puslapis niekada nepasirodys paieškos rezultatuose — jei į jį veda stiprios išorinės nuorodos, „Google“ gali įtraukti URL į indeksą be turinio aprašymo. Priešingai, jei puslapis yra pilnai atviras nuskaitymui, jis vis tiek gali būti neindeksuojamas dėl noindex žymos, kanonizacijos ar prastos kokybės.

robots.txt niekada neturėtų būti laikomas magišku jungikliu. Tai nėra pakaitalas meta name="robots" content="noindex" žymai, nėra slaptažodžio apsauga ir nėra ugniasienė. Tai rekomendacinis protokolinis susitarimas, kuris reikalauja inžinerinio tikslumo ir neatleidžia fantastinių iliuzijų.

Kodėl Sitemap žemėlapiai yra būtina failo dalis

Nuoroda į XML Sitemap failą robots.txt dokumente yra kukli, tačiau strategiškai galinga direktyva. Ji pateikia paieškos robotams kanoninį visos svetainės struktūros žemėlapį tiesiai prie pagrindinio įėjimo. Didelėms el. parduotuvėms, daugiakalbystės struktūroms ir naujai sukurtoms svetainėms su netolygiu vidinių nuorodų pasiskirstymu šis nurodymas sutaupo savaites laiko ir eliminuoja spėliones.

Čia slypi puiki ironija: tas pats failas vienu metu pasako, kur robotams griežtai negalima eiti, ir čia pat atskleidžia kelią, kur rasti visą svarbiausią turinį. Draudimas ir kvietimas gyvena tame pačiame paprasto teksto dokumente. Retoriniu požiūriu robots.txt yra pusiau slenkstis, pusiau rodyklė.

Praktinė nauda: daugiau nei formali SEO varnelė

Nuodugnus robots.txt auditas padeda ne tik paieškos pozicijoms. Jis atskleidžia pamirštus testavimo aplinkų kelius, neteisingai sukonfigūruotus nukreipimus, CDN tarpinių serverių klaidas, atsitiktinius serverio 404/500 klaidų HTML puslapius, kurie apsimeta tekstiniu failu, sintaksės klaidas ir neveikiančias svetainės žemėlapio nuorodas. Programuotojams tai parodo techninę skolą, svetainių savininkams paaiškina, kodėl svarbios prekių kategorijos neatsiduria „Google“, o agentūroms suteikia išsamų supratimą apie domeno priežiūros istoriją.

Patyręs specialistas, pažvelgęs į robots.txt, gali greitai nusakyti, kaip svetainė buvo valdoma: ar ji buvo prižiūrima su geometrine precizika, ar lipdoma skubotais lopais krizinėse situacijose.

Ką reiškia netikėti robots.txt pasikeitimai

Kai robots.txt failas netikėtai pasikeičia, tai beveik visada indikuoja gilesnius procesus: atliekamą svetainės migraciją, naujai įdiegtą SEO įskiepį, perrašytas serverio taisykles, panikos apimtą bandymą sumažinti serverio apkrovą ar net autorizuotos prieigos pažeidimą. Todėl kiekvienas pasikeitimas reikalauja neatidėliotino įvertinimo — viena neteisinga eilutė gali tapti organinio srauto griūties pradžia.

Nuskaitymo biudžetas (Crawl Budget) ir serverio resursų tausojimas

Kiekvienas domenas paieškos sistemų akyse turi vadinamąjį „nuskaitymo limitą“ (angl. crawl limit arba host load limit), kurį lemia serverio greitis, klaidų dažnumas ir svetainės populiarumas. Jei robotas, užuot analizavęs jūsų naujus produktus, šimtus tūkstančių kartų kreipiasi į rūšiavimo filtrus (pvz., ?sort=price_asc&filter_color=blue&page=42), nuskaitymo biudžetas išsenka, o vertingas turinys lieka nepastebėtas ištisus mėnesius. Tiksliai suformuluotos Disallow taisyklės padeda nukreipti roboto procesoriaus ciklą ten, kur generuojama tiesioginė vertė.

Protokolo istorija ir Martijn Koster palikimas

Robots Exclusion Protocol gimė dar 1994 metais, kai olandų inžinierius Martijn Koster sukūrė šį paprastą susitarimą po to, kai ankstyvieji primityvūs voratinklio robotai netyčia „nugriovė“ jo administruojamus serverius pernelyg agresyviomis užklausomis. Nors praėjo daugiau nei trys dešimtmečiai, o 2019 metais „Google“ pasiūlė oficialią IETF RFC 9309 specifikaciją, pamatinis mechanizmas išliko nepakitęs: paprastas tekstas, aiškios poros ir jokių perteklinių šifravimų. Tai vienas ilgiausiai be esminių lūžių veikiančių žiniatinklio susitarimų žmonijos istorijoje.

Kokybės vertinimo kriterijai ir analizatoriaus reikšmė

Vertinant failo kokybę, esminis klausimas yra paprastas: ar failas neblokuoja jokių viešų puslapių, kurie privalo generuoti srautą? Toliau tikrinama, ar neužvertos durys vaizdiniams ištekliams, ar sitemap nuorodos yra absoliučios ir veikiančios, ar nėra sintaksės klaidų ir ar failas grąžinamas su teisingu text/plain MIME tipu.

Tikrinant failą plika akimi lengva praleisti klastingas klaidas. Mūsų Robots.txt SEO analizatorius atlieka automatinį HTTP statuso kodų, nukreipimų grandinių, robotų grupių, sitemap nuorodų ir jautrių kelių saugumo skenavimą, paversdamas techninį protokolą aiškiomis ir veiksmingomis įžvalgomis.