Google dlouhodobě vzbuzuje dojem, že toho umí opravdu hodně a je technicky dále než si myslíte. V PR se však často přehání a časem zjistíte, že se toho třeba za ty roky až tak moc nezměnilo. Například že odkazy jsou stále základem anebo že GoogleBot, který nemá mít s JavaScript, na stránce problémy ve skutečnosti umí jen základy. To víceméně potvrdil i John Mueller ze švýcarské pobočky Google na Twitter. GoogleBot si dokáže stránku s JavaScript kompletně vykreslit, ale už nedokáže reagovat na události jako je onclick. V JavaScript dokážete celkem jednoduše vytvořit obsah HTML stránky. Jenomže na to vám stačí HTML. JavaScript používáte, když chcete aby stránka byla interaktivní - na něco reagovala. Ať už je to právě událost kliknutím (tlačítka, odkazy), přejetím myši (různá menu, podbarvení) anebo třeba odpočet času. Vždy se volá další kus skriptu (většinou funkce), která udělá požadovaný efekt. Doposud se tak nějak mělo za to, že tohle Google dokáže pochopit. Občas vám totiž vyplňuje formuláře a zkouší co se na stránce stane :) Teď mi to spíše přijde, že toho vlastně moc neumí. Vlastně jen počká až se načte všechen statický obsah HTML + to co vygeneruje JavaScript a tím to končí. To je poměrně zásadní, protože JavaScript často čeká na nějakou interakci. Vzpomeňme třeba na postupné načítání obsahu při scrollování - infinite load. Další problém by mohl být Ajax - načítání dat přes JavaScript ze serveru. Takto se často řeší zobrazování statistik, zvláště filtrování a aktualizace. Nezapomínejme na obrázkové galerie. U nich se onclick často používá místo odkazů. Pro Googlebot by to mohli být jen náhledy.

Závěr

Neměli bychom předpokládat co by bot vyhledávače mohl umět. Radši se smiřme s tím, že neumí nic než HTML a přizpůsobme tomu kód stránky. Zkuste některý z pluginů noscript, který vypne JavaScript, a podívejte se na váš web. Je funkční navigace? Dá se přecházet mezi obsahem? Co obsah? https://twitter.com/JohnMu/status/986062049129254912