O webu
Indexování JavaScriptu

Mezi webmastery se má obecně za to, že JavaScript není moc přívětivý pro vyhledávače a textový obsah by tak měl mít na JS nezávislou alternativu.

Je možné se setkat i s názory typu:

Vyhledávač vidí stránku jako při vypnutí CSS a JavaScriptu.

Skutečnost je ale trochu jiná…

Google

Google v květnu 2014 oznámil, že jeho robot zpracovává JavaScript a CSS podobně jako prohlížeč běžného návštěvníka:

Z tohoto důvodu je vhodné, aby web v souboru robots.txt neblokoval pro Googlebota soubory s externími styly a skripty. Některé weby to dělají kvůli snížení zátěže na server vyvolaný roboty, Google ale v takovém případě dostane o stránce zkreslený výsledek.

Indexování AJAXu

Kvůli provádění JS nemá robot Google problém ani s AJAXem. Není tak už nutné používat postup s _escaped_fragment_, na který si vyhledávač převedl URL s hasbangem (example.com/#!url).

Díky podpoře JavaScriptu jsou tak na Google normálně indexovány například komentáře ze služeb typu Disqus nebo Facebook, které se bez JavaScriptu vůbec nezobrazí.

Skrytý obsah

Interpretace JavaScriptu/CSS může mít kromě positivních efektů i své stinné stránky. Například kvůli tomu robot Google nemusí zaindexovat obsah, který se zobrazí až po kliknutí.

Jde o různé přepínání obsahu v záložkách nebo sbalení obsahu pod tlačítko Zobrazit více.

Důvod je prostý – uživatel tento obsah po příchodu na stránku neuvidí, a to moc není v zájmu vyhledávače, protože to vypadá jako jeho chyba. Více v samostatném článku:

Co z JS Google umí?

Nezdá se, že by interpretace JavaScriptu v podání Googlebota byla odlišná od běžného prohlížeče.

Google tak nemá problém s:

  • přesměrováním pomocí JavaScriptu,
  • dynamicky přidávaným obsahem (včetně AJAXu),
  • odkazy fungujícími pouze s JavaScriptem,
  • dynamickou změnou titulku stránky

Test věci, se kterými si Google poradí:

Seznam

Pokud je pro web zajímavá návštěvnost z vyhledávání na Seznamu, na weby funkčních pouze s JavaScriptem je lepší zapomenout.

Seznambot vlivy JavaScriptu a CSS na stránku při standardním indexování téměř ignoruje. Zeptal jsem se na to Yuhůa:

Seznam momentálně javascript zpracovává málo. V plánu je rozšíření indexování javascriptu, ale s dlouhým výhledem.

To, co nyní děláme, se omezuje na některé typy jednoduchých přesměrování. Jako že třeba jednoduše zapsané location.replace poznáme a interpretujeme jako přesměrování.

Yuhů

Dynamický obsah přidaný na stránku skriptem tedy dohledatelný nebude.

Za jednu z dalších schopností Seznambota lehce související s indexováním AJAXových aplikací lze považovat podporu hashbangu (nejde ale o příliš doporučovaný postup):

JavaScript a CSS svým způsobem plně interpretuje Screenshotátor – zvláštní robot Seznamu sloužící ke snímání screenshotů stránek, které se potom zobrazují ve výsledcích hledání.

Uživatelé

I v případě podpory JS ze strany všech relevantních vyhledávačů je vhodné brát ohledy na lidské návštěvníky.

JavaScript může v některých případech selhat nebo se nestihnout načíst a je hloupé, když kvůli tomu nebude dostupný textový obsah, který by se bez JS obešel.

Jistější postup tak je zobrazovat obsah co nejstabilnější cestou (HTML) a JavaScriptem řešit jen rozšiřující funkce, co nejsou úplně kritické.

Více v článku: