Vyhledávací servery

jak spolupracovat s roboty

Co jsou vyhledávače - Jak pracují vyhledávače - Robot prochází internetem - Jak přilákat roboty - Zakázání přístupu robotům - Robots.txt - Meta robots - Indexování - Klíčová slova - Vyhledávání - Příklady vyhledávačů - Trocha mytologie

Co jsou vyhledávače

Třeba Google, Jyxo, Altavista nebo Alltheweb. Servery, které mají velikou databázi o tom, která stránka internetu obsahuje jaké slovo. Protože umějí hledat v celém textu stránek, říká se jim fulltextové. Takových serverů existují řádově stovky. Nepleťte si fulltextové vyhledávače s katalogy (Yahoo, Seznam). Programům, které procházejí web a schraňují informace, se říká roboti, pavouci, spiders nebo crawlers.

Nejdůležitělší vyhledávač je Google. Více informací o Google.

Jak pracují vyhledávače

Ve třech krocích:

  1. Roboti (crawleři) sbírají data
  2. Pak se to zpracuje do databáze (indexování)
  3. Nakonec se to zpřístupní návštěvníkům, aby mohli klást dotaz (webmodul).

Robot prochází internetem

Většinou někde začne, třeba v nějakém katalogu. Najde odkaz a sleduje ho. Nalezenou stránku si stáhne pro zaindexování, zároveň hledá další odkazy, které případně opět sleduje, aby si to zase postahoval.

Z toho vyplývá, že robot může odhalit pouze stránku, na kterou vede nějaký odkaz. Musí přitom jít o klasický odkaz (na to obzvláště upozorňuji milovníky různých JavaScriptových parádiček). Pokud na vaše stránky nebudou roboti chodit, žádný čtenář ty stránky nemůže najít fulltextovým vyhledávačem.

V praxi ale roboti najdou jenom část stránek, které existují, protože to prostě všechno nestíhají. 

Jak přilákat roboty

Někteří přijdou sami po té, co se vaše stránka objeví v nějakém katalogu. Jiné roboty musíte popohnat. Většinou se to dělá na hlavní stránce vyhledávací služby (třeba Altavista) nenápadným odkazem (přidej odkaz, add a link, submit site, add site a podobně). Zadá se URL adresa (doporučuji kontrolovat), to je vše. Roboti časem přijdou.

Google a další moderní roboti prý přijdou na stránku teprve tehdy, když najdou určité množství odkazů, které na stránku míří. Proto je třeba mít zajímavý obsah, aby jiní autoři na moje stránky odkazovali.

Osobně jsem velmi skeptický k programům, které slibují, že přidají odkaz do spousty vyhledávačů. Jednak jde o vyhledávače zahraniční -- ty nejsou tak důležité jako české. Druhak se říká, že ty programy stejně jenom schraňují informace o zadavateli, aby to mohli prodat. Opravdu důležitých dobrých vyhledávačů je jen málo, není třeba být ve všech špatných. Navíc například Altavista těmto programům blokuje přístup a Google je prý v algoritmech penalizuje.

Zakázání přístupu robotům

Webmasteři mohou nastavit, aby na web roboti nechodili nebo aby chodili jenom někteří a někam. Nejčastějším důvodem pro tato opatření bývá velké zatížení linky nebo choulostivost informací. Existují dva základní způsoby, jak to udělat:

  1. Pro celý web najednou souborem robots.txt
  2. Pro každý soubor zvlášť pomocí meta tagu v hlavičce

Robots.txt

Každý robot, který přijde prohledávat váš server, by se měl napřed podívat do souboru robots.txt, zda nemá zakázaný vstup. Soubor robots.txt musí být psán malými písmeny a musí být umístěn v kořeni webu (to jest hned za .cz nebo .com nebo tak). Je to obyčejný texťák. Jednotlivé řádky říkají, který robot (User-agent) kam nesmí (Disallow).

Příklady

User-agent: *

Disallow: /php/

čili všichni roboti (to je ta hvězdička) nesmějí do adresáře /php (protože řetězcem "/php/" začíná relativní URL souborů v něm). Nebo:

User-agent: Scooter

Disallow:

 

User-agent: Gulliver

Disallow: /

Takový zápis říká, že Scooter smí všude a Gulliver nikam. Všimněte si povinného prázdného řádku mezi položkami. Nebo:

User-agent: *

Disallow: /cgi-bin/

Disallow: /in

Tento zápis zakázal všem robotům (hvězdička) vstupovat do adresáře /cgi-bin a načítat stránky, které začínají řetězcem "in". Takže třeba info.html, index.html a podobně. To je mimochodem i přesná definice položky Disallow: zakazuje sledovat cesty, které začínají vypsaným řetězcem.

Všimněte si, že za jedním řádkem User-agent se může vyskytovat více řádků zákazů.

User-agent

Co se tam dá psát kromě hvězdičky? Jméno robota. Žel, nepodobá se jménům služby a já těch jmen moc neznám. Informace se dají najít na stránce http://www.robotstxt.org/wc/active/html/index.html (anglicky), za odkaz děkuji Davidu Moravcovi. 

Problémy

Zpřístupnění offline

Intenret Explorer když stahuje soubory pro prohlížení offline, tak se dívá na robots.txt a zdá se, že jeho omezení také respektuje. Pokud chcete, aby si vás čtenáři mohli číst v autobuse, tak nedělejte robots.txt moc restriktivní.

Meta robots

Meta tag v hlavičce umožňuje zakázat robotům jednak indexování obsahu, jednak sledování odkazů. Důvody pro takové zákazy mi nejsou moc jasné, leda snad má smysl zakázat indexování některých rámů (typicky stránka s menu: noindex, follow). Ještě musím zmínit, že opět ne všichni roboti to berou na vědomí.

Do hlavičky se v HTML napíše tag:

<meta name="robots" content="noindex, nofollow">

Přípustné hodnoty:

noindex
Obsah stránky nebude indexován
index
Obsah stránky bude indexován (normální hodnota)
nofollow
Odkazy nebudou sledovány
follow
Odkazy budou sledovány (normál)

Je dost otrava, že se to musí psát do každé stránky znova. Naštěstí ne každý se setkává s problémem vlezlých robotů.

Indexování

Čili zpracování dat do databáze. Každý vyhledávač si žvýká nasbírané informace po svém. Nejčastěji si vypisuje všechna slova, počítá jejich váhu a dává je do relace s adresou stránky.

Váha (důležitost)

Při hledání slova vyplivne databáze napřed adresy stánek, na kterých má hledané slovo velkou váhu. Jak se váha počítá? Aneb jak se pozná, zda je slovo pro stránku charakteristické? Především tak, že se dané slovo vyskytuje v titulku stránky, v klíčových slovech, v popisu a v nadpisech. Je nutno poznamenat, že každý vyhledávač to počítá jinak

Co vyhledávače sledují Jak je to v HTML Důležitost (váha)
titulek <title>text titulku</title> obrovská
klíčová slova <meta name=keywords
content="slovo, slovo">
značná,
někdy žádná (Google)
popis (description) <meta name=description
content="Stručný popis">
různá
nadpis 1. úrovně <H1>Nadpis</h1> značná
ostatní nadpisy <Hn>Nadpis</hn> sporná
začátek stránky <body>Několik prvních slov ... větší než malá
adresa URL jméno souboru včetně cesty různá
text odkazů mířících na tu stránku z jiného serveru <a href="adresa">text odkazu</a> u některých robotů obrovská (Google)
alty u obrázků <img alt="zástupný text" ...> malá
text stránky prostě text malá

V tabulce jsem nastínil pouze nejčastější kritéria. Ještě jednou musím zdůraznit, že se různé vyhledávače v počítání váhy opravdu velmi liší. Například Google prý zcela ignoruje klíčová slova. Nebo existují specializovaní roboti, kteří hledají třeba jenom obrázky nebo počet odkazů.

Klíčová slova

Velký význam bývá připisován klíčovým slovům (keywords) a popisu (description). Jejich popis mám u meta tagů. V zásadě se dá říci, že keywords by měl být seznam slov charakteristických pro danou stránku. Například zápis klíčových slov pro tuto stránku:

<meta name="keywords" content="vyhledávač,indexování,meta,keywords,description,robot,robots.txt, user-agent, disallow, altavista, google">

Význam klíčových slov v poslední době (myšleno 2002) poněkud upadá, protože spousta lidí do nich píše nesmysly a marketingové žvásty. Autoři robotů to vědí, a tak význam keywords v kritériích snižují.

Vyhledávání

Dotazuje databáze a vyhazuje to výsledky.

Forma výsledků

Je zajímavé popřemýšlet, jak se moje nalezená stránka zobrazí. Nejčastěji se zobrazuje titulek stránky (obsah tagu <title></title>), pod ním tři různé věci:

  1. Buďto obsah meta tagu description,
  2. nebo prvních několik slov ze začátku stránky
  3. nebo kusy textu kolem hledaného výrazu.

Nejčastěji to býval právě description (takže je dobré jej zadávat), poslední dobou vítězí kusy textu kolem hledaného výrazu (zejm. Google, Webfast a Jyxo). Hlavně je ale třeba mít správně zadaný titulek stránky.

Řazení výsledků

Různé vyhledávače řadí výsledky různě. Obecně se dá říci, že čím více se hledaná slova na stránce vyskytují a čím mají významnější pozici (titulky, nadpisy), tím je stránka řazena výše. Sleduje se i text odkazů mířících na stránku, zda obsahuje hledané slovo. Algoritmy ale nikdo přesně nezná a liší se nejen od vyhledávače k vyhledávači, ale např. na Google prý každý měsíc. Proto nemá cenu psát sem víc, než odkaz na archiv české konference SEO (search engine optimalization).

Page Rank

Další metodou je takzvaný PageRank (PR), který používá Google (GPR) a poslední dobou mnoho jiných vyhledávačů (aktualizováno 2003). PR vyjadřuje něco jako věrohodnost nebo důležitost stránky. Page Rank ovlivňuje řazení výsledků, nikdo ale přesně neví jak (asi podstatně). Jaké mají vaše stránky Page Rank se můžete dozvědět, pokud si stáhnete a nainstalujete Google Toolbar, což je taková lištička do prohlížeče.

GPR se počítá podle toho, kolik stránek danou stránku odkazuje, čím více, tím lepší PageRank. Navíc odkazy ze stránek s vyšším PR mají větší váhu. Google Page Rank se počítá postupným přepočítáváním (iterací). Existuje na to vzoreček. Více o Google.

Nejlepší český vyhledávač Jyxo má navíc i JyxoRank, který se počítá podle toho, z kolika různých domén druhé úrovně vedou na stránku odkazy. Podle JyxoRanku řadí výsledky svého hledání, ale též je dává k dispozici Atlasu a Seznamu pro řazení odkazů v sekcích (psáno v létě 2003).

Čeština

S češtinou jsou spojeny dvě zásadní otázky, které spolu nesouvisejí:

  1. Jak vyhledávat háčkovaná a čárkovaná slova?
  2. Jak pozná vyhledávač, že je stránka česky? (Třeba Altavista nebo Google to umí poznat)

Háčky a čárky

Dříve bylo nutno zadávat dotaz dvakrát. Jednou bez diakritiky, podruhé s ní. Vyskytují-li se navíc ve slově znaky ž, š a ť, bylo třeba opakovat hledání v jiném kódování. Dnes (aktualizováno 2003) už to není potřeba, všechny moderní vyhledávače rozumějí češtině. Umějí rozeznat všechny hlavní znakové sady iso-8859-2, windows-1250 i UTF-8.

Někteří hloupější kódování češtiny ignorují a zapisují slova tak, jak je vidí v ascii kódu. To znamená, že třeba písmenko š si zapíšou jednou jako $185, jindy jako $154. Většina moderních vyhledávačů si texty ale převádí do unicode.

Rozpoznání jazyka

Jak vyhledávače poznají, v jakém jazyce je text? Různě. Mají na to čtyři možné způsoby:

  1. hledají meta deklaraci jazyka: <meta http-equiv="Content-Language" content="cs">
  2. hledají atribut lang=cs v jakémoli tagu
  3. provádějí heuristickou analýzu: čtou text a snaží se počítat slova charakteristická pro ten který jazyk (pro češtinu např. "se", "ale" nebo "je").
  4. orientují se podle generické domény (.cz) což je ale velmi nespolehlivé

Protože žádná z popsaných metod není spolehlivá (označení jazyka ve většině stránek není, heuristická analýza je pracná), není divu, že se vyhledávače občas v rozpoznání jazyka pletou.

Příklady vyhledávačů

České:

Aktualizováno v červnu 2003, za doplnění děkuji Michalu Illichovi (únor 2003).

Anglické:

Trocha mytologie

Všechno, co jsem psal na této stránce, je do značné míry nejisté. Protože nejsem permanentně připojen na net, nemohu chování vyhledávačů testovat, stejně bych na to neměl čas. Většinu informací jsem někde četl nebo převzal ze specifikací. A v tom je právě problém.

Domnívám se, že každý, kdo popisuje meta tagy a vůbec chování vyhledávačů, také jenom odněkud opisuje, upravuje a přejímá. Obávám se, že skoro nikdo nedělá v oblasti vyhledávačů seriózní výzkum. Proto jsou informace na této stránce jistým druhem mýtu, který se předává z generace na generaci; pravdivé jádro v něm sice je, ale kdo ví, jak je to opravdu?

Koncem roku 2002 se objevila česká konference SEO (Search Engine Optimalization), tak se snad dozvíme něco zajímavého a nového.

Vizte též: Katalogy, Google, Meta tagy, správa souborů, nastavení serveru, čeština na webu, moje analýza úspěšnosti katalogů, Hledání na vlastním serveru, Titulek stránky
Odkazy mimo: Seznam českých vyhledávacích serverů Petra Kocny, Články o internetovém marketingu od Marka Prokopa, Zobecnění PageRanku Michal Illich, Obecné rady pro optimalizaci Petr Weida

o tvorbě, údržbě a zlepšování internetových stránek

Píše Yuhů, dusan@pc-slany.cz

Hledání:

Jak psát web: www.jakpsatweb.cz

Píše Yuhů: http://dusan.pc-slany.cz, mail: dusan@pc-slany.cz

Poslední aktualizace 10.12.2003