Vylepšené zpracování robots.txt

Rozšířili jsme robots.txt o možnost omezení rychlosti stahování, použití tagu Allow a několik dalších funkcí.

Při vylepšování robota jsme se dotkli i zpracování robots.txt. SeznamBot nyní z větší části podporuje navrhovaný rozšířený standard a nějakou tu drobnost navíc.

Tag Request-rate – určení maximální rychlosti, s jakou smí robot procházet Vaši doménu. Např. Request-rate: 10/1m znamená, že robot smí stáhnout za minutu maximálně 10 stránek. Toto omezení můžete dokonce specifikovat pro konkrétní čas, Request-rate: 120/60s 1800-0359 robotovi říká, že v době od 20:00 do 05:59 smí stáhnout 120 url za minutu. Čas se uvádí v UTC, proto ta na první pohled podivná čísla.

Tag Allow – výjimka z pravidla Disallow. Může se hodit v případě, že zakážete indexaci nějakého adresáře, ale rozhodnete se povolit jeden z jeho podadresářů. Nezáleží na tom, v jakém pořadí pravidla použijete, robot si vybere pravidlo s delší shodou.

Zápis adresy pomocí bashovského regulárního výrazu – hledá se vždy přesná shoda, tedy nejen shoda na začátku cesty, ovšem s možností použítí zástupných znaků: znak * odpovídá jakékoli sekvenci znaků, ? odpovídá jakémukoli znaku, [abc] odpovídá znaku a, b nebo c, [!ab] jsou všechny znaky kromě a, b. Např. pravidlo Disallow: /clanky/[1234567890]* zakáže zpracování všech článků, začínajících číslem. Tento způsob zpracování robots.txt se použije pouze, pokud uvedete Robot-version: 2.0.

Více hvězdiček u tzv. Seznam syntaxe, která je použita, pokud není uvedeno jinak. Např. Disallow: /*/diskuze/*/ zakáže indexování jednotlivých odpovědí v diskuzi.

Příklad nových robots.txt:

User-agent: SeznamBot
Request-rate: 10/1m 0600-1459
  # 8:00-16:59 středoevr. letního času
Request-rate: 30/1m 1500-0559
  # od 17 hodin až do rána
Disallow: /
Allow: /clanky/
  # povol pouze indexování článků
Disallow: /clanky/diskuze

Podrobné informace najdete v nápovědě.

  • [1]Nezpomalí se Vám práce robota, když bude rozlišovat takovéto detaily?

  • [2]tag allow mi dělá velkou radost – u některých projektů se to bude rozhodně hodit.

  • [3]Request-rate rate je jeden z neuzitecnejsich zaznamu ktere jsem kdy videl. Hned to zkusim!

  • [4]Výborně. Kéž by se takové věci podařilo rozšířit i na další významné roboty, snad se tak postupně stane až se návrh nového standardu stane standardem…

  • Pavel

    [5]pochopil jsem cas spravne… resp. bude fungovat jak je v komentarich? Prosim nekoho o kontrolu 🙂 User-agent: * Request-rate: 30/1m 2300-359 # 1:00-5:59 středoevropského letního času Request-rate: 10/1m 400-2259 # od 6:00-0:59

  • [6]Neni request-rate zbytecny? Pro weby, co maj par stranek a vytvorenou mapu stranek je to az moc zbytecnej luxus. Spis by me zajimalo, jestli SeznamBot rozumi <changefreq>daily</changefreq> v sitemap.xml . Ani v napovede o tom neni zminka.

  • Honza

    [7]tak jsem koukal na seznam a na ( střechy na klíč ) ta tapeta do 6 stranky je SUPER 🙂 gratuluji dobra prace….. mozna lepe poupravit, nebo muzete zase MAZAT http://search.seznam.cz/?q=st%C5%99echy+na+kl%C3%AD%C4%8D&mod=f&sug=1

  • [8]Heh… Je videt, ze za fulltextem sedej ty spravny lidi ;). Aspon, ze ty placeny odkazy vypadaj lip. Seznam by se mel zamyslet nad tim, jak tento problem resi google…

  • [9]Allow podporuje SeznamBot už aspoň dva roky. Sám jsem to testoval. Už se dá v jednom pravidle použít více než jedna hvězdička?

  • bolovanos

    [10]2Yuhů: umime 🙂 “V jednom pravidle se může hvězdička vyskytovat vícekrát.” <- http://napoveda.seznam.cz/cz/hledani-fulltext-komunikace-s-vyhledavaci-robots-txt.html#zastupne_znaky

  • Marek

    [11]Výjimka! Chápu, že ajťáci knihy do ruky neberou, ale pravidla českého pravopisu jsou už dávno dostupná i na netu.

  • [12]Když snížím request rate, odrazí se to jen na pomalejšímu crawlingu, nebo se sníží i počet procházených stránek? U microsite je to fuk, ale u webu s 20tis. stránkami by to mohl být problém…

  • digri

    [13]Jakub: request-rate může zpomalit/zrychlit indexování jednotlivých domén, jinak to pro robota není nic náročného; Pavel: ano bude; Unreal][: request-rate určitě není zbytečný, některé servery standardní rychlost SeznamBota neunesou. “changefreq” je pro robota jen hintem, kterým se nemusí řídit; Yuhů: ne, Allow jsme neuměli; MartiN: ano, v důsledku se to stát může a řekl bych, že je to celkem logické. Pokud si robot naplánuje nějaký počet stránek a nestihne je projít, bude nucen snížit frekvenci indexace. Na počet zaindexovaných stránek to vliv nemá, kromě toho 20tis. stránek ještě není tak velký web; Jako alternativu k Request-rate jsme přidali ještě podporu Crawl-Delay (http://help.yahoo.com/l/us/yahoo/search/webcrawler/slurp-03.html).

  • Loko

    [14]Fulltext na seznamu v posledních dnech jedna vélká tragédie, naštěstí všechny moje kamarády a známé “převychovávám” na používání Googlu. Google ani nepotřebuje konkurenčně tlačit na seznam, seznam se odřízne časem sám.

  • alilab

    [15]Jak často se indexují stránky? Zaindexovala se mi část, ale potřebuji celý web. Obsah mého robots.txt : Useragent: * Disallow:

  • [16]Hm, podle statistik se na náš e-shop už několik týdnů robot nepodíval. Je to od doby nasazení nového robota. Několikrát jsem posílal dotaz na helpdesk – marně. Nikdo se neozval.

  • Karel Jedlý

    [17]Uvedl jsem robots.txt mimo jiné i User-agent: SeznamBot Request-rate: 10/1m 2130-0400 Poslal jsem na stránky robota přes přidávací formulář a ten začal stránky indexovat. Měl jsem za to, že Request-rate časově omezuje přístup robota.

  • digri

    [18]Request-rate omezuje rychlost robota v uvedeném intervalu, neříká mu, v kolik má přijít.

  • [19]Taky jsem měl za to, že Request-rate časově omezuje přístup robota. Je tedy nějaká možnost jak mu říct kdy má přijít??

  • [20]A proč nerespektovat zajeté “Crawl-delay”?