Technické SEO

Robots.txt

Definice

Robots.txt je textový soubor v kořenovém adresáři webu, který vyhledávačům říká, které adresy smí, nebo nesmí procházet. Řídí procházení (crawling), ne indexaci - sám o sobě stránku z Googlu neodstraní. Je to pokyn, který slušní roboti respektují, ne bezpečnostní zámek.

Robots.txt je prostý textový soubor uložený v kořenovém adresáři domény - tedy na adrese vasedomena.cz/robots.txt. Otevře si ho robot vyhledávače hned na začátku návštěvy a přečte si v něm, kam na webu smí a kam ne. Pro běžného návštěvníka je neviditelný; je to komunikace mezi webem a crawlerem.

Hned na začátku je potřeba vyvrátit nejčastější nedorozumění, na kterém stojí půlka chyb v praxi.

Procházení, ne indexace

Robots.txt řídí procházení (crawling) - tedy jestli si robot smí stránku stáhnout a přečíst. Neřídí indexaci - tedy jestli se stránka objeví ve výsledcích vyhledávání. To jsou dvě různé věci a pletou se pořád.

Důsledek je nečekaný: když stránku zablokujete v robots.txt, ale odkazuje na ni jiný web, Google ji klidně zaindexuje i bez toho, aby ji přečetl. Ve výsledcích se pak ukáže holá URL s poznámkou, že popis není k dispozici, protože robots.txt Googlu zakázal stránku otevřít. Blokace tedy nezaručí, že se stránka ve vyhledávání neukáže - spíš zaručí, že se ukáže ošklivě.

Z toho plyne i klasický paradox: pokud chcete stránku z výsledků skutečně odstranit, musíte na ní nechat značku noindex - a k tomu ji Google musí přečíst. Když ji zároveň zablokujete v robots.txt, robot se k noindex nikdy nedostane a stránka v indexu zůstane. Blokace v robots.txt a noindex se navzájem vylučují. Na skutečné vyřazení z indexu slouží noindex, hlavička X-Robots-Tag, heslo nebo smazání stránky - nikdy robots.txt.

Jak soubor vypadá

Robots.txt se skládá z bloků pravidel. Každý blok začíná direktivou User-agent (pro kterého robota pravidla platí) a pod ní následují zákazy a povolení:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://vasedomena.cz/sitemap.xml
  • User-agent - komu pravidlo patří. * znamená „všem robotům”. Můžete cílit i konkrétně: Googlebot, SeznamBot, Bingbot.
  • Disallow - cesta, kterou robot nemá procházet. Disallow: / zakáže celý web.
  • Allow - výjimka, která přebíjí Disallow (v příkladu výše: nechoď do administrace, ale jeden konkrétní soubor v ní projdi).
  • Sitemap - odkaz na kompletní přehled adres webu. Sem patří plná adresa; robot ji najde hned a ví, kde má seznam všech stránek.

Google navíc bere robots.txt jako pokyn, ne jako zákon - respektují ho slušní roboti vyhledávačů, ale spamové a scrapovací boti si ho přečtou a klidně ignorují. Proto robots.txt není bezpečnostní opatření: citlivá data přes něj neschováte, naopak byste v něm nechtěně zveřejnili adresy, které nemají být vidět.

K čemu je dobrý

Když robots.txt nepoužijete na to, co neumí (skrývání stránek), zbývá to, v čem je užitečný:

  • Šetří kapacitu procházení. U velkých webů se robotům nevyplatí procházet tisíce filtrů, řazení a parametrických variant produktů. Zakázat tyhle nekonečné kombinace pomáhá Googlu utratit kapacitu na stránkách, které se mají dostat do vyhledávání.
  • Odlehčuje serveru. Agresivní procházení dokáže web zatížit; robots.txt umí robota nasměrovat jinam.
  • Ukazuje robotovi, kde najde seznam adres webu. Řádek Sitemap: je na to nejrychlejší způsob.

Pro malý web o pár desítkách stránek robots.txt většinou nic zásadního neřeší - Google si ho projde celý bez problémů. Význam roste s velikostí a složitostí webu.

Dvě chyby, které v auditu vídám nejčastěji

Zapomenutý Disallow: / z testovací verze. Web se vyvíjí na testovací doméně, kde je celý web robots.txt zablokovaný, aby se rozpracovaná verze nedostala do Googlu. Při spuštění se ale zapomene blokaci sundat - a ostrý web jde do světa s pokynem „neprocházej nic”. Google postupně vypadne z výsledků a nikdo dlouho neví proč. Je to jeden z nejdražších překlepů v SEO a přitom jde o jediný řádek.

Blokování CSS a JavaScriptu. Starším zvykem bylo zakázat robotům přístup ke skriptům a stylům. Jenže Google dnes stránku vykresluje jako prohlížeč - když mu zablokujete CSS a JS, uvidí rozbitou verzi a nedokáže posoudit, jak stránka doopravdy vypadá. Tyhle soubory se blokovat nemají.

Proto robots.txt v auditu otevírám mezi prvními: je to malý soubor, ale rozhoduje o tom, jestli Google web vůbec uvidí. Zkontrolovat se dá i ručně - stačí otevřít vasedomena.cz/robots.txt v prohlížeči; hlubší kontrolu (které konkrétní adresy jsou blokované) pak nabízí Google Search Console.

Související pojmy
Z teorie do praxe

Proberte to se mnou.

Jediný špatný řádek v robots.txt dokáže schovat celý web před vyhledávačem - a nejčastěji se tam dostane při nasazení nové verze. V měsíční správě proto kontroluju, jestli pouští Google tam, kam má.

Napište mi

Nebo se podívejte na službu SEO správa →