Soubor robots.txt ve zkratce

Soubor robots.txt obsahuje direktivy pro vyhledávače, pomocí kterých jim můžete zabránit v prohledávání určitých částí svého webu.

Pár rad pro implementaci souboru robots.txt:

  • Buďte opatrní při provádění změn v souboru robots.txt, abyste omylem neznepřístupnili velkou část webu.
  • Soubor by se měl nacházet v kořeni webu (např. https://www.priklad.cz/robots.txt).
  • Soubor je platný pouze pro kompletní doménu včetně protokolu (http nebo https).
  • Různé vyhledávače mohou s direktivami nakládat různě. V případě Googlu a Bingu má přednost nejkonkrétnější direktiva, u ostatních vyhledávačů rozhoduje pořadí – první direktiva má největší váhu.
  • Snažte se moc nepoužívat direktivu crawl-delay.

Co je soubor robots.txt?

Soubor robots.txt informuje vyhledávače o pravidlech procházení a indexování vašeho webu.

Předtím, než se vyhledávače pustí do průzkumu vašeho webu, pokusí se najít soubor robots.txt, aby získaly instrukce. Tyto instrukce se nazývají ‘direktivy‘.

Pokud soubor robots.txt chybí nebo neobsahuje žádné použitelné direktivy, vyhledávače prohledají celý web.

Ačkoliv většina hlavních vyhledávačů soubor robots.txt respektuje, nemusí se jím řídit do všech detailů. Je dobré mít na paměti, že tento soubor pro vyhledávače představuje spíše návod než nařízení.

Synonyma pro robots.txt

Soubor robots.txt je znám také jako robots exclusion standard, robots exclusion protocol nebo robots.txt protokol.

Proč byste se měli zajímat o soubor robots.txt?

Soubor robots.txt má zásadní význam v optimalizaci pro vyhledávače. Říká totiž vyhledávačům, jak nejlépe prohledat váš web.

Pomocí tohoto souboru můžete zabránit vyhledávačům v přístupu k určitým částem svého webu, předcházet duplicitnímu obsahu a také poradit vyhledávačům, jak prohledat web co nejefektivněji.

Příklad

Pojďme si to předvést na příkladu:

Máte komerční web. Návštěvníci mohou pro rychlé vyhledávání vašich produktů použít filtr. Ten generuje stránky zobrazující v podstatě stejný obsah jako jiné stránky. Pro nuživatele je to praktické, ale vytváří to duplicitní obsah, který mate vyhledávače. Určitě nechcete, aby indexovaly tyto filtrované stránky a mrhaly časem.

Duplicitnímu obsahu se dá zabránit také pomocí kanonických URL nebo meta tagu robots. Tyto prostředky ovšem nezabrání vyhledávačům procházet určité stránky. Pouze zajistí, aby se tyto stránky nezobrazovaly ve výsledcích vyhledávání. Vzhledem k tomu, že vyhledávače mají na prohledání webu pouze omezený čas, měly by ho strávit na stránkách, které by měly být zobrazeny ve výsledcích.

Jak vypadá soubor robots.txt?

Příklad jednoduchého souboru robots.txt pro webové stránky ve WordPressu:

User-agent: *
Disallow: /wp-admin/

Na tomto příkladu si můžeme vysvětlit strukturu souboru robots.txt:

  • User-agent: user-agent označuje, pro které vyhledávače jsou direktivy určené.
  • *: toto znamená, že direktivy platí pro všechny vyhledávače.
  • Disallow: tato direktiva říká, který obsah má být pro user-agenta nepřístupný.
  • /wp-admin/: toto označuje cestu, která má být pro user-agenta nepřístupná.

Tento soubor robots.txt říká všem vyhledávačům, aby se vyhnuly adresáři /wp-admin/.

User-agent

Každý vyhledávač by se měl identifikovat pomocí user-agent. Robot Googlu má označení Googlebot, robot Yahoo Slurp, robot Bingu BingBot atd.

Zápis user-agent definuje začátek skupiny direktiv. Všechny direktivy mezi prvním zápisem user-agent a následujícím zápisem user-agent se berou jako direktivy příslušející k prvnímu user-agentovi.

Direktivy mohou platit jak pro jednoho určitého user-agenta, tak i pro všechny naráz. V takovém případě se použije zástupný znak: User-agent: *.

Disallow

Můžete zabránit vyhledávačům v přístupu do určitých souborů, na určité stránky nebo sekce vašeho webu. Používá se k tomu direktiva Disallow. Za ní následuje cesta, která specifikuje, kam je přístup zakázaný. Pokud cesta chybí, celá direktiva bude ignorována.

Příklad

User-agent: *
Disallow: /wp-admin/

V tomto příkladu mají všechny vyhledávače zakázán přístup do adresáře /wp-admin/.

Allow

Direktiva Allow se používá proti direktivě Disallow. Podporují ji Google a Bing. Použitím obou těchto direktiv naráz můžete říct vyhledávačům, aby procházeli určité soubory nebo stránky v adresářích, kam mají jinak zakázán přístup. Po direktivě Allow následuje cesta, která má být přístupná. Pokud cesta chybí, direktiva bude ignorována.

Příklad:

User-agent: *
Allow: /media/podminky.pdf
Disallow: /media/

V tomto příkladu mají všechny vyhledávače zakázán přístup do adresáře /media/, ovšem s výjimkou souboru /media/podminky.pdf.

Důležité: pokud používáte zároveň direktivu Allow i Disallow, vyhněte se zástupným znakům. Mohlo by to způsobit konflikty.

Příklad

User-agent: *
Allow: /adresar
Disallow: /*.html

Vyhledávače nebudou vědět, co si počít s URL http://www.domena.cz/adresar.html. Nebude jim jasné, kam vlastně mají povolený přístup.

Speciální řádek pro každou direktivu

Každá direktiva by měla mít vlastní řádek, jinak by to mohlo mást vyhledávače.

Příklad špatně nastaveného souboru robots.txt

Vyvarujte se tedy takových souborů robots.txt, jako je tento:

User-agent: *
Disallow: /adresar-1/ Disallow: /adresar-2/ Disallow: /adresar-3/

Používání zástupných znaků *

Zástupné znaky se nepoužívají jen pro určení user-agenta, mohou také označovat určitá URL. Zástupné znaky podporují tyto vyhledávače: Google, Bing, Yahoo a Ask.

Příklad

User-agent: *
Disallow: /*?

V tomto příkladu mají všechny vyhledávače zakázáno procházet URL, která obsahují otazník (?).

Značení konce URL pomocí $

Pro označení konce URL můžete použít na konci cesty znak dolaru ($).

Příklad

User-agent: *
Disallow: /*.php$

V tomto příkladu mají všechny vyhledávače zakázáno procházet URL končící .php.

Sitemap v souboru robots.txt

I když je původní účel souboru robots.txt říkat vyhledávačům, které stránky nemají procházet, může se použít také k navedení vyhledávačů do sitemap.xml. Podporují to vyhledávače: Google, Bing, Yahoo a Ask.

Sitemap.xml by měla být uváděna jako absolutní URL (nemusí být na stejném hostu jako soubor robots.txt). Uvádění sitemap.xml v souboru robots.txt je jeden z nejlepších postupů, který vám můžeme doporučit. Dokonce i v případě, že už jste soubor sitemap.xml odeslali do Google Search Console nebo Bing Webmaster Tools. Existuje přece více vyhledávačů.

V souboru robots.txt je možné uvádět i více souborů sitemap.xml.

Příklady

Více souborů sitemap.xml:

User-agent: *
Disallow: /wp-admin/

Sitemap: https://www.priklad.cz/sitemap1.xml
Sitemap: https://www.priklad.cz/sitemap2.xml

V tomto příkladu soubor robots.txt zakazuje všem vyhledávačům přístup do adresáře /wp-admin/ a zároveň je informuje, že existují dva soubory sitemap.xml, které naleznou na https://www.priklad.cz/sitemap1.xmlhttps://www.priklad.cz/sitemap2.xml.

Jediný soubor sitemap.xml:

User-agent: *
Disallow: /wp-admin/

Sitemap: https://www.priklad.cz/sitemap_index.xml

V tomto příkladu soubor robots.txt zakazuje všem vyhledávačům přístup do adresáře /wp-admin/ a zároveň je informuje, že na adrese https://www.priklad.cz/sitemap_index.xml naleznou soubor sitemap.xml.

Komentáře

Komentáře se vkládají za ‘#’ a můžou být jak na začátku řádku, tak i za direktivou. Komentáře se píšou pro lidi.

Příklad 1

#Všichni roboti mají zakázaný přístup do adresáře /wp-admin/.
User-agent: *
Disallow: /wp-admin/

Příklad 2

User-agent: * #Platí pro všechny roboty
Disallow: /wp-admin/ #Zakázaný přístup do adresáře /wp-admin/.

Oba příklady sdělují totéž.

Crawl-delay

Direktiva Crawl-delay je neoficiální pokyn, který má zabránit přetížení serverů při velkém množství požadavků. Přidání této direktivy do souboru robots.tx je ale jen dočasným řešením. Pokud existuje riziko, že vyhledávače přetíží server, znamená to, že váš web má dost slabý hosting a měli byste s tím co nejdříve něco udělat.

Způsob, jakým jednotlivé vyhledávače nakládají s direktivou Crawl-delay se liší. Vysvětlíme si, jak to chodí u těch hlavních.

Google

Google nepodporuje direktivu Crawl-delay. Nicméně v Google Search Console můžete za tímto účelem nastavit rychlost procházení. Postup je následující:

  1. Přihlaste se do Google Search Console.
  2. Vyberte web, pro který chcete nastavit rychlost procházení.
  3. Klikněte na ikonu ozubeného kola v pravém horním rohu a vyberte ‘Nastavení webu’.
  4. V sekci s názvem ‘Rychlost procházení’ můžete pomocí posuvníku nastavit požadovanou rychlost. Automaticky je rychlost přednastavena na “Nechat Google určit optimální rychlost procházení mých stránek (doporučeno)”.

 

Nastavení rychlosti procházení v Google Search Console

Bing, Yahoo a Yandex

Bing, Yahoo a Yandex podporují direktivu Crawl-delaypro snížení rychlosti procházení webu (podívejte se na dokumentaci pro Bing, Yahoo a Yandex). Direktiva Crawl-delay by měla následovat hned za direktivou Disallow nebo Allow.

Příklad:

User-agent: BingBot
Disallow: /private/
Crawl-delay: 10

Baidu

Baidu tuto direktivu nepodporuje, nicméně je možné založit si účet v Baidu Webmaster Tools, kde můžete kontrolovat frekvenci procházení podobně jako v Google Search Console.

Kdy používat soubor robots.txt?

Doporučujeme vždy používat soubor robots.txt. Rozhodně nemůže uškodit. Právě naopak, může naznačit vyhledávačům, jak nejlépe prohledat váš web.

Osvědčené postupy pro soubor robots.txt

Umístění a název souboru

Soubor robots.txt by měl být vždy umístěný v kořeni webu (v nejvyšším adresáři webhostingu) a měl by se jmenovat robots.txt. Například: https://www.priklad.cz/robots.txt. Pamatujte, že URL tohoto souboru je, tak jako každé jiné URL, citlivé na velká a malá písmena.

Pokud se soubor robots.txt nenalézá na určeném místě, vyhledávače usoudí, že nemáte nastaveny žádné direktivy a prohledají celý web.

Pořadí

Je třeba mít na paměti, že jednotlivé vyhledávače nakládají se souborem robots.txt různě. Základním pravidlem je, že první direktiva vždy vítězí.

Nicméně v případě Googlu a Bingu platí, že víteží konkrétnější direktiva. Takže například direktiva Allow má větší váhu než direktiva Disallow, pokud je delší.

Příklad

User-agent: *
Allow: /o/spolecnosti/
Disallow: /o/

V tomto případě mají všechny vyhledávače, včetně Googlu a Bingu, zakázán přístup do adresáře /o/, s výjimkou podadresáře /o/spolecnosti/.

Příklad

User-agent: *
Disallow: /o/
Allow: /o/spolecnosti/

V tomto příkladu mají všechny vyhledávače kromě Googlu a Bingu zakázán přístup do adresáře /o/, a to včetně podadresáře /o/spolecnosti/.

Google a Bing mají do tohoto podadresáře přístup povolen, protože direktivaAllow je delší než direktiva Disallow.

Pro každého robota pouze jedna skupina direktiv

Pro každý vyhledávač mužete nastavit pouze jednu skupinu direktiv. Víc skupin by zmátlo vyhledávače.

Buďte co nejkonkrétnější

Při nastavování direktivy Disallow buďte co nejkonkrétnější, abyste předešli něžádoucím zákazům přístupu do souborů.

Příklad:

User-agent: *
Disallow: /adresar

V tomto příkladu mají vyhledávače zakázán přístup do:

  • /adresar/
  • /adresar-nazev-1
  • /adresar-nazev.html
  • /adresar-nezev.php
  • /adresar-nazev.pdf

Direktivy pro všechny roboty zahrnující specifické direktivy pro konkrétní roboty

Pokud máte nastaveny direktivy pro všechny roboty a za nimi následují direktivy pro konkrétní roboty, tito konkrétní roboti budou předchozí obecné direktivy ignorovat. Jestliže chcete, aby se jimi řídili, musíte je zopakovat.

Podívejme se na příklad, který to objasní:

Příklad

User-agent: *
Disallow: /tajemstvi/
Disallow: /jeste-nespusteno/

User-agent: googlebot
Disallow: /jeste-nespusteno/

V tomto případě mají všechny vyhledávače s výjimkou Googluzakázán přístup do adresářů /tajemstvi/ a /jeste-nespusteno/. Google má zakázán přístup do adresáře /jeste-nespusteno/, ale může procházet adresář /tajemstvi/.

Pokud chcete googlebotovi zakázat přístup jak do adresáře /tajemstvi/, tak do /jeste-nespusteno/, pak musíte tyto direktivy pro googlebota zopakovat:

User-agent: *
Disallow: /tajemstvi/
Disallow: /jeste-nespusteno/

User-agent: googlebot
Disallow: /tajemstvi/
Disallow: /jeste nespusteno/

Soubor robots.txt pro všechny (sub)domény

Direktivy zahrnuté v souboru robots.txt se vztahují pouze na hosting, kde je soubor umístěn.

Příklady

http://priklad.cz/robots.txt platí pro http://priklad.cz, ale už ne pro http://www.priklad.cz nebo pro https://priklad.cz.

Konfliktní instrukce: robots.txt vs. Google Search Console

V případě, že se váš soubor robots.txt dostává do konfliktu s nastavením v Google Search Console, Google dá obvykle přednost právě nastevení v Google Search Console.

Po spuštění soubor robots.txt zkontrolujte

Poté, co přidáte nové funkce nebo spustíte nový web: vždy zkontrolujte direktivy disallow / v souboru robots.txt.

V souboru robots.txt nepoužívejte noindex

I když se to může zdát jako dobrý nápad používat direktivu noindex v souboru robots.txt file, není to oficiálním standardem a Google to nedoporučuje. Sice není jasné proč to tak je, ale nejspíš bychom měli brát toto doporučení vážně.

Příklady souborů robots.txt

V této kapitole si ukážeme rozmanitou škálu příkladů souborů robots.txt.

Všichni roboti mají povolen přístup na celý web

Existuje více způsobů, jak sdělit vyhledávačům, že mohou procházet všechny soubory:

User-agent: *
Disallow:

Stejný efekt bude mít prázdný soubor robots.txt nebo žádný soubor robots.txt.

Všichni roboti mají zakázán přístup do všech souborů

User-agent: *
Disallow: /

Pamatujte, že jeden znak navíc může všechno změnit.

Všichni roboti Googlu mají zakázán přístup do všech souborů

User-agent: googlebot
Disallow: /

Pokud zakážete přístup googlebotovi, platí to pro všechny roboty Googlu včetně například robotů, kteří hledají zprávy (googlebot-news) a obrázky (googlebot-images).

Všichni roboti Googlu s výjimkou googlebot-news mají zakázán přístup do všech souborů

User-agent: googlebot
Disallow: /

User-agent: googlebot-news
Disallow:

Všichni roboti Googlu a Yahoo mají zakázán přístup do všech souborů

User-agent: Slurp
User-agent: googlebot
Disallow: /

Všichni roboti mají zakázán přístup do dvou adresářů

User-agent: *
Disallow: /admin/
Disallow: /soukrome/

Všichni roboti mají zakázán přístup do jednoho konkrétního adresáře

User-agent: *
Disallow: /adresar/neco-pdf.pdf

Googlebot má zakázán přístup do adresáře /admin/ a Slurp má zakázán přístup do adresáře /soukrome/

User-agent: googlebot
Disallow: /admin/

User-agent: Slurp
Disallow: /soukrome/

Robots.txt pro WordPress

Následující soubor robots.txt je optimalizovaný speciálně pro WordPress:

  • Administrátorská sekce by neměla být procházena.
  • Stránky vnitřního vyhledávání by neměly být procházeny.
  • Tag pages a stránky autora by neměly být procházeny.
  • Stránky s kódem 404 by neměly být procházeny.

User-agent: *
Disallow: /wp-admin/ #zakázat přístup do administrátorské sekce
Disallow: /wp-login.php #zakázat přístup do administrátorské sekce
Disallow: /search/ #zakázat přístup na stránky vnitřního vyhledávání
Disallow: *?s=* #zakázat přístup na stránky vnitřního vyhledávání
Disallow: *?p=* #zakázat přístup na stránky, u kterých nefungují permalinky
Disallow: *&p=* #zakázat přístup na stránky, u kterých nefungují permalinky
Disallow: *&preview=* #zakázat přístup na předchozí stránky
Disallow: /tag/ #zakázat přístup na tag pages
Disallow: /author/ #zakázat přístup na stránky autora
Disallow: /404-error/ #zakázat přístup na stránky se stavovým kódem 404

Sitemap: https://www.priklad.cz/sitemap_index.xml

Tento soubor robots.txt bude ve většině případů fungovat, ale stejně byste ho vždy měli přizpůsobit pro konkrétní situaci a otestovat.

Kde jsou limity souboru robots.txt?

Soubor robots.txt obsahuje direktivy

I když vyhledávače obvykle respektují soubor robots.txt, je to stále jen soubor direktiv a ne příkazů.

Stránky se stále objevují ve výsledcích vyhledávání

Stránky, které jsou kvůli souboru robots.txt nepřístupné pro vyhledávače, ale vedou na ně odkazy, se mohou stále objevovat ve výsledcích vyhledávání (pokud vyhledávače prohledávají stránku, která na ně odkazuje). Jako příklad si můžeme uvést:

Popis v Googlu není dostupný kvůli souboru robots.txt

Pro tip: je možné tato URL odstranit z Google pomocí nástroje na dočasné odstranění URL adres z výsledků vyhledáváníl v Google Search Console. Tato URL budou odstraněna pouze dočasně. Pokud chcete, aby zůstala odstraněna, musíte je pokaždé po 90 dnech zakázat znovu.

Ukládání do cache

Google oznámil, že se soubor robots.txt obvykle ukládá do cache až na 24 hodin. Je dobré mít to na paměti, pokud v souboru děláte změny.

Není jisté, jakým způsobem ostatní vyhledávače ukládají soubor robots.txt do cache.

Velikost souboru

Google v současnosti podporuje soubory robots.txt do velikosti 500 kb. Obsah přesahující tuto velikost může být ignorován.

Není jasné, jestli i ostatní vyhledávače mají stanovenou nějakou maximální velikost pro tento soubor.

Časté otázky ohledně souboru robots.txt

  1. Zabrání soubor robots.txt vyhledávačům, aby zobrazovaly zakázané stránky ve výsledcích vyhledávání?
  2. Měl bych být opatrný při používání souboru robots.txt?
  3. Mají vyhledávače povinnost řídit se souborem robots.txt?
  4. Budou vyhledávače procházet můj web, i když nepoužívám soubor robots.txt?
  5. Mohu místo Disallow používat v souboru robots.txt direktivu Noindex?
  6. Které vyhledávače se řídí souborem robots.txt?
  7. Jak mohu zabránit vyhledávačům v indexaci výsledkových stránek na svém WordPress webu?

1. Zabrání soubor robots.txt vyhledávačům, aby zobrazovaly zakázané stránky ve výsledcích vyhledávání?

Ne, podívejme se na příklad:

Popis v Googlu není dostupný kvůli souboru robots.txt

Důležité: pokud je stránka zakázána souborem robots.txt a zároveň obsahuje <meta name="robots" content="noindex,nofollow">, stejně zůstane v indexech vyhledávačů, protože ty se nikdy nedozví o <meta name="robots" content="noindex,nofollow">, dokud nebudou mít povolený přístup na tuto stránku.

2. Měl bych být opatrný při používání souboru robots.txt?

Ano, je třeba opatrnosti, to by vás ale nemělo odradit od používání tohoto souboru. Je to výborný nástroj, který zefektivní procházení vašeho webu.

3. Mají vyhledávače povinnost řídit se souborem robots.txt?

Teoreticky ne. Soubor robots.txt je pouze nepovinná direktiva.

4. Budou vyhledávače procházet můj web, i když nepoužívám soubor robots.txt?

Ano. Pokud vyhledávače nenajdou soubor robots.txt v kořeni (v nejvyšším adresáři webhostingu), usoudí, že žádné direktivy nejsou nastaveny a pokusí se projít celý váš web.

5. Mohu místo Disallow používat v souboru robots.txt direktivu Noindex?

To není moc vhodné.

Google vyloženě odrazuje od používání direktivy noindex v souboru robots.txt.

6. Které vyhledávače se řídí souborem robots.txt?

S jistotou víme, že všechny následující vyhledávače se tímto souborem řídí:

7. Jak mohu zabránit vyhledávačům v indexaci výsledkových stránek na svém WordPress webu?

Přidejte do svého souboru robots.txt následující direktivy. Tím vyhledávačům zabráníte indexovat stránky výsledků vašeho WordPress webu, pokud nebyly provedeny žádné změny ve fungování těchto stránek.

User-agent: *
Disallow: /?s=
Disallow: /search/

Čtěte také

Jste připraveni vyzkoušet ContentKing?

Objevte, co se děje na vašem webu.
Vložte platnou doménu, prosím (www.priklad.cz).