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 minutUser-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