Robots.txt je textový súbor v koreňovom adresári webu, ktorý hovorí vyhľadávacím robotom (crawlerom) ktoré časti webu môžu prehľadávať a ktoré nie. Ide o prvú vec, ktorú Googlebot alebo iný crawler skontroluje pred tým, než začne indexovať váš obsah.
Správne nastavený robots.txt šetrí crawl budget a zabraňuje indexovaniu stránok, ktoré v Google nemajú čo robiť, admin sekcie, duplicitný obsah, interné vyhľadávania. Zle nastavený robots.txt dokáže zablokovať celý web pred indexovaním. Videli sme to pri auditoch viackrát a oprava trvá minúty, ale dôsledky sa ťahajú týždne.
Robots.txt je súčasťou Robots Exclusion Protocol, štandardu z roku 1994, ktorý dodnes používajú všetky veľké vyhľadávače. Súbor musí byť umiestnený presne na adrese domena.sk/robots.txt. Nikde inde ho crawler nehľadá.
Hlavné funkcie robots.txt v praxi:
Dôležité upozornenie: robots.txt nie je bezpečnostný nástroj. Blokuje len "slušných" crawlerov, ktorí rešpektujú protokol. Citlivé dáta týmto spôsobom nechránite, na to potrebujete autentifikáciu alebo server-side ochranu.
Robots.txt musí byť v koreňovom adresári domény. Pre web example.sk to znamená example.sk/robots.txt. Crawler ho hľadá výlučne na tejto adrese, ak ho dáte do podpriečinka alebo premenujete, nebude fungovať.
Pri subdoménach platí pravidlo: každá subdoména potrebuje vlastný robots.txt. Súbor na www.example.sk/robots.txt neplatí pre blog.example.sk. Toto je častá chyba pri väčších projektoch s viacerými subdoménami.
Overenie je jednoduché, napíšte do prehliadača vašu doménu s /robots.txt na konci. Ak vidíte textový súbor s direktívami, máte ho nastavený. Ak dostanete 404, súbor neexistuje a crawlery majú voľný prístup všade.
Vytvorenie robots.txt je technicky triviálne, ide o obyčajný textový súbor. Otvorte Notepad alebo akýkoľvek textový editor, napíšte direktívy a uložte ako robots.txt (nie robots.txt.txt, čo je častá chyba vo Windows).
Súbor sa skladá z blokov, kde každý blok začína User-agent a obsahuje pravidlá Disallow alebo Allow:
Toto je základný robots.txt pre WordPress web alebo menší firemný web:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Sitemap: https://example.sk/sitemap.xml
Vysvetlenie: blokujete admin sekciu (okrem ajax súboru ktorý potrebujú niektoré funkcie), WordPress includes a interné vyhľadávanie. Na konci uvediete cestu k sitemap.
E-shopy majú špecifické potreby, tisíce URL z filtrov, triedenia a parametrov, ktoré nechcete v indexe:
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /*?orderby=
Disallow: /*?filter_
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.sk/sitemap_index.xml
Pri tvorbe e-shopov je robots.txt súčasťou technického SEO nastavenia od prvého dňa. Neriešiť to znamená plytvanie crawl budgetom a potenciálne problémy s duplicitným obsahom.
Direktíva Disallow blokuje prístup k URL ktorá začína daným reťazcom. Disallow: /admin/ zablokuje /admin/, /admin/login, /admin/settings/user, všetko čo začína na /admin/.
Allow slúži ako výnimka. Ak zablokujete celý adresár ale potrebujete povoliť konkrétny súbor, použijete kombináciu:
User-agent: *
Disallow: /private/
Allow: /private/public-file.pdf
Pravidlá sa vyhodnocujú podľa špecifickosti, dlhšia cesta má prednosť. Toto je dôležité vedieť pri komplexnejších nastaveniach.
Google a Bing podporujú dva špeciálne znaky:
Tieto wildcards nie sú súčasťou pôvodného štandardu, ale Google ich podporuje od roku 2008 a dnes ich akceptuje väčšina crawlerov.
Tu je dôležité rozlíšenie: robots.txt zakazuje crawlovanie, nie indexovanie. To je zásadný rozdiel, ktorý veľa ľudí nechápe.
Ak zablokujete URL cez Disallow, Google ju neprehľadá. Ale ak na túto URL vedú linky z iných webov, Google ju môže indexovať aj bez prehľadania, zobrazí sa v SERPe s popisom typu "Popis nie je dostupný kvôli robots.txt".
Pre úplné zabránenie indexovaniu potrebujete:
Najistejší postup: ak chcete stránku úplne vyradiť z indexu, použite noindex tag a neblokujte ju v robots.txt. Nechajte Google vidieť ten noindex.
Robots.txt generátory existujú a pre jednoduchý web postačia. Zadáte čo chcete blokovať, nástroj vygeneruje syntax. Problém je, že generátor nepozná špecifiká vášho webu, nevie ktoré URL parametre generujú duplicity, ktoré sekcie sú staging, čo je legacy obsah.
Pri komplexnejších weboch je manuálna tvorba nevyhnutná. Potrebujete prejsť štruktúru webu, identifikovať problematické URL vzory a nastaviť pravidlá presne podľa potreby. Generátor vám dá základ, ale finálnu verziu musíte doladiť.
V rámci tvorby webstránok nastavujeme robots.txt ako súčasť technického SEO, nie je to niečo čo sa rieši dodatočne, ale od začiatku projektu.
Za roky auditov sme videli tieto chyby opakovane:
Kontrolu robíte cez Google Search Console, sekcia robots.txt tester. Zadáte URL a uvidíte či je blokovaná a ktorým pravidlom.
Crawl budget je počet stránok, ktoré Googlebot prehľadá na vašom webe za dané obdobie. Pre menšie weby do pár stoviek stránok to nie je problém. Google ich prejde všetky. Pri e-shopoch s desaťtisícami URL je to kritické.
Ak máte 50 000 produktov a ku každému existuje 10 variant URL z filtrov a triedenia, máte 500 000 URL. Google neprejde všetky a vyberie si, často náhodne. Robots.txt vám umožňuje povedať: tieto URL neprechádzaj, sústreď sa na produktové stránky.
Pri B2B e-shope pre krby, ktorý sme robili pre Gabo Krby, bola správa crawl budgetu súčasťou technického nastavenia práve kvôli rozvetvenému katalogu s množstvom filtračných kombinácií.
Pred nasadením akýchkoľvek zmien do produkcie vždy testujte. Google Search Console má vstavaný nástroj na testovanie robots.txt, zadáte URL a uvidíte či je blokovaná.
Postup validácie:
Po nasadení sledujte v Search Console sekciu Pokrytie (Coverage). Ak sa objavia neočakávané chyby "Zablokované súborom robots.txt", máte problém ktorý treba riešiť.
Robots.txt je jednoduchý súbor s veľkým dopadom. Správne nastavený šetrí crawl budget, zabraňuje indexovaniu duplicít a drží citlivé sekcie mimo vyhľadávačov. Zle nastavený dokáže zhodiť organickú návštevnosť na nulu.
Základné pravidlá: súbor patrí do koreňového adresára, syntax musí byť presná, vždy testujte pred nasadením. A pamätajte, robots.txt blokuje crawlovanie, nie indexovanie. Pre úplné vyradenie z indexu potrebujete noindex.
Pre viac inšpirácie si pozrite naše projekty z praxe.
V BigWay riešime technické SEO vrátane robots.txt ako súčasť každého webového projektu. Ak si nie ste istí nastavením alebo riešite komplexnejší web s tisíckami URL, ozvite sa nám a prejdeme to spolu.
