Vyhledávací roboti

jak spolupracovat s pavouky

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 Altavista nebo Google. 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é. Také se jim říká pavouci, spiders nebo crawlers.

Takových serverů existují řádově stovky. Nepleťte si, prosím, fulltextové vyhledávače s katalogy (Yahoo, Seznam).

Jak pracují vyhledávače

Ve třech krocích:

  1. Roboti 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.

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 nemůže odhalit stránku, na kterou nevede žádný 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 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 prý přijde na stránku teprve tehdy, když najde určité množství odkazů, které na stránku míří. Proto je třeba mít zajímavý obsah, na který jiní odkazují.

Osobně jsem 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 nedávno těmto programům zablokovala přístup. 

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ů.

Příklad mého souboru robots.txt.

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

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é, ale to neřeším. Ještě musím zmínit, že 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 vyskytuje v titulku, klíčových slovech, v popisu a v nadpisech.

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 to většinou neovlivníte u některých robotů obrovská
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 zcela ignoruje keywords. 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ě 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í

Z hlediska autora stránek je vlastní vyhledávací mechanismus nezajímavý. Prostě se 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). 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.

Page Rank

Další metodou je takzvaný PageRank (PR), který používá Google 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 (všichni se shodují na tom, že 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.

Č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

Většinou je nutno zadávat dotaz dvakrát. Jednou bez diakritiky, podruhé s ní. Vyskytují-li se navíc ve slově znaky ž, š a ť, je třeba opakovat hledání v jiném kódování. Na českém webu se totiž vyskytují texty ve třech znakových sadách: win, iso a bez diakritiky. Vizte rozdíly kódování.

Roboti ale 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.

Proto při vyhledávání vždy kontrolujte, v jakém pracujete kódování (zobrazit - kódování).

Ze stejného důvodu je dobré zadávat klíčová slova nadvakrát -- jednou s diakritikou a podruhé bez diakritiky. Nebo natřikrát (šžť). Více v popisu meta tagů.

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, prostě čtou text a snaží se počítat slova charakteristická pro ten který jazyk (např. "se", "ale" nebo "je" pro češtinu).
  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 často v rozpoznání jazyka pletou.

Příklady vyhledávačů

České: 

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, Meta tagy, správa souborů, nastavení serveru, čeština na webu, moje analýza úspěšnosti katalogů
Odkazy mimo: Seznam českých vyhledávacích serverů Petra Kocny, O vyhledávacích službách

Píše Yuhů
dusan@pc-slany.cz
Jak psát web O tvorbě, údržbě a zlepšování internetových stránek.

Základy HTML CSS FrontPage JavaScript

Hledání


Rozšířené


Jak psát web: http://dusan.pc-slany.cz/internet/

Píše Yuhů: autorova stránka, mail: dusan@pc-slany.cz

Poslední aktualizace 10.01.2003