Blokace přístupů robotů (crawlerů)

Fulltextoví roboti nebo crawleři prohledávají internet a sbírají data (textový obsah, metadata i informace o zpětných odkazech), které poté využívají pro indexaci a případné zobrazení ve výsledcích vyhledání. Ne vždy jsou však tyto přístupy žádané, ať už vhledem nežádanosti či zatížení prezentace a hostingového účtu.

Vyhledávací roboti analyzují i duplicitu, umí pracovat s kanonickými stránkami a také s HTTP přesměrováváními a stavovými kódy jako jsou 4xx či 2xx. Crawler bývá také naprogramován, aby na webové prezentace nevstupoval v takové míře, aby server zatěžoval. To však zcela neplatí, jelikož je to ovlivněno počtem stránek a souborů na webu, které musí robot zaindexovat, tak i frekvencí změn na stránkách, Pagerankem vyhledávačů a technickými omezeními na serverech. Proto je nutné vytvořit pravidla /blokace, co má konkrétně který crawler zaznamenávat a v jakém čase.

Blokace pomocí robots.txt

Soubor robots.txt informuje roboty, jak zacházet s indexací vašeho obsahu. Tento soubor stačí umístit do kořenového adresáře, odkud se načítá vaše prezentace. Pokaždé, když přistoupí robot na váš web, měl by si stáhnout informace z tohoto souboru a podle toho reagovat. Základní pravidla pro robots.txt jsou:

  • User-agent - určuje, na kterého robota se pravidlo vztahuje, znak * platí pro všechny roboty
  • Allow - nastaví všechny složky a soubory pro povolení procházení
  • Disallow - nastaví všechny složky a soubory pro blokaci procházení

Databázi různých názvů robotu pro použití naleznete zde. V případě Googlebotů můžete nastavit pravidla i pro jednotlivé roboty:

  • Googlebot-Mobile - indexuje stránky pro mobilní zobrazení
  • Googlebot-Image - indexuje pouze stránky s obrázky
  • Mediapartnes-Google - provádí analýzu pro účely systému AdSense
  • Adsbot-Google - provádí analýzu pro účely systému AdWords

Dalším důležitým pravidlem je Crawl-delay (u Googlebotů se nastavuje zpoždění přímo ve webmaster tools), které určuje zpoždění procházení, tedy např.:

  • Hodnota Crawl-delay: 30 znamená, že povolíte indexaci 1000 stránek webu za 8.3 hodiny.
  • Hodnota Crawl-delay: 500 znamená, že povolíte indexaci 1000 stránek webu za 5.5 dnů.

Zástupné znaky jsou také velmi důležité a značí:

* - libovolný řetězec znaků (Disallow: *.asp$ - značí, aby crowler blokoval URL s koncovkou .asp)

$ - konec adresy (Disallow: /thumbnail$ - značí, že robot bude blokovat vše ve složce /thumbnail, nikoliv ve složkách /thumbnail-1 či /thumbnail-2)

Ve verzi robots.txt 2.0 jsou pravidla rozšířena o regulérní výrazy známé z unixového shellu (*, ?, \, []), žina> ty je však robotovi nutné oznámit direktivou Robot-version: 2.0.

Důležité upozornění je, že pro roboty googlu a seznamu musíte definovat pravidla zvlášť (SeznamBot má dokonce i některá vlastní pravidla - viz zde), tedy například výsledný soubor může vypadat takto:

Pro všechny roboty je zákaz indexovat vše na webu s výjimkou

# souborů ve složce /obrazky/ a také
# zakázána podsložka /obrazky/nahledy/

User-agent: *
Disallow: /
Allow: /obrazky/
Disallow: /obrazky/nahledy/

# robotům googlu zakázán přístup do složky /admin/

User-agent: Googlebot
Disallow: /admin/

# robotům seznamu zakázán přístup do všech URL, které obsahují (?)
# a zároveň indexuje rychlostí 100 dokumentů za 15 minut

User-agent: Seznambot
Robot-version: 2.0
Disallow: /*?
Request-rate: 100/15m

# Umožni robotům přistupovat na stránky v omezeném počtu v časovém intervalu

User-agent: *
Crawl-delay: 10

Zde předáváme soubor robots.txt který může posloužit jakožto výchozí soubor který zakazuje nežádoucí roboty a v případě žádoucích zmenšuje počet požadavků v čase na odkaze zde.

Meta tag robots

Další možností blokace je využití metatagu robots přímo v HTML kódu stránky. Ten se umísťuje mezi tagy

as atributem content, který může mít několik hodnot:

  • index, noindex - povoluje x zakazuje indexaci stránky
  • follow, nofollow - povoluje x zakazuje robotům následovat odkazy z dokumentu na další stránky
  • all - zkratka pro index a zároveň follow
  • noarchive - zakazuje uchovávání kopie stránek v cachi vyhledávače
  • nosnipet - zabraňuje zobrazování úryvků dané stránky ve vyhledávači
English Česky Dutch