Robots.txt

Obsah článku:

Co je robots.txt?

Robots.txt v angličtině robots exclusion protocol nebo robots exclusion standard je soubor uložen v kořenovém adresáři, který umožňuje definovat pravidla pro procházení vašeho webu. Tento soubor by si měl každý robot, který vstoupí na vaše webové stránky nebo e-shop prohlédnout a na základě uvedených informací dále procházet web. Můžete přesně definovat, na které stránky robot chodit může a na které chodit nemá. Správným nastavením souboru robots.txt se můžete vyhnout nechtěnému přetížení webu nebo zabránit procházení některých parametrů na vašem webu a optimalizovat tak crawler budget.

Pravidla pro robots.txt

Pokud chcete aby váš soubor robots.txt fungoval správně, je zapotřebí dodržovat tyto dvě pravidla.

  • Soubor musí být umístěn v kořenovém adresáři webu. www.domena.cz/robots.txt.
  • Musí být psaný pouze malými písmeny.

Jak napsat soubor robots.txt

V první řadě si představíme definice zástupných znaků a direktiv, které můžete v robots.txt používat. Ukážeme si také několik příkladů, které vám objasní chování a logiku tohoto souboru.

User-agent:

User-agent vám umožní definovat o jakého robota se jedná. Pokud chcete definovat pravidla pro všechny roboty najednou můžete použít zástupný znak hvězdičky(*). Zápis by v tomto případě vypadal takto: User-agent: *

Disallow:

Disallow vám umožňuje definovat do jakých adresářů robot jít nemůže. Když budete chtít zakázat procházení adresáře admin zápis budete vypadat takto: Disallow: /admin/. V některých případech budete chtít robotům zakázat úplný přístup na vaše stránky. V tomto případě použijete zástupný znak lomítka(/).

  • Disallow: /admin/ (Zákaz do adresáře admin)
  • Disallow: / (Úplný zákaz přístupu)
  • Disallow: (Povolení přístupu)

Allow:

Allow umožňuje znovu povolit vaše zakázané URL. Tento přístup bohužel nerespektují všichni roboti a proto nastavení nemusí v některých případech fungovat. Představte si situaci, ve které chcete omezit robotům Googlu přístup na celý váš web a povolit jen adresář public. Zápis bude vypadat takto:

  • User-agent: Googlebot (Jakého robota nastavujeme)
  • Disallow: / (Zákaz přístupu na všechny stránky)
  • Allow: /public/ (Povolení přístupu do adresáře public)

Hvězdička (*)

Roboti chápou hvězdičku jako zástupný znak, který je využíván v regulárních výraz. Hvězdička nahrazuje libovolný počet znaků. Představte si situaci, ve které budete chtít vyloučit procházení filtračních parametrů pro všechny roboty. Zápis budete vypadat takto:

  • User-agent: * (Platí pro všechny roboty)
  • Disallow: /*?manufacturer (Zakazuje procházení aktivního filtru výrobce)
  • Disallow: /*?stock (Zakazuje procházení aktivního filtru skladové dostupnosti)

Sitemap:

Direktiva sitemap vám umožňuje předat informaci o cestě k souboru sitemap, který by měl obsahovat informace o všech důležitých stránkách webu.

Více o souboru sitemap.

Komentáře v robots.txt

Komentáře v robots.txt doporučujeme používat i když je soubor veřejný. Za několik měsíců si nebude ani jeden člověk z firmy pamatovat proč někteří roboti do adresáře můžou a proč jiní ano. Znak pro komentář je hashtag (#).

  • #Sem napište váš komentář
  • User-agent: *
  • Disallow:

Doplňující informace

Pravidla se v souboru robots.txt nedědí. Pokud nastavujete pravidla pro všechny roboty přes User-agent: * nemělo by se vám stát že špatně definujete nebo vynecháte nějaké pravidlo. Když se po nějaké době rozhodnete upravit pravidla jednoho robota a ostatním je nechat stejná, je zapotřebí zmíněného robota nastavit celého znovu. Žádné pravidla zmíněné pro všechny roboty spadající pod User-agent: * peo zmíněného robota neplatí.

Nastavování více robotů

Modelový příklad: Vaše firma se rozhodla zamezit přístup robotům Yahoo do adresáře /private/, ale z nějakého důvodu tento adresář chcete nechat přístupný všem ostatním robotům.

  • User-agent: * (Nastavení pro všechny roboty)
  • Disallow: /php/ (Zákaz přístupu do adresáře php)
  • Disallow: /kosik/ (Zákaz přístupu do adresáře kosik)
  • Disallow: /login/ (Zákaz přístupu do adresáře login)
  • Disallow: /registrace/ (Zákaz přístupu do adresáře registrace)

 

  • User-agent: Googlebot (Nastavení pro Googlebota)
  • Disallow: /admin/ (Zákaz přístupu do adresáře admin)

Takový zápis Googlebotu umožňuje vstoupit všude kromě adresáře admin a všem ostatním robotům ne, pokud to byl záměr vše je v pořádku. Pokud jste chtěli nastavit stejné pravidla a jen Googlebota o toto jedno pravidlo rozšířit je zapotřebí použít pro Googlebota i ostatní pravidla. Viz ukázka:

  • User-agent: * (Nastavení pro všechny roboty)
  • Disallow: /php/ (Zákaz přístupu do adresáře php)
  • Disallow: /kosik/ (Zákaz přístupu do adresáře kosik)
  • Disallow: /login/ (Zákaz přístupu do adresáře login)
  • Disallow: /registrace/ (Zákaz přístupu do adresáře registrace)

 

  • User-agent: Googlebot (Nastavení pro Googlebota)
  • Disallow: /php/ (Zákaz přístupu do adresáře php)
  • Disallow: /kosik/ (Zákaz přístupu do adresáře kosik)
  • Disallow: /login/ (Zákaz přístupu do adresáře login)
  • Disallow: /registrace/ (Zákaz přístupu do adresáře registrace)
  • Disallow: /admin/ (Zákaz přístupu do adresáře admin)

Indexace stránek

Robots.txt neslouží pro zákaz indexace webových stránek, ale pouze pouze pro zákaz procházení webových stránek. Stránka, která má v souboru robots.txt zakázané procházení může být tedy indexována. Vyhledávač se o ní může dozvědět i jinými způsoby než je crawlování webu a to například skrze odkazující zdroje. Zakázat indexaci jednotlivých stránek můžete pomocí meta tag robots přidáním příkazu noindex.

Jména robotů

  • Google - Googlebot
  • Seznam - Seznambot
  • Bing - Bingbot
  • Slurp - Yahoo

Další zajimavé informace najdete ve slovníku pojmů.

Zpět do obchodu