• TwitterRSS
  • Domů na Webylon
  • Kritika W3C
  • Velká kupka sena

    8. srpna 2004

    Používáte fulltextové vyhledávače? Tipuji, že ano. Kdysi bylo zárukou návštěvnosti vhodně zvolené doménové jméno a registrace v populárním katalogu dané země. Nyní stejný výsledek zajišťuje první pozice ve vyhledávači.

    O třídicích algoritmech předních světových vyhledávačů skoro nikdo nic neví. Mnoho článků pojednává o tom, jak by měl ideální vyhledávač pracovat. Co by měl zohledňovat, co by měl zatracovat. Tyto články bývají plné mýtů, k jejichž vyvrácení stačí jednoduchá úvaha.

    Já, bot

    Prvotním zájmem každého vyhledávače je zobrazovat relevantní aktuální výsledky na návštěvníkem zadaný dotaz. Najde-li návštěvník to, co hledá, bude s prací vyhledávače spokojen.

    Zajímá běžného návštěvníka vnitřní struktura stránky? Zkoumá zdrojový kód? Zpravidla ne. Vidí to, co zobrazí jeho prohlížeč. Podle toho, co vidí, hodnotí kvalitu předložených výsledků hledání. Vyhledávač by se tudíž měl dívat na stránku podobně, jako se na ni dívají používané prohlížeče.

    Ideální vyhledávač by měl ignorovat sémantiku ve zdrojovém kódu, protože tu návštěvník nevidí. Webmaster se mu tím jen snaží poradit, co je na stránce důležité. Jenže může lhát. A tuto lež návštěvník stránky neprokoukne, protože zdrojový kód nezkoumá. Lživá sémantika by mohla výrazně zkreslit výsledky hledání. Něco takového žádný vyhledávač nechce.

    Rozdíl mezi tímto zvýrazněním a tímto zvýrazněním drtivá většina návštěvníků ve svém prohlížeči nevidí. Proč by je měl jinak vidět vyhledávač? Elementem <b> říkám, že text je tučný. Elementem <strong> říkám, že text je důležitý. Vyhledávač se ale snaží pochopit, co uvidí většina návštěvníků. A ta nejspíš uvidí v obou případech tučný text. Zřejmě je důležitý, když je tučný.

    Modelové situace

    Představte si dvě stránky, které se zobrazí totožným způsobem 99 % návštěvníků. Jedna bude bohatá na sémantiku a vzhled bude určen výhradně pomocí CSS. Druhá bude bez sémantiky, nadpisy budou v elementu <font size="6">, důležitá sdělení v <b> a podobně. Časy stahování i zobrazení budou u obou zanedbatelné, informace budou shodné. Návštěvník neuvidí rozdíl ani při trojnásobném zvětšení. Ideální vyhledávač by měl tedy ve svém žebříčku obě stránky hodnotit stejně.

    Představte si stránku, která neosahuje deklaraci typu dokumentu. Všechny známé prohlížeče takovou stránku zobrazí. I přesto, že podle W3C prý není validní. Stránku tedy vesměs každý návštěvník uvidí. Tamní informace bude uživatelům vyhledávače dostupná, proto by měl vyhledávač ohodnotit její relevantnost naprosto stejně jako u stránek, které definici typu dokumentu obsahují.

    Představte si proprietální element, který by nejrozšířenější prohlížeče zobrazily vždy ohromným nepřehlédnutelným písmem. Podle doporučení by na něj neměl vyhledávač brát zřetel. Z logiky věci by mu však měl přikládat velkou váhu, protože ohromná nepřehlédnutelná informace je pro návštěvníky důležitější.

    Představte si stránku, která bude plně vyhovovat specifikaci konsorcia, ale v rozšířených prohlížečích se nezobrazí vůbec. Měl by ji snad vyhledávač předložit jako relevantní výsledek?

    Poslední zmíněný příklad si můžete velmi snadno ověřit v praxi: Napište vyhovující stránku podle doporučení XHTML 1.0 a posílejte ji vždy s MIME typem application/xhtml+xml. Většina vyhledávačů vaši snahu „ocení“ nezahrnutím takové stránky do výsledků hledání. Proč? Protože ji nejrozšířenější Explorer nezobrazí. Není tudíž relevantním výsledkem.

    Diagnóza bez pitvy

    Tato jednoduchá úvaha vyvrací mnohdy přeceňovanou důležitost sémantiky v HTML pro vyhledávače.

    Reálný vyhledávač se od ideálního liší. Čím propracovanější ale je, tím více se tomu ideálnímu blíží. To je důvod, proč ty nejznámější umí číst texty z PDF formátu, z dokumentů Wordu, z prezentací PowerPointu, z animací Flashe. To je i důvod, proč umí procházet rámce, proč se učí CSS (přechází na tzv. „blokovou analýzu stránky“) a někteří i JavaScript. Snaží se vidět stránku očima návštěvníka. Snaží se simulovat chování prohlížečů.