JavaScript SEO: kdy Google obsah uvidí (a kdy ne)
Moderní weby se často staví na JavaScriptu — React, Vue, Angular a další. Pro uživatele to může být skvělé, ale pro vyhledávač to přidává jeden krok navíc: obsah, který vzniká až po spuštění JavaScriptu, musí Google nejdřív vykreslit (vyrenderovat). A právě tady vzniká spousta problémů s indexací.
Jak Google zpracovává JavaScript
Google JavaScript umí, ale děje se to ve dvou vlnách. Nejdřív stáhne HTML a zaindexuje to, co v něm je. Teprve později (v řádu hodin až dnů) stránku vykreslí jako prohlížeč, spustí JavaScript a uvidí doplněný obsah. Pokud je celý důležitý obsah až ve druhé vlně, jeho indexace se zpozdí — nebo na slabších stránkách nemusí proběhnout vůbec.
SSR vs CSR: zásadní rozdíl
U client-side renderingu (CSR) server pošle skoro prázdné HTML a obsah dogeneruje JavaScript v prohlížeči. Pro SEO je to nejrizikovější. U server-side renderingu (SSR) nebo předgenerovaných stránek server pošle hotové HTML i s obsahem — Google ho vidí hned. Pro důležité stránky je SSR nebo prerendering výrazně bezpečnější volba.
Časté chyby u JS webů
- Odkazy jen jako klikací prvky: navigace bez klasického
<a href>se hůř prochází. Důležité odkazy patří do HTML — viz interní prolinkování. - Obsah až po interakci: co se načte až po kliknutí nebo scrollu, Google nemusí vidět.
- Blokovaný JavaScript: zakázané skripty v robots.txt znemožní vykreslení.
- Metadata generovaná až JS: title a canonical měněné JavaScriptem mohou dorazit pozdě — bezpečnější je mít je v HTML.
Jak ověřit, co Google vidí
Použijte v Google Search Console Kontrolu URL a podívejte se na vykreslené HTML a screenshot — uvidíte, jak stránku Google reálně viděl. Pomůže i porovnat zdrojový kód (Ctrl+U) s vykreslenou stránkou. Pokud důležitý text ve zdroji chybí a je jen po renderu, zvažte SSR. Souvisí to s celkovou rychlostí — viz Core Web Vitals a checklist technického SEO.
Ohlídejte, že je web pro Google čitelný
SEOHlídač.cz kontroluje dostupnost obsahu, metadata a technické signály a upozorní, když se objeví problém bránící indexaci.