Daugelis svetainių kūrėjų ir SEO specialistų susiduria su robots.txt failu kaip su kažkokia mistine esybe, kuri gali arba išgelbėti jūsų svetainę paieškos sistemose, arba ją visiškai sunaikinti. Tiesą sakant, šis failas nėra toks sudėtingas, kaip gali pasirodyti iš pirmo žvilgsnio, bet klaidos jame gali kainuoti brangiai.
Pirmiausia reikia suprasti, kad robots.txt yra paprastas tekstinis failas, kurį paieškos robotai tikrina prieš pradėdami indeksuoti jūsų svetainę. Jis veikia kaip toks „šviesoforas” – nurodo, kur robotai gali eiti, o kur ne. Problema ta, kad daugelis žmonių šį failą nustato pagal kažkokius šablonus iš interneto, nesuprasdami, ką iš tikrųjų daro.
Kodėl robots.txt nėra apsaugos priemonė
Viena didžiausių klaidų, kurią matau nuolat – žmonės mano, kad robots.txt apsaugo jų turinį nuo indeksavimo. Realybė yra tokia: robots.txt yra tik prašymas, o ne įsakymas. Paieškos robotai, kurie laikosi taisyklių (kaip Google, Bing), tikrai paisys jūsų nurodymų, bet kenkėjiški robotai ar scraper’iai juos tiesiog ignoruos.
Be to, jei užblokuosite puslapį robots.txt faile, Google vis tiek gali jį įtraukti į paieškos rezultatus, tik be aprašymo ir turinio fragmentų. Taip nutinka todėl, kad jei kiti puslapiai nuorodos į jūsų užblokuotą puslapį, Google vis tiek žino, kad jis egzistuoja. Jei tikrai norite, kad puslapis nebūtų indeksuojamas, turėtumėte naudoti meta tag’ą noindex arba X-Robots-Tag HTTP antraštę.
Pagrindinis robots.txt struktūros supratimas
Robots.txt failas turi būti patalpintas svetainės šakniniame kataloge – tai reiškia, kad jis turi būti pasiekiamas adresu https://jusudomenas.lt/robots.txt. Jokiame kitame kataloge jis neveiks. Failas yra jautrus didžiosioms raidėms, nors pats failo pavadinimas turėtų būti mažosiomis.
Pagrindinis failo formatas yra gana paprastas. Jame naudojamos kelios pagrindinės direktyvos:
- User-agent: nurodo, kuriam robotui taikomos taisyklės
- Disallow: nurodo, ko robotas negali indeksuoti
- Allow: leidžia indeksuoti tam tikrus dalykus (naudinga, kai norite išimčių)
- Sitemap: nurodo jūsų XML sitemap’o vietą
- Crawl-delay: nurodo, kiek laiko robotas turėtų laukti tarp užklausų
Štai paprasčiausias pavyzdys:
User-agent: * Disallow: /admin/ Disallow: /private/ Sitemap: https://jusudomenas.lt/sitemap.xml
Šis pavyzdys sako visiems robotams (*), kad jie neturėtų indeksuoti /admin/ ir /private/ katalogų, ir nurodo, kur rasti sitemap failą.
Dažniausios klaidos ir kaip jų išvengti
Per savo karjerą mačiau visokių robots.txt failų, ir kai kurie iš jų buvo tikri katastrofos. Viena įmonė atsitiktinai užblokavo visą savo svetainę nuo Google indeksavimo ir stebėjosi, kodėl jų organinis srautas nukrito iki nulio. Pasirodo, jų robots.txt atrodė taip:
User-agent: * Disallow: /
Ši viena eilutė „Disallow: /” reiškia „neindeksuok nieko”. Tai kaip pakabinti užrašą „Uždaryta” ant savo verslo durų ir stebėtis, kodėl niekas neateina.
Kita dažna klaida – per daug blokuoti. Žmonės kartais blokuoja CSS, JavaScript ar vaizdo failus, manydami, kad tai pagreitins indeksavimą. Realybė yra priešinga – Google nori matyti jūsų svetainę taip, kaip ją mato vartotojai. Jei užblokuosite CSS ir JS, Google gali nuspręsti, kad jūsų svetainė nėra mobile-friendly, net jei ji tokia yra.
Štai ko NETURĖTUMĖTE daryti:
User-agent: * Disallow: /css/ Disallow: /js/ Disallow: /images/
Taip pat būkite atsargūs su parametrais. Jei turite e-komercijos svetainę su filtravimo parametrais, galite sugeneruoti tūkstančius dubliuotų puslapių. Bet blokuoti visus parametrus nėra geriausias sprendimas – geriau naudoti canonical tag’us arba URL Parameters įrankį Google Search Console.
Specifiniai robotai ir kaip su jais elgtis
Ne visi robotai yra vienodi. Google turi kelis skirtingus robotus – Googlebot (pagrindinis), Googlebot-Image (vaizdams), Googlebot-News (naujienoms) ir kitus. Kartais gali prireikti skirtingų taisyklių skirtingiems robotams.
Pavyzdžiui, jei nenorite, kad jūsų vaizdai būtų indeksuojami Google Images, bet norite, kad tekstinis turinys būtų indeksuojamas, galite padaryti taip:
User-agent: Googlebot-Image Disallow: / User-agent: Googlebot Allow: /
Yra ir kitų robotų, kuriuos galbūt norėsite blokuoti. Pavyzdžiui, GPTBot (OpenAI robotas, kuris renka duomenis AI mokymui) ar CCBot (Common Crawl robotas). Jei nenorite, kad jūsų turinys būtų naudojamas AI modelių mokymui, galite pridėti:
User-agent: GPTBot Disallow: / User-agent: CCBot Disallow: /
Bet prisiminkite – tai vėlgi tik prašymas. Jei kas nors naudoja šiuos robotus nepaisydamas robots.txt, jūs nieko negalite padaryti vien per šį failą.
Wildcards ir reguliarios išraiškos
Robots.txt palaiko keletą specialių simbolių, kurie gali labai palengvinti gyvenimą. Svarbiausi yra žvaigždutė (*) ir dolerio ženklas ($).
Žvaigždutė reiškia „bet kokia simbolių seka”. Pavyzdžiui:
User-agent: * Disallow: /*.pdf$
Ši taisyklė blokuos visus PDF failus, nepriklausomai nuo to, kuriame kataloge jie yra. Dolerio ženklas nurodo eilutės pabaigą, todėl tai blokuos tik failus, kurie baigiasi .pdf, bet ne, pavyzdžiui, /pdf-viewer/.
Kitas naudingas pavyzdys – blokuoti visus URL su tam tikru parametru:
User-agent: * Disallow: /*?sessionid=
Tai užblokuos visus URL, kuriuose yra sessionid parametras, nepriklausomai nuo to, kas yra prieš ar po jo.
Testavimas ir validacija
Parašyti robots.txt failą yra viena, bet įsitikinti, kad jis veikia taip, kaip tikitės – visai kas kita. Google Search Console turi puikų robots.txt testerį, kuris leidžia patikrinti, ar konkretus URL būtų užblokuotas ar ne.
Prieš įkeliant naują robots.txt failą į produkciją, visada jį išbandykite. Galite sukurti testinį failą ir patikrinti kelis URL pavyzdžius. Štai ką turėtumėte patikrinti:
- Ar jūsų pagrindiniai puslapiai nėra užblokuoti?
- Ar administravimo puslapiai yra užblokuoti?
- Ar CSS ir JavaScript failai yra prieinami?
- Ar sitemap nuoroda veikia?
- Ar nėra sintaksės klaidų?
Taip pat galite naudoti įvairius online įrankius, kurie analizuoja jūsų robots.txt failą ir nurodo potencialias problemas. Bet nepasitikėkite visiškai automatiniais įrankiais – jie ne visada supranta jūsų svetainės specifiką.
Praktiniai šablonai skirtingoms svetainėms
Skirtingos svetainės reikalauja skirtingų robots.txt konfigūracijų. Štai keli praktiniai pavyzdžiai.
Paprastas tinklaraštis ar portfolio:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Disallow: /wp-includes/ Disallow: /wp-content/plugins/ Disallow: /wp-content/cache/ Disallow: /wp-content/themes/ Disallow: /trackback/ Disallow: /feed/ Disallow: /comments/ Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Sitemap: https://jusudomenas.lt/sitemap.xml
E-komercijos svetainė:
User-agent: * Disallow: /checkout/ Disallow: /cart/ Disallow: /my-account/ Disallow: /*?add-to-cart= Disallow: /*?orderby= Disallow: /*?filter_ Disallow: /search/ Allow: /wp-content/uploads/ User-agent: GPTBot Disallow: / Sitemap: https://jusudomenas.lt/sitemap.xml Sitemap: https://jusudomenas.lt/product-sitemap.xml
Naujienų portalas:
User-agent: * Disallow: /admin/ Disallow: /user/ Disallow: /search/ Disallow: /*?print= Allow: / User-agent: Googlebot-News Allow: / Sitemap: https://jusudomenas.lt/news-sitemap.xml Sitemap: https://jusudomenas.lt/sitemap.xml
Šie šablonai yra tik atspirties taškai. Jūsų konkreti situacija gali reikalauti modifikacijų. Svarbiausia – suprasti, ką kiekviena eilutė daro, o ne tiesiog kopijuoti ir įklijuoti.
Kai robots.txt neužtenka ir ką daryti toliau
Robots.txt yra tik viena SEO įrankių dalis. Jis puikiai tinka kontroliuoti, ką robotai gali crawl’inti, bet ne visada yra geriausias sprendimas indeksavimo kontrolei.
Jei turite puslapių, kurių tikrai nenorite paieškos rezultatuose, naudokite meta robots tag’ą su noindex direktyva. Jis atrodo taip:
<meta name="robots" content="noindex, follow">
Arba galite naudoti HTTP antraštę:
X-Robots-Tag: noindex
Skirtumas tarp robots.txt ir noindex yra esminis: robots.txt neleidžia robotui aplankyti puslapio, o noindex leidžia aplankyti, bet liepia neįtraukti į indeksą. Jei naudojate robots.txt blokuoti puslapį, kuriame yra noindex tag’as, robotas niekada nepamatys to tag’o ir puslapis vis tiek gali būti įtrauktas į indeksą (be turinio).
Taip pat verta paminėti canonical tag’us, kurie nurodo pageidaujamą puslapio versiją, kai turite dubliuotą turinį. Ir URL Parameters įrankį Google Search Console, kuris leidžia nurodyti, kaip Google turėtų elgtis su URL parametrais.
Galiausiai, reguliariai stebėkite savo svetainės indeksavimą per Google Search Console. Coverage ataskaita parodys, ar yra puslapių, kurie užblokuoti robots.txt, bet vis tiek bando būti indeksuojami, arba atvirkščiai – puslapių, kurie turėtų būti indeksuojami, bet nėra.
Robots.txt failas nėra „nustatyk ir pamiršk” dalykas. Jūsų svetainė keičiasi, jūsų poreikiai keičiasi, ir paieškos sistemų robotai taip pat keičiasi. Kas kelis mėnesius peržiūrėkite savo robots.txt, patikrinkite, ar visos taisyklės vis dar aktualios, ir pakoreguokite pagal poreikį. Kartais mažas pakeitimas gali turėti didelį poveikį – tiek teigiamą, tiek neigiamą. Todėl visada testuokite pakeitimus ir stebėkite rezultatus. Ir svarbiausia – nesibaiminkite eksperimentuoti, bet darykite tai protingai, su atsarginėmis kopijomis ir aiškiu supratimu, ką darote.

