Pozor na JavaScriptové odkazy, ne všechny umí GoogleBot procházet

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?


Jak bude reklama vypadat?
-
Kup si reklamu navždy pod tímto článkem jen za 100 Kč
Zobrazit formulář pro nákup

2 Replies to “Pozor na JavaScriptové odkazy, ne všechny umí GoogleBot procházet”

  1. A tiež nezabudnúť na starú známu mapu stránky v pätičke, kde sú odkazy na všetky vaše podstránky v jednoduchom a čo najprimitívnejšom HTML. Keď už stratíte prelinkovanie v rámci vašej stránky kvôli JavaScriptu, tak nech váš obsah Google aspoň vie cez mapu stránky dohľadať.

  2. Navíc si myslím, že nejde o neschopnost, ale zcela správný přístup Google. Odkaz dělaný JavaScriptem je nepříjemný, nelze ho otevřít v novém okně/záložce. Nelze na něho dát odkaz. Je tedy naprosto a vysoce žádoucí, ale JavaScriptový odkaz měl silné penalizace oproti běžným odkazům.

    Nevzpomínám si, že bych byť jedinkrát v životě za svých cca 20 let potřeboval udělat nezbytně odkaz JavaScriptem. Odkaz jde v HTML udělat naprosto ze všeho co si jen vzpomenete. Dokáži si představit rozsáhlé generování kódu či vyhledávání JavaScriptem, kde bude JavaScript generovat odkazy, ale upřímně drtivou většinu toho raději zařídím na serverové straně jinak. Navíc to nebude záviset na vetchých, na mnoha verzích prohlížečů/operačních systémů/JavaScriptových frameworků různě vachrlatě fungujících JavaScriptech. Zejména JavaScriptové frameworky – i ty nejpoužívanější – jsou dělány tak, že fungují jen ve středu a v dubnu, a jen v přísně určených verzích prohlížečů.

    Pokud Google zasáhne proti nadužívání JavaScriptu, což je dnešní infekční nemoc, je to jedině dobře. Odkaz JavaScriptem zkrátka není plnohodnotný odkaz s plným uživatelským zážitkem. Pokud je tam staticky, nemá tam JavaScriptový odkaz vůbec co dělat, má se použít HTML. Pokud je tam dynamicky a mění se dle výsledků JavaScriptu – pak jej musí Google penalizovat, protože tam není stejný odkaz při každém načtení stránky.

    Za mě to Google dělá dobře. Dokonce bych si vsadil, že je to spíše záměr Google než cokoli jiného.

Comments are closed.