Migrácia webu sa dokončí v piatok večer. V pondelok si nikto nič nevšimne — stránky sa načítavajú, formuláre chodia, dizajn sedí. O tri týždne niekto na porade otvorí Google Search Console a zistí, že kategórie, ktoré roky nosili dopyty, sú z indexu preč. Obsah sa nezhoršil, odkazy nikto nezrušil. Zmenil sa jeden riadok v súbore robots.txt — ten, ktorý pri odovzdaní projektu neotvoril nikto z tímu.
Keď takýto web otvoríme, scenár býva takmer rovnaký. V robots.txt zostal Disallow: / z testovacej kópie webu. Adresár so šablónou a skriptami je zablokovaný, takže Google vidí stránku bez rozloženia a bez interaktívnych prvkov. A v sitemap.xml sú adresy, ktoré sa presmerúvajú alebo majú noindex — mapa stránok teda navádza crawler presne tam, kde nemá čo hľadať.
Robots.txt je textový súbor v koreňovom adresári domény, ktorý vyhľadávačom hovorí, ktoré časti webu smú prehľadávať a ktoré majú obísť. Sitemap.xml robí presný opak: je to strojovo čitateľný zoznam adries, ktoré chcete dostať do indexu. Prvý súbor zatvára dvere, druhý ukazuje cestu k tomu podstatnému.
Ani jedna z tých chýb nevyhodí chybovú hlášku. Web vyzerá zdravo, len sa z neho ticho vytrácajú stránky — a kým si to niekto všimne, prepad sa dá pohodlne zvaliť na sezónu. Preto tento článok ostáva pri dvoch súboroch a ide v nich do detailu: syntax a direktívy, chyby s najväčším dopadom, čo do sitemapy patrí a čo nie, sitemap index pri veľkých weboch, kontrola v Search Console, špecifiká WordPressu a Yoastu a rozhodnutie o AI crawleroch. Rýchlosť, presmerovania, štruktúra a duplicity sú téma nadradeného článku o technickom SEO.
Robots.txt a sitemap.xml: dva súbory, každý s inou úlohou
Väčšina nedorozumení okolo týchto súborov stojí na jednej zámene: prehľadávanie a indexácia nie sú to isté. Robots.txt hovorí crawleru, či sa na adresu vôbec smie pozrieť. O tom, čo sa so stránkou stane potom, rozhodujú úplne iné signály — noindex, rel="canonical", stavový kód a kvalita samotnej stránky. Sitemap.xml je v tejto trojici tretí hráč: nič nepovoľuje ani nezakazuje, len ponúka zoznam adries, ktoré považujete za dôležité.
Praktický dôsledok je nepríjemný a stojí za väčšinou zlých rozhodnutí, ktoré v auditoch vidíme. Keď stránku zablokujete v robots.txt, crawler ju neotvorí — a teda ani neuvidí noindex, ktorý ste do nej dali. Adresa tak môže zostať vo výsledkoch vyhľadávania donekonečna, len bez popisu. Ak chcete stránku z indexu naozaj dostať von, cesta k nej musí zostať otvorená.
| Nástroj | Čo ovplyvňuje | Čo neovplyvňuje | Kedy ho použiť |
|---|---|---|---|
robots.txt | Prístup crawlera k adrese | Prítomnosť adresy v indexe | Šetrenie crawl budgetu, blokovanie nekonečných parametrov |
noindex | Zaradenie stránky do indexu | Prehľadávanie stránky | Stránka sa má prehľadať, ale nemá byť vo výsledkoch |
rel="canonical" | Ktorá verzia duplicity sa má hodnotiť | Prístup ani index priamo | Filtrované a parametrické varianty tej istej stránky |
sitemap.xml | Rýchlosť objavenia adries | Garanciu indexácie | Nové a hlboko zanorené stránky, veľké e-shopy |
| Stavový kód 410 | Rýchle vyradenie z indexu | Spätné odkazy na adresu | Trvalo zrušený obsah |
Kde musí byť robots.txt uložený a čo sa stane, keď tam nie je
Súbor patrí do koreňového adresára domény a nikam inam. Platná adresa je https://vasadomena.sk/robots.txt — nie v podpriečinku a nie pod iným názvom. Každá subdoména potrebuje vlastný súbor: pravidlá z www.vasadomena.sk na blog.vasadomena.sk neplatia. To isté platí pre protokol a port, takže http:// a https:// sú z pohľadu robots.txt dve rôzne adresy.
Pre firmu to znamená jediné: testovacia kópia webu na vlastnej subdoméne potrebuje vlastné pravidlá. Bez nich sa do vyhľadávania dostane rozpracovaná verzia s poloprázdnymi stránkami a začne ostrému webu konkurovať o tie isté dopyty.
Ak súbor neexistuje a server vráti 404, crawlery to čítajú ako povolenie prehľadávať všetko. Legitímny stav, nie chyba. Nebezpečnejšie je, keď server na tejto adrese vracia chybu 5xx: Google to zhruba prvých dvanásť hodín vyhodnocuje ako úplný zákaz prehľadávania a až potom siahne po poslednej známej verzii súboru. Zle nastavený firewall alebo ochrana proti botom tak dokáže priškrtiť crawl budget, teda objem stránok, ktoré Google na webe za daný čas prehľadá, bez toho, aby v robots.txt pribudol čo i len jeden riadok. Nový obsah medzitým na webe leží a vo vyhľadávaní nie je.
Syntax robots.txt po riadkoch: direktívy, ktoré naozaj platia
Formát je zámerne primitívny a definuje ho RFC 9309, teda štandardizovaný Robots Exclusion Protocol. Súbor sa skladá z blokov: každý sa otvára direktívou User-agent:, pokračuje pravidlami a končí prázdnym riadkom. Súbor musí byť v kódovaní UTF-8. Google prípadnú značku BOM na začiatku súboru ignoruje, ale nie každý nástroj je taký zhovievavý — a kontrola, ktorá vám má chybu odhaliť, potom prvý riadok prehliadne. Rátajte aj s tým, že Google číta zo súboru prvých 500 kibibajtov a zvyšok zahodí; kilometrové zoznamy jednotlivých adries preto radšej nahraďte vzormi.
| Direktíva | Čo robí | Príklad |
|---|---|---|
User-agent | Otvára blok pravidiel pre konkrétny crawler | User-agent: Googlebot |
Disallow | Zakazuje prehľadávanie ciest podľa predpony | Disallow: /wp-admin/ |
Allow | Robí výnimku vo vnútri zakázanej cesty | Allow: /wp-admin/admin-ajax.php |
Sitemap | Uvádza absolútnu adresu sitemapy, platí pre celý súbor | Sitemap: https://web.sk/sitemap_index.xml |
Crawl-delay | Žiada odstup medzi požiadavkami robota; Google ju ignoruje, Bing a Seznam ju berú do úvahy | Crawl-delay: 10 |
* a $ | Zástupný znak a označenie konca adresy | Disallow: /*.pdf$ |
Ako Google vyhodnocuje konflikt medzi Allow a Disallow
Tu sa mýlia aj vývojári, ktorí robots.txt píšu roky. Poradie riadkov v súbore nerozhoduje. Google vyberá pravidlo, ktorého vzor je najdlhší, teda najšpecifickejší. Pri rovnakej dĺžke vyhráva to menej obmedzujúce, teda Allow. Vďaka tomu funguje kombinácia, ktorú nájdete takmer v každom slušne nastavenom WordPresse.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /*?orderby=
Sitemap: https://vasadomena.sk/sitemap_index.xml
Cesty sa porovnávajú od začiatku adresy a rozlišujú veľkosť písmen: /Admin/ nie je /admin/. Pozor aj na lomku na konci. Disallow: /blog zablokuje /blog/, ale zároveň aj /blogovanie-pre-firmy/, lebo ide o zhodu predpony. Jeden chýbajúci znak tak dokáže zavrieť podstránku, ktorá vám nosí polovicu organických dopytov. Ak chcete zavrieť len adresár, napíšte Disallow: /blog/.
Čo robots.txt nikdy nespraví
Nie je to bezpečnostné opatrenie. Súbor je verejný, otvorí si ho ktokoľvek, a zoznam zakázaných ciest tak funguje ako mapa citlivých sekcií — presne tam sa útočník pozrie ako prvý. Slušné crawlery pravidlá rešpektujú dobrovoľne, agresívne boty ich ignorujú. Interné rozhrania, exporty dát a testovacie prostredia patria za prihlásenie alebo za obmedzenie na IP adresu, nie do robots.txt.
A ešte jedna zámena, ktorá stojí za väčšinou zbytočných blokovaní. Disallow síce ušetrí prehľadávanie danej adresy, ale nevymaže ju z výsledkov vyhľadávania. Ak na ňu vedú odkazy, Google o nej vie ďalej — len jej nerozumie a zobrazí ju bez popisu, čo vo výsledkoch pôsobí horšie, než keby tam nebola vôbec.
Nefunguje ani riadok Noindex: v robots.txt. Google ho istý čas neoficiálne rešpektoval, potom podporu zrušil — a návody, ktoré ho stále odporúčajú, po sebe na slovenských weboch nechávajú stránky, o ktorých si majiteľ myslí, že sú z indexu vonku. Rovnako nefunguje Disallow ako spôsob, ako sa zbaviť duplicít: adresa zostane v indexe, len k nej Google nedostane rel="canonical".
Päť chýb v robots.txt, ktoré vás stoja organickú návštevnosť
Chyby v tomto súbore neprichádzajú s chybovou hláškou ani s výpadkom. Web funguje ďalej a pokles príde s odstupom, keď si ho už nikto nespojí so zásahom do jedného textového súboru. Päť nálezov nižšie vidíme pri auditoch opakovane a sú zoradené podľa toho, koľko škody narobia.
1. Disallow: / zabudnutý po nasadení z testovacieho prostredia
Vývojové prostredia sa bežne zatvárajú pravidlom Disallow: / pre všetky crawlery. Problém nastane, keď sa obsah adresára prekopíruje na produkciu aj s týmto súborom. Google prestane prehľadávať celý web a stránky vypadávajú z indexu postupne, po dávkach. Pokles preto vyzerá ako sezónny výkyv a rieši sa až vtedy, keď je vidieť aj na grafe. Medzitým beží platená reklama na kategórie, ktoré v neplatenom vyhľadávaní už týždne nie sú.
Kontrola trvá pätnásť sekúnd. Po každom nasadení otvorte /robots.txt v prehliadači a pozrite sa, čo tam je. Pred migráciou webu, teda presunom obsahu na nové riešenie, alebo pred prechodom na nový server dajte tento riadok priamo do preberacieho checklistu.
2. Blokovanie CSS a JavaScriptu, ktoré Google potrebuje na vykreslenie
Google stránku vykresľuje podobne ako prehliadač. Keď mu zavriete prístup k štýlom a skriptom, hodnotí kostru bez rozloženia — a pri weboch, ktoré obsah dopĺňajú až v prehliadači, aj úplne prázdnu stránku. Pravidlá typu Disallow: /*.js$ alebo zablokovaný adresár s témou preto patria medzi najdrahšie „optimalizácie“, aké sa dajú urobiť: text na stránke je, Google ho nevidí, a pozície padajú bez toho, aby sa na obsahu čokoľvek zmenilo. Ak si nie ste istí, otestujte konkrétnu adresu nástrojom Kontrola adresy URL v Search Console a pozrite si vykreslenú snímku — čo chýba na nej, chýba aj Googlu.
3. Zablokovaná celá sekcia namiesto konkrétnych parametrov
Typický zásah, keď e-shopu narastie počet adries: zavrie sa celý /produkt/ alebo /kategoria/, lebo „sa tam tvoria duplicity“. Duplicity sa naozaj tvoria, len nie na samotných kategóriách — vznikajú na ich filtrovaných variantoch. Blokovať sa teda majú parametre, nie cesta: Disallow: /*?filter= alebo Disallow: /*?orderby=, a čisté adresy nechajte otvorené.
Výnimka existuje a má obchodný dôvod. Ak sa na filtrovaný variant reálne pýtajú ľudia vo vyhľadávaní, typicky pri kategórii zúženej na značku alebo na rozmer, taká adresa sa neblokuje. Dostane vlastný text, vlastný nadpis a ide do sitemapy ako plnohodnotná vstupná stránka.
4. Konflikt robots.txt s noindex a canonical
Ak je adresa blokovaná, Google si neprečíta ani noindex, ani rel="canonical". Vzniká tak stav, keď máte na stránke technicky správne značky, ktoré nemajú šancu zafungovať. V Search Console to spoznáte podľa stavu „Zaindexované, hoci je blokované súborom robots.txt“. Postup nápravy má poradie: najprv odblokujte cestu, počkajte, kým Google stránky spracuje a vyradí z indexu, a až potom prípadne blokovanie vráťte späť.
5. Blokovaná alebo nesprávne uvedená sitemap.xml
Sitemapu nie je dôvod blokovať. Je určená strojom a v indexe sa nezobrazuje ako bežná stránka. Napriek tomu ju plošné pravidlá pre koncovku .xml občas zavrú. Rovnako častá je adresa sitemapy uvedená s http, s doménou bez www alebo relatívne; direktíva Sitemap vyžaduje absolútnu adresu presne v tej podobe, v akej web reálne beží. Škoda je tu menšia ako pri predchádzajúcich štyroch chybách, lebo sitemapu viete odoslať priamo v Search Console. Nové stránky však Google objaví neskôr, a pri e-shope, ktorý denne pridáva položky, sa to prejaví na tržbách.
Čo do sitemap.xml patrí a čo v nej nemá čo hľadať
Sitemap.xml je návrh, nie príkaz. Nezaručí indexáciu a nezachráni slabý obsah. Má jedinú úlohu a tú robí dobre: skracuje čas, kým Google objaví adresu, ktorá je hlboko zanorená alebo na ktorú vedie málo interných odkazov. Presne preto sa jej hodnota rúca, keď do nej hodíte všetko, čo redakčný systém vygeneruje.
Pravidlo je jednoduché a v audite sa dá overiť za pár minút: v sitemape má byť len taká adresa, ktorá vracia kód 200, nemá noindex, odkazuje sama na seba cez rel="canonical" a chcete ju vo výsledkoch vyhľadávania. Všetko ostatné je šum, ktorý znižuje dôveryhodnosť celého súboru.
| Do sitemapy patrí | Do sitemapy nepatrí |
|---|---|
| Kanonické verzie kategórií a produktov | Filtrované a triedené varianty s parametrami |
| Články a stránky so stavom 200 | Adresy s presmerovaním 301 alebo chybou 404 |
| Nové a hlboko zanorené stránky | Stránky s noindex alebo za prihlásením |
| Vstupné stránky pre lokality a služby | Samostatné stránky príloh a médií |
| Obrázky a videá vo vlastnej sitemape | Stránky blokované v robots.txt |
| Jazykové mutácie s hreflang | Archívy štítkov bez vlastnej hodnoty |
Ktoré značky v sitemape Google číta a ktoré ignoruje
Formát pozná štyri voliteľné hodnoty pri každej adrese: lastmod, changefreq, priority a jazykové alternatívy. Google verejne uvádza, že changefreq a priority nepoužíva, takže ich ladenie je stratený čas. Naopak lastmod berie do úvahy, ale len vtedy, keď je dôveryhodný — ak sa dátum mení pri každom vygenerovaní súboru bez reálnej zmeny obsahu, prestane naň prihliadať úplne.
V praxi z toho vyplýva jedno: lastmod nech zapisuje redakčný systém podľa skutočnej úpravy obsahu, nie podľa času, kedy sa súbor vygeneroval. Pri e-shope treba odlíšiť zmenu ceny či skladovej dostupnosti od prepísaného popisu. Ak to systém nevie, hodnotu radšej vynechajte. Nepravdivý dátum je horší ako žiadny — prídete tým o signál, ktorý by inak urýchlil preindexovanie práve prerobených stránok.
Dve pravidlá k umiestneniu robia problémy najmä pri viacjazyčných weboch a e-shopoch s oddeleným blogom. Sitemapa pokrýva len adresy, ktoré sú na jej vlastnej ceste alebo pod ňou: súbor na /blog/sitemap.xml nemôže pokrývať adresy mimo /blog/. Toto obmedzenie obídete direktívou Sitemap v robots.txt alebo odoslaním sitemapy v Search Console. A ak vám systém XML negeneruje, Google prijme aj obyčajný textový súbor s jednou adresou na riadok alebo kanál RSS — je to slabší variant bez lastmod, ale lepšia ako žiadna mapa stránok.
Sitemap index: ako rozdeliť sitemap.xml pri veľkých weboch
Protokol na sitemaps.org stanovuje limit 50 000 adries a 50 MB v nekomprimovanej podobe na jeden súbor. Sitemap index dokáže odkazovať na ďalších 50 000 sitemáp, takže strop v praxi nedosiahnete. Delenie sa však oplatí dávno pred limitom — kvôli diagnostike, nie kvôli technickému stropu.
Search Console ukazuje počet odoslaných a zaindexovaných adries pre každú sitemapu zvlášť. Keď máte jeden súbor so 40 000 adresami, dozviete sa len to, že časť webu v indexe nie je. Keď ich máte rozdelené podľa typu obsahu, na prvý pohľad uvidíte, že napríklad produkty sú zaindexované takmer celé, ale kategórie zaostávajú. To je rozdiel medzi „niečo nefunguje“ a konkrétnym zadaním pre vývojára.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://vasadomena.sk/sitemap-produkty-1.xml</loc>
</sitemap>
<sitemap>
<loc>https://vasadomena.sk/sitemap-kategorie.xml</loc>
</sitemap>
<sitemap>
<loc>https://vasadomena.sk/sitemap-clanky.xml</loc>
</sitemap>
</sitemapindex>
Odporúčané delenie kopíruje obchodnú logiku webu: produkty, kategórie, značky, články, statické stránky, obrázky. Pri e-shopoch s desiatkami tisíc položiek sa oplatí ísť ešte ďalej a oddeliť sortiment, ktorý sa mení denne, od toho, ktorý sa nemení celé mesiace. Súbory môžu byť komprimované do .gz, limit veľkosti sa však počíta z nekomprimovanej podoby.
Na projekte pre QEX sme štruktúru sitemáp riešili ešte pred spustením nového webu, spolu s mapovaním starých adries na nové. Redizajn je jediný moment, keď sa dá rozdelenie navrhnúť podľa toho, čo bude tím reálne sledovať. Po spustení sa už len opravuje. Ak plánujete presun webu na nové riešenie, pozrite si aj náš článok o tom, kedy je čas na redizajn webstránky.
Ako overiť robots.txt a sitemap.xml v Search Console
Kontrola pred nasadením odhalí chybu za pár minút. Kontrola po nasadení odhalí, čo sa medzitým pokazilo. Treba obe. Google Search Console, teda bezplatný nástroj, v ktorom Google ukazuje, ako váš web vidí, ponúka na oba súbory samostatné prehľady — a spolu s kontrolou konkrétnej adresy pokryjú prakticky všetko, čo potrebujete vedieť.
- Prehľad robots.txt: ukáže poslednú načítanú verziu súboru, čas načítania, stavový kód a prípadné chyby v syntaxi. Tu sa dá vyžiadať aj opätovné načítanie.
- Kontrola adresy URL: pri konkrétnej stránke povie, či je blokovaná, ako ju Google vykreslil a ktoré zdroje sa mu nepodarilo načítať.
- Prehľad sitemáp: obsahuje stav spracovania, dátum posledného načítania a počet objavených adries pre každý odoslaný súbor.
- Indexovanie stránok: rozdeľuje adresy podľa dôvodu vylúčenia — práve tu sa objavia stavy súvisiace s blokovaním.
Dva stavy si zaslúžia zvláštnu pozornosť. „Blokované súborom robots.txt“ je v poriadku vtedy, keď ide o adresy, ktoré ste chceli zablokovať — pri kategóriách alebo produktoch je to poplach. „Zaindexované, hoci je blokované súborom robots.txt“ znamená konflikt, ktorý si vyžaduje odblokovanie cesty a doplnenie noindex.
Pri sitemapách porovnávajte počet odoslaných adries s počtom zaindexovaných. Veľký rozdiel býva príznakom tenkého obsahu, duplicít alebo adries, ktoré do sitemapy vôbec nepatria. Ak chcete tieto čísla sledovať priebežne a nie len pri auditoch, oplatí sa ich zaradiť do pravidelného reportingu a analytiky spolu s ostatnými ukazovateľmi organickej návštevnosti, teda návštev z neplatených výsledkov vyhľadávania.
WordPress a Yoast: odkiaľ sa robots.txt a sitemap.xml naozaj berú
Vo WordPresse platí jedna vec, ktorá prekvapí aj skúsených správcov: robots.txt na disku spravidla neexistuje. WordPress ho generuje virtuálne pri každej požiadavke. Ak niekto do koreňového adresára uloží fyzický súbor, virtuálny prestane platiť — a s ním aj pravidlá, ktoré doň pridávajú pluginy.
Druhá pasca sa skrýva v Nastaveniach v sekcii Čítanie. Voľba, ktorá vyhľadávačom bráni indexovať web, prepíše virtuálny robots.txt na Disallow: / pre všetky crawlery. Zapína sa počas vývoja a pri spustení sa na ňu zabudne. Je to najčastejšia príčina toho, že nový web mesiace nikde nie je: firma platí za obsah, za hosting aj za reklamu, ktorá vedie na web neexistujúci vo vyhľadávaní. A pritom ide o jedno kliknutie.
Sitemap.xml vo WordPresse a v Yoast SEO
WordPress má vlastnú mapu stránok na adrese /wp-sitemap.xml. Yoast SEO ju vypne a nahradí vlastným indexom na /sitemap_index.xml, ktorý obsah delí podľa typov obsahu a taxonómií. Obe naraz na webe byť nemajú — dve odlišné mapy stránok si len protirečia.
- Vylúčenie typu obsahu: v Yoaste sa rieši voľbou „Zobrazovať vo výsledkoch vyhľadávania?“. Nastavenie na „Nie“ pridá
noindexa zároveň typ odstráni zo sitemapy. To je správne poradie — nie blokovanie vrobots.txt. - Stránky príloh: predvolene vytvárajú samostatnú adresu pre každý nahraný obrázok. Vo väčšine projektov ich má zmysel presmerovať na samotný súbor.
- Archívy štítkov a autorov: pri jednoautorskom firemnom blogu nemajú vlastnú hodnotu a do sitemapy nepatria.
- Editor súborov: Yoast umožňuje vytvoriť fyzický
robots.txtpriamo z administrácie. Od tej chvíle platí len on. - Vyrovnávacia pamäť: agresívne nastavené cache pluginy dokážu servírovať mesiace starú sitemapu. Po väčších zmenách ju vždy overte v prehliadači.
Ďalšie nastavenia, ktoré s indexáciou súvisia, sme rozobrali v článku o SEO pre WordPress. Ak riešite aj zabezpečenie administrácie, pozrite si bezpečnostné nastavenia pre WordPress — blokovanie v robots.txt bezpečnosť nenahrádza.
AI crawlery v robots.txt: púšťať GPTBot, ClaudeBot a PerplexityBot?
Do robots.txt medzitým pribudla celá nová skupina user-agentov a rozhodnutie o nich už nie je technické, ale obchodné. Ide o to, či chcete, aby vás jazykové modely a AI vyhľadávače citovali a odporúčali. Táto disciplína má svoje pomenovanie: GEO (Generative Engine Optimization) a AEO (Answer Engine Optimization) — teda optimalizácia pre generatívne vyhľadávače a optimalizácia pre AI odpovede.
Tri odlišné typy botov sa v diskusiách zamieňajú a práve z toho vznikajú zlé rozhodnutia. Trénovacie crawlery zbierajú obsah na učenie modelov. Indexovacie crawlery budujú vyhľadávací index, z ktorého sa berú citácie. A boty spúšťané používateľom načítajú konkrétnu stránku vtedy, keď o ňu človek v chate priamo požiada. Plošné Disallow: / zavrie všetky tri naraz — vrátane tej poslednej skupiny, teda presne toho momentu, keď sa niekto pýta priamo na vašu značku.
| User-agent | Prevádzkovateľ | Účel |
|---|---|---|
GPTBot | OpenAI | Zber obsahu na trénovanie modelov |
OAI-SearchBot | OpenAI | Indexácia obsahu pre vyhľadávanie v ChatGPT |
ChatGPT-User | OpenAI | Načítanie stránky na priamu žiadosť používateľa |
ClaudeBot | Anthropic | Zber obsahu na trénovanie modelov |
Claude-SearchBot | Anthropic | Indexácia obsahu pre vyhľadávanie |
Claude-User | Anthropic | Načítanie stránky na priamu žiadosť používateľa |
PerplexityBot | Perplexity | Indexácia obsahu pre odpovede s citáciami |
Google-Extended | Riadi využitie obsahu v modeloch Gemini, neovplyvňuje Google Search | |
Applebot-Extended | Apple | Riadi využitie obsahu na trénovanie modelov Apple |
CCBot | Common Crawl | Verejný archív webu, z ktorého čerpajú tretie strany |
Ako sa rozhodnúť podľa typu biznisu
Pre výrobcu, dodávateľa služieb alebo B2B firmu je citácia v AI odpovedi to isté, čo bola kedysi pozícia v organických výsledkoch, teda v neplatenej časti vyhľadávania. Blokovať indexovacie boty tu nedáva zmysel — bola by to dobrovoľná neviditeľnosť. Iná situácia nastáva pri vydavateľoch a projektoch, ktoré obsah predávajú alebo z neho žijú cez reklamu: tam sa dá argumentovať blokovaním trénovacích crawlerov pri ponechaní tých indexovacích.
# Model pre firmu, ktorá chce byť citovaná v AI odpovediach
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
Robots.txt je dobrovoľná dohoda a treba s tým rátať. Boty, ktoré obsah zbierajú bez ohľadu na pravidlá, ho jednoducho obídu — vymáhať pravidlá sa dá až na úrovni servera, blokovaním podľa IP adresy alebo user-agenta.
V tejto súvislosti sa čoraz častejšie spomína aj súbor llms.txt, teda návrh na sprehľadnenie obsahu pre jazykové modely. Zatiaľ ho žiadny veľký prevádzkovateľ oficiálne nečíta, takže ho berte ako lacnú poistku do budúcna, nie ako náhradu za robots.txt. Čo funguje už dnes, je čitateľnosť samotného obsahu: prehľadné nadpisy, tabuľky a priame odpovede na otázky pomáhajú rovnako ako pri optimalizácii pre odpoveďové boxy nad výsledkami vyhľadávania, ktorú sme rozobrali v článku o tom, ako sa dostať do featured snippets.
Časté otázky o robots.txt a sitemap.xml
Kde nájdem robots.txt a ako ho upravím vo WordPresse?
Súbor je vždy na adrese https://vasadomena.sk/robots.txt. WordPress ho generuje virtuálne, takže na disku fyzicky neexistuje, kým ho tam niekto nevytvorí. Vo WordPresse ho najjednoduchšie upravíte cez editor súborov v Yoast SEO, ktorý vytvorí fyzický súbor v koreňovom adresári. Od tej chvíle má fyzický súbor prednosť a virtuálne pravidlá WordPressu sa prestanú používať.
Čo sa stane, keď robots.txt na webe vôbec nemám?
Crawlery to vyhodnotia ako povolenie prehľadávať všetko. Pri malom firemnom webe to nemusí prekážať. Pri e-shope s filtrami, interným vyhľadávaním a nákupným procesom sa však crawl budget minie na tisíce takmer identických adries a na dôležité kategórie sa dostane oveľa neskôr. Dôležitejšie ako existencia súboru je, aby server na tejto adrese vracal kód 200 alebo 404 — chyba 5xx sa u Googlu správa ako dočasný zákaz prehľadávania celého webu.
Stačí zablokovať stránku v robots.txt, aby zmizla z Google?
Nie. Robots.txt rieši prehľadávanie, nie indexáciu. Ak na blokovanú adresu vedú odkazy, Google o nej vie a môže ju zobraziť vo výsledkoch bez popisu. Na odstránenie z indexu slúži noindex v meta značke alebo v hlavičke X-Robots-Tag — a aby ho crawler prečítal, stránka nesmie byť súčasne blokovaná v robots.txt.
Koľko adries môže mať sitemap.xml a kedy potrebujem sitemap index?
Podľa protokolu na sitemaps.org má jeden súbor limit 50 000 adries a 50 MB v nekomprimovanej podobe. Sitemap index vám odporúčame skôr, než na tieto čísla narazíte: rozdelenie podľa typu obsahu (produkty, kategórie, články, stránky) vám v Search Console ukáže mieru indexácie pre každú skupinu zvlášť. Bez toho viete len to, že „niečo“ nie je v indexe.
Ako rýchlo Google zareaguje na zmenu v robots.txt?
Google si obsah súboru ukladá do vyrovnávacej pamäte a načítava ho spravidla v priebehu dňa. V prehľade robots.txt v Search Console viete požiadať o opätovné načítanie, čo sa oplatí vždy, keď opravujete blokovanie celého webu. Rátajte však s tým, že samotné vrátenie stránok do indexu trvá podstatne dlhšie ako oprava jedného riadka.
Mám blokovať AI crawlery ako GPTBot a ClaudeBot?
Závisí od toho, či obsah predávate, alebo ním získavate dopyt. Ak žijete z predaja obsahu, blokovanie trénovacích crawlerov dáva zmysel. Ak chcete, aby vás jazykové modely odporúčali, blokovaním si zatvárate dvere — a najmä crawlery, ktoré načítavajú stránku na priamu žiadosť používateľa, blokovať netreba. Rozhodujte sa pre každý user-agent zvlášť, nie plošne.
Robots.txt a sitemap.xml v praxi: kde začať
Otvorte si /robots.txt a /sitemap.xml svojho webu v prehliadači. Trvá to minútu a odhalí to väčšinu problémov, o ktorých je tento článok: zabudnutý Disallow: /, zablokované štýly a skripty, sitemapu s presmerovanými adresami alebo mapu stránok, ktorú Search Console vôbec nenačítala. Ak nič z toho nevidíte, porovnajte v Search Console počet odoslaných a zaindexovaných adries — rozdiel vám povie, kde hľadať ďalej.
Pri jednoduchom firemnom webe to zvládnete nastaviť sami podľa príkladov vyššie. Pri e-shope s filtrami, viacjazyčnom webe alebo pred migráciou sú tieto dva súbory len časťou skladačky, ktorej diely musia do seba zapadnúť spolu s kanonickými adresami, ktoré Googlu určujú hlavnú verziu stránky, s presmerovaniami a so štruktúrou webu. Na slovenských weboch, ktoré po niekom preberáme, patrí zabudnutý Disallow: / po migrácii medzi chyby, ktoré nachádzame opakovane. Na projektoch ako Metrostav Slovakia preto riešime indexáciu už vo fáze návrhu štruktúry; opravovať ju po spustení je vždy drahšie. Ďalšie príklady našej práce nájdete medzi výsledkami našich projektov.
Technické nastavenia riešime ako súčasť tvorby webstránok aj tvorby e-shopov, nie ako dodatočnú opravu. Ak si nie ste istí, či váš robots.txt a sitemap.xml nebrzdia zvyšok SEO, ozvite sa nám. Prejdeme si rozsah, pozrieme sa na aktuálny stav a naceníme prácu na mieru vášmu webu.









