Vedomostná báza » Blog » SEO

Robots.txt - na čo slúži a ktorým chybám sa treba vyhnúť pri jeho vytváraní?

Aktualizované: 2020-06-03  
(13 min. čítania)
Vyplnenie súboru robots.txt je jedným z najjednoduchších spôsobov, ako ovplyvniť spôsob, akým roboti prehliadajú web. Jeho vytvorenie je jednou z najbežnejších činností. Čo by sme o ňom mali vedieť a čo stojí za zmienku? Je dobré ho používať napriek tomu, že veľa robotov má vo zvyku ignorovať jeho záznamy? Spracúvajú všetky vyhľadávacie nástroje súbor robots.txt rovnako? Pozrime sa na to.

Čo je to robots.txt?

Súbor robots.txt sa používa na poskytovanie informácií robotom vyhľadávacieho nástroja a crawl programom (programom na prehľadávanie) o tom, čo by mali robiť a čo by na stránke nemali robiť. Príkazy sa posielajú pomocou protokolu Robots Exclusion Protocol, treba však poznamenať, že niektoré vyhľadávacie nástroje vyhlasujú, že príkazy obsahujú neštandardné položky. Medzi základné položky patria správy, o tom, ktoré časti stránky by roboti nemali čítať, hoci existuje viac možností použitia súboru robots.txt.

Trochu histórie

Protokol Robots Exclusion Protocol bol vytvorený doslova pred štvrťstoročím, vo februári 1994 - a odvtedy sa veľmi nezmenil, s výnimkou vyššie uvedených neštandardných záznamov. Pretože v dňoch svojej „mladosti“ existovalo na trhu veľa vyhľadávacích nástrojov (stačí spomenúť AltaVista, HotBot, Lycos alebo InfoSeek - a zoznam bol nakoniec oveľa dlhší), rýchlo sa stal neoficiálnym štandardom. Tu by sme však mali spomenúť, že tento štandard je atypický, pretože záznam stále bol a je len návrhom, ktorý roboti často nerešpektujú alebo rešpektujú iba čiastočne.

Je zaujímavé, že v júli 2019 spoločnosť Google - ktorej boti sa tiež nie vždy úplne riadia príkazmi uloženými v súboroch robots.txt - navrhla, aby bol protokol Robots Exclusion Protocol považovaný za oficiálny štandard. Môže to v súčasnosti zmeniť spôsob používania súboru robots.txt? Teoreticky nie. Môže to však viesť k diskusiám o zavedení nových položiek, ktoré by mohli pomôcť pri efektívnejšej „kontrole“ robotov vyhľadávacích nástrojov.

Ktorí roboti čítajú súbor robots.txt?

Súbor robots.txt je určený pre všetky automatizované systémy vstupujúce na web. To sa netýka iba najsamozrejmejších robotov vyhľadávacích nástrojov z hľadiska SEO. Roboti, ktorým sú adresované príkazy tohto súboru, sú tiež automatické archivujúce systémy (napríklad Web Archive), programy, ktoré sťahujú stránku na lokálny disk (napr. HTTrack Website Copier), nástroje na analýzu webových stránok (vrátane SEO nástrojov ako Xenu, ale tiež roboti Mejestic SEO a Ahrefs) atď.

Samozrejme, že v mnohých prípadoch by sa tvorcovia nemali starať o príkazy. Na druhej strane niektoré roboty umožňujú svojim používateľom vybrať si, či budú dodržiavať zistené príkazy.

Prečo používať súbor robots.txt?

To je základná otázka, ktorú stojí za to sa opýtať - najmä v súvislosti s niekoľkokrát uvedenými informáciami, že s rešpektovaním zápisov v súbore robots.txt to býva rôzne. Odpoveď je jednoduchá: malá kontrola nad robotmi je stále lepšia ako žiadna. A čo z toho môžete získať? Po prvé, neumožníte automatizovaným systémom prehliadať tie časti webovej stránky, ktoré by nemali navštíviť (z rôznych dôvodov), a ukážete im miesta, ktoré chcete a ktoré sú najlepšie.

Blokovanie konkrétnych častí stránky môže byť dôležité z rôznych dôvodov:

  • Otázka bezpečnosti - možno nechcete, aby sa roboti (alebo náhodní používatelia, ktorí neskôr využijú zdroje indexované robotmi) dostali do sekcií, ku ktorým by nemali mať príliš jednoduchý prístup.
  • Ochrana proti duplicitnému obsahu - ak je na stránke veľké množstvo interne duplikovaného obsahu a zároveň URL schéma umožňuje jeho jasnú identifikáciu, pomocou súboru robots.txt môžete vyhľadávacím nástrojom dať signál, že táto časť stránky by nemala byť prehľadávaná.
  • Úspora prenosu - pomocou záznamov robots.txt sa môžete pokúsiť odstrániť z cestičiek, po ktorých sa roboti pohybujú, celé pod-adresáre alebo špecifické typy súborov - dokonca aj priečinok obsahujúci grafiky alebo ich verzie vo vysokom formáte. Pre niektoré webové stránky môžu byť úspory pri prenose značné.
  • Ochrana obsahu pred „únikom“ von – treba poznamenať, že vyššie uvedenú ochranu priečinka s veľkoformátovou grafikou možno použiť aj na to, aby sme vo vyhľadávacom nástroji na obrázky prezentovali iba menšie verzie. To môže byť dôležité v prípade foto bánk (ale nielen pre ne).
  • Optimalizácia crawl budgetu (alebo rozpočtu na indexové prehľadávanie) - hoci je to spomínané na konci zoznamu, rozhodne to nie je triviálne. Čím je web väčší, tým väčší dôraz by sa mal klásť na optimalizáciu cestičiek, ktorými sa pohybujú roboty indexovania vyhľadávacieho nástroja. Blokovaním stránok, ktoré nie sú relevantné pre SEO v súbore robots.txt, jednoducho zvyšujete pravdepodobnosť, že sa roboti presunú tam, kam majú.

Základné príkazy v robots.txt: user-agent, allow a disallow

Poďme na koreň veci: ako by mal vyzerať súbor robots.txt. Podľa definície by to mal byť textový súbor umiestnený v koreňovom adresári webovej stránky, ktorej sa týka. Jeho hlavnými, najbežnejšími príkazmi sú user-agent, allow a disallow. Pomocou prvého môžeme určiť, pre ktorých robotov je dané pravidlo určené. Ďalšie dve naznačujú, ku ktorým oblastiam by mal mať robot prístup a kde nie je vítaný.

Je potrebné si uvedomiť, že súbor robots.txt podporuje premennú vo forme hviezdičky (*) a cesty k súborom, na ktoré sa príkaz vzťahuje, by mali byť vždy niečím vyplnené, hoci len lomkou (/). Nedostatočne vyplnené políčko bude ignorované.

Príkladom správneho vyplnenia je napríklad:

User-agent: *
Allow: /

- to znamená, že všetci roboti môžu indexovať celú stránku. Podobne:

User-agent: *
Disallow: /img/

- znamená odmietnutie prístupu do /img/ adresára.

Na druhej strane:

User-agent: *
Disallow:

- neznamená nič z dôvodu chýbajúcej deklarovanej cesty po príkaze o zákaze.

V jednom súbore robots.txt môže byť, samozrejme, viac allow a disallow políčok. Príklad? Nech sa páči:

User-agent: *
Allow: /
Disallow: /img/
Disallow: /panel/

- to znamená, že roboti môžu navštíviť celý web, s výnimkou priečinkov /img/ a /panel/.

Je potrebné dodať, že samotné príkazy sa môžu vzťahovať nielen na celé adresáre, ale aj na jednotlivé súbory.

Poradie príkazov allow a disallow v súbore robots.txt

V prípade, že sa vyskytne problém s interpretáciou príkazov allow a disallow, napríklad ak chcete zakázať robotom prístup do adresára, ale urobiť výnimku pre konkrétny podadresár, nezabudnite, že povoľovacie príkazy by mali byť nad zakazovacími - napríklad:

User-agent: *
Allow: /
Allow: /img/miniatury/
Disallow: /img/

User-agent: Ahrefsbot
Disallow: /

User-agent: MJ12bot
Disallow: /

Vo vyššie uvedenom príklade som práve ukázal prípad, keď sa pre niektoré roboty použili osobitné pravidlá - týmto spôsobom „požiadate“ robotov Ahrefs a Majestic SEO, aby sa nepohybovali po stránke.

Príkaz Sitemap

Okrem „pozvánok“ a odporučenia na preskočenie adresárov sa dá súbor robots.txt použiť aj na zobrazenie umiestnenia mapy stránok robotom. Používa sa na to príkaz sitemap, po ktorom nasleduje úplná cesta k mape. Príklad vyššie uvedeného vyzerá takto:

Sitemap: http://www.domena.com/mapastrony.xml

Samozrejme môžete uviesť viac máp, čo môže byť užitočné pre veľmi zložité webové stránky.

Príkaz Crawl-delay

Pre veľmi veľké webové stránky často vzniká dilema - na jednej strane môžu ich majitelia chcieť indexovať celé stránky, na druhej strane, nadmerná aktivita robotov vyhľadávacích nástrojov môže spotrebovať pomerne veľa prenosu a zaťažuje server neustále novými dopytmi. Nápadom na vyriešenie tohto problému bolo zavedenie používania na mieru šitého príkazu Crawl delay (oneskorenie indexového prehľadávania).

Používa sa na informovanie robotov, že by nemali sťahovať nové súbory častejšie ako každých x sekúnd, čo znamená predĺženie práce robota v čase. Príkladom takéhoto postupu je:

User-agent: *
Crawl-delay: 2

- to znamená sťahovanie následných dokumentov každé dve sekundy.

Treba si však uvedomiť, že väčšina vyhľadávacích nástrojov s týmto príkazom zaobchádza úplne slobodne, a často ho jednoducho ignoruje. Google nejaký čas komunikoval irelevantnosť tohto príkazu a nakoniec v júli 2019 oficiálne oznámil, že ho nepodporuje. Bing vyhlásil, že BingBot záznam číta, pričom jeho hodnota musí byť medzi 1 a 30. Yandex túto smernicu teoreticky podporuje, hoci s jej rešpektovaním je to v praxi rôzne.

Zaujímavé je, že český vyhľadávací nástroj Seznam navrhuje použiť iný príkaz, a to request-rate s priradenou hodnotou založenou na počte dokumentov, lomkou a časom vo forme čísla a jednotky (s ako sekundy, m ako minúty, h ako hodiny a d ako dní, vždy bez medzier za číslom). Príkladom môže byť toto:

User-agent: SeznamBot
Request-rate: 500/1h

alebo:

User-agent: SeznamBot
Request-rate: 100/20m

Seznam vyhlásil, že príkaz by nemal vyžadovať pomalšiu indexáciu ako jeden dokument každých 10 sekúnd.

Príkaz Clean-param

Veľmi zaujímavý príkaz, ktorý je ale všeobecnou normou, je Clean-param. Tento príkaz čítajú roboti vyhľadávacieho nástroja Yandex a umožňuje ignorovať konkrétne parametre priradené k adresám na určených cestách.

Ako to funguje v praxi? Predpokladajme, že na vašej stránke sú adresy:

domena.com/katalog/strona?tlo=1&id=3
domena.com/katalog/strona?tlo=2&id=3
domena.com/katalog/strona?tlo=3&id=3

Čo sa stane, ak premenná „tlo“ (pozadie) iba zmení vzhľad stránky, ktorá má stále rovnaký obsah? V takýchto prípadoch Yandex navrhuje použiť parameter clean-param. Vhodný záznam môže vyzerať takto:

User-agent: Yandex
Clean-param: tlo /katalog/

- čo znamená, že všetky tri adresy uvedené v predchádzajúcom príklade sa budú čítať ako:

domain.com/catalog/page?id=3

Ako vidíte, tento príkaz je naozaj výhodný, pretože sa môže obmedziť na konkrétne adresáre.

Príkaz Host

Medzi vlastné príkazy súboru robots.txt patrí aj príkaz host. Je ignorovaný väčšinou vyhľadávacích nástrojov, bol však nejaký čas spomínaný na stránkach pomoci Yandex-u, no jeho popis už zmizol.

Príkaz host sa používa (alebo skôr používal sa) ako indikácia preferovanej domény, v prípade, že máte niekoľko zrkadlových stránok umiestnených na rôznych adresách. Dôležité je, že v jednom súbore robots.txt by mal byť nanajvýš jeden host príkaz (ak ich je tam umiestnených viac, ďalšie sú ignorované) a položka domény za host príkazom nemôže obsahovať chyby alebo čísla portov.

Príklad:

Host: domain.com

Bohužiaľ neviem, či príkaz stále funguje, ale môžem predpokladať, poznajúc vynaliezavosť SEO špecialistov, že ich len pokúšal k rôznym experimentom s umiestnením na nie presne také domény, na ktorých by mal byť. Ako útechu pre „bežných webmasterov“ je potrebné uviesť, že keď Yandex tento príkaz na svojich stránkach spomínal, prezentoval ho len ako „návrh“ pre robotov - preto ho nepovažoval za povinný.

Chyby v súbore robots.txt a ich následky

Aj keď sa obsah súboru robots.txt môže použiť na to, aby sme sa s robotmi vyhľadávacích nástrojov „dohodli“, môže to tiež spôsobiť zlyhanie vašich stránok. Ako? Vylúčením takého obsahu z vyhľadávania, ktorý by sa mal objaviť v indexe. Výsledkom môže byť výrazná strata viditeľnosti vo výsledkoch vyhľadávania. Najmä v prípade rozšírených súborov robots.txt s mnohými položkami v rôznych podadresároch je ľahké urobiť niekde chybu a vylúčiť príliš veľa častí stránky.

Druhou hlavnou chybou je pokrytie všetkých obrázkov, CSS štýlov a Java Script súborov príkazom disallow. Môže sa to zdať ako dobrý ťah, ale realita je trochu odlišná z dvoch dôvodov. V prvom rade je dobré, ak sa vaša stránka nachádza vo výsledkoch vyhľadávania obrázkov (hoci, samozrejme, môžete zakázať prístup napríklad k veľkoformátovým verziám, čo som už spomenul).

Druhý dôvod je však dôležitejší a je to renderovanie alebo vykreslenie webu Google Botom. Ak robotovi nepovolíte prístup k súborom, ktoré sú dôležité pre konečný vzhľad stránky, vyrenderuje ju bez nich, čo môže v niektorých prípadoch spôsobiť jej neúplnosť - a to môže ovplyvniť hodnotenie.

Mali by ste pri vytváraní súboru robots.txt venovať pozornosť jeho veľkosti?

John Mueller, svojho času zamestnanec spoločnosti Google, vo svojom profile Google+ raz uviedol, že maximálna veľkosť súboru robots.txt je 500 KB. Preto možno dospieť k záveru, že problém je abstraktný, pretože takéto rozšírenie zoznamu príkazov by bolo absurdné. Je však potrebné snažiť sa o zabezpečenie toho, aby ani krátky súbor robots.txt nadmerne nerástol a jednoducho si zachoval čitateľnosť pre ... niekoho, kto sa naň bude musieť pozrieť a prípadne ho doplniť alebo upraviť.

Okrem toho musíte pamätať na to, že ide iba o akceptovanú hodnotu Google Botom - v prípade ostatných vyhľadávacích nástrojov sa môže veľkosť akceptovaného súboru robots.txt líšiť.

Je blokovanie stránky v súbore robots.txt postačujúce?

Bohužiaľ nie. Po prvé, roboty hlavného vyhľadávača nie vždy dodržiavajú zákazy (nehovoriac o tom, ako k nim niektoré ďalšie nástroje pristupujú). Po druhé, aj po prečítaní zákazu môže Google vstúpiť na stránku a pridať ju do indexu, pričom zohľadní iba jej názov a URL adresu a niekedy pridá nasledujúce vyhlásenie „Informácie o tejto stránke nie sú k dispozícii“.

Na takúto stránku je teda stále možné sa dostať z úrovne vyhľadávacieho nástroja, hoci je to nepravdepodobné. Navyše roboti stále prechádzajú takýmito stránkami po následných odkazoch, aj keď už neposkytujú link juice a ich hodnotenie nezahŕňa údaje vyplývajúce z ich obsahu.

Čo iné okrem súboru robots.txt?

Ak chcete vylúčiť konkrétne časti stránky z indexov vyhľadávacieho nástroja, môžete vždy navyše použiť robots meta tag umiestnený v časti <HEAD> jednotlivých podstránok:

<meta name="robots" content="noindex, nofollow" />

- stále nejde o metódu zabezpečujúcu 100% úspech (a navyše je to menej pohodlné), ale ide o ďalší signál pre robotov.

Ale čo ak chcete úplne zablokovať prístup pre botov a náhodných ľudí? V tejto situácii, namiesto pasívnych metód, vypočítaných tak, že sa nikto nedokliká na dané miesto, je oveľa lepšie jednoducho chrániť danú časť stránky heslom (dokonca aj prostredníctvom htaccess).

Teoreticky môžete siahnuť aj po polovičných opatreniach, napríklad vo forme blokovania prístupu na volania z konkrétnych adries a IP tried (takých, ktoré používajú roboti vyhľadávacích nástrojov), ale v skutočnosti by stačilo vynechať niektoré adresy a problém by bol stále tu - a to nás zas vedie k záveru, že úplnú bezpečnosť zabezpečí nútená autorizácia.

Zhrnutie

Nakoniec nám ostáva vrátiť sa k problému dôsledkov možných chýb pri vypĺňaní súboru robots.txt. Čokoľvek tam napíšete, treba pamätať na to, aké môžu byť následky a ... čo má byť vlastne cieľ. Ak chcete niečo indexovať, venujte pozornosť tomu, či to povedie k vedľajším účinkom (pozri príklad s problémami s renderovaním stránky pomocou Google Bota). Ak vám záleží na problémoch so zabezpečením, nezabudnite, že vylúčenie Googlu z indexácie stále nebráni prístupu automatickým scrapovacím nástrojom.

Ak máte ešte stále pocit, že potrebujete ďalšie informácie, môžete si prečítať ďalšie články na našom blogu.

Vaše komentáre (0)
Tím WhitePress® si vyhradzuje právo odstrániť komentáre, ktoré nie sú v súlade s Obchodnými podmienkami pre zverejňovanie komentárov, alebo ktoré sú v rozpore so zákonom a dobrými mravmi.
Správcom osobných údajov fyzických osôb využívajúcich webovú stránku whitepress.com a všetky jej podstránky (ďalej len Služba) v zmysle Nariadenia Európskeho parlamentu a Rady (EÚ) 2016/679 z 27. apríla 2016 o ochrane fyzickými osobami v súvislosti so spracúvaním osobných údajov a o voľnom pohybe týchto údajov a o zrušení smernice 95/46/ES (ďalej len: GDPR) je spoločne „WhitePress“ Spółka z ograniczoną odpowiedzialnością so sídlom v Bielsko-Biała na adrese ul. Legionów 26/28, zapísaná do registra podnikateľov Národného súdneho registra vedeného Okresným súdom v Bielsko-Biała, 8. ekonomický úsek Národného súdneho registra pod číslom KRS: 0000651339, NIP: 9372667797, REGON: 243400145 a iné spoločnosti zo skupiny WhitePress Group (ďalej len: Správca).

Registráciou na odber noviniek súhlasíte so zasielaním obchodných informácií prostredníctvom elektronických komunikačných prostriedkov, najmä e-mailu, týkajúcich sa priameho marketingu služieb a produktov ponúkaných spoločnosťou WhitePress s.r.o. a jej dôveryhodných obchodných partnerov so záujmom o marketing vlastného tovaru alebo služieb. Právnym základom spracovania vašich osobných údajov je udelený súhlas (čl. 6 ods. 1 písm. a) GDPR).

Kedykoľvek máte právo odvolať súhlas so spracovaním vašich osobných údajov na marketingové účely. Pre viac informácií o spracúvaní a právnom základe spracúvania vašich osobných údajov spoločnosťou WhitePress s.r.o., vrátane vašich práv, nájdete v našich Zásadách ochrany osobných údajov.
Viac informácií
Článok ešte nebol komentovaný.

Odporúčané články