JavaScript SEO
JavaScript SEO je oblast technického SEO, která řeší, jak vyhledávače zpracovávají a indexují obsah generovaný JavaScriptem. Dlouho se tvrdilo, že Google JavaScript neumí. Dnes ho umí velmi dobře – jenže Google už dávno není jediný, kdo váš web čte.
Souhrn článku
- Google zpracovává JavaScript ve třech fázích (procházení, vykreslení, indexace) a do fronty na vykreslení posílá každou stránku se stavem 200, pokud nemá noindex.
- Podle měření Vercelu a MERJ z roku 2024 Google stránku vykreslil v mediánu za 10 sekund, ne za dny či týdny.
- Crawlery ChatGPT, Claude ani Perplexity JavaScript podle stejné dvojice nevykonávají. Obsah, který dodá až JavaScript, pro ně neexistuje.
- Dynamic rendering Google označuje za provizorium a doporučuje místo něj vykreslení na serveru, statické stránky nebo hydration.
- Značka noindex v původním HTML může vykreslení úplně zastavit. JavaScript, který ji později odstraní, už nepomůže.
Co je JavaScript SEO?
JavaScript SEO je práce na tom, aby vyhledávače viděly obsah, odkazy a metadata i na webech, které stránku skládají JavaScriptem v prohlížeči. Týká se hlavně webů na frameworcích jako React, Vue, Angular nebo Next.js.
Rozdíl je v tom, co pošle server. Klasický web posílá hotové HTML s textem, kdežto aplikace v modelu „app shell“ pošle jen prázdnou kostru a skutečný obsah doplní až JavaScript.
Google proto podle své dokumentace musí JavaScript nejdřív spustit, aby obsah vůbec uviděl.
Jak do toho zapadají procházení a indexace, vysvětluji v článku Jak fungují vyhledávače?
Umí Google JavaScript zpracovat?
Umí. Google zpracovává JavaScriptové weby ve třech fázích: procházení (crawling), vykreslení (rendering) a indexace. Vykresluje v průběžně aktualizované verzi prohlížeče Chromium, takže zvládá i moderní frameworky.
Do fronty na vykreslení jde každá stránka se stavovým kódem 200, pokud jí noindex nezakáže indexaci.
A to bez ohledu na to, jestli na ní JavaScript vůbec je. Stránky s chybovým kódem, třeba 404, vykreslovat nemusí.
Jednu výjimku si ale pohlídejte: soubory a stránky zablokované v robots.txt Google nevykreslí. Když zablokujete složku se skripty, Google uvidí jen prázdnou kostru.
📊 [STUDIE]: Vercel a MERJ (2024) analyzovali přes 100 000 návštěv Googlebota na webu nextjs.org a dvou dalších webech. Všechny HTML stránky bez chyb a bez noindex Google plně vykreslil, včetně obsahu načítaného přes API. Stránky s noindex v původním HTML nevykreslil vůbec. (Vercel)
Samotný JavaScript tedy dnes problém není.
Problém je, když JavaScript selže, je zablokovaný nebo obsah schová za akci uživatele. Jak Google stránky objevuje a proč některé nezaindexuje, popisuji v článku Crawling a indexace.
Vykresluje Google JavaScript až po několika dnech?
Obvykle ne. Google v dokumentaci píše, že stránka může ve frontě na vykreslení zůstat „několik sekund, ale může to trvat i déle“ (přeloženo).
Měření Vercelu a MERJ na více než 37 000 vykreslených stránkách tomu odpovídá.
Medián zpoždění mezi stažením a vykreslením byl 10 sekund, u 75 % stránek do 26 sekund. Zhruba desetina stránek čekala déle než 3 hodiny a asi jedno procento déle než 18 hodin.
Rada o „druhé vlně indexace po dnech až týdnech“ tak dnešním datům neodpovídá. Obvykle jde o sekundy, u části stránek o hodiny.
Studie má ale dvě omezení: pochází od Vercelu, který prodává hosting pro Next.js, a měřila rychlý, dobře postavený web. U pomalého webu s chybami v JavaScriptu to může vypadat hůř.
CSR, SSR, SSG: jaký způsob vykreslení je pro SEO nejlepší?
Pro SEO je nejbezpečnější, když hlavní obsah přijde v HTML rovnou ze serveru, tedy vykreslení na serveru (SSR) nebo statické generování (SSG).
Vykreslení v prohlížeči (CSR) Google zvládne, ostatní roboti často ne.
| Způsob | Kdo sestaví HTML? | AI crawlery (ChatGPT, Claude, Perplexity) | Kdy dává smysl? | |
| CSR (client-side rendering) | prohlížeč pomocí JavaScriptu | vykreslí | obsah z JS nevidí | aplikace za přihlášením, interaktivní prvky |
| SSR (server-side rendering) | server při každém požadavku | vidí hned | vidí | e-shopy, často měněný obsah |
| SSG (static site generation) | server předem při sestavení | vidí hned | vidí | blogy, dokumentace, prezentační weby |
| Hydration | server pošle HTML, JS ho oživí | vidí hned | vidí HTML | moderní frameworky (Next.js, Nuxt) |
Google sám píše, že vykreslení na serveru nebo předem je pořád dobrý nápad, protože web zrychlí a „ne všechny boty umí spustit JavaScript“ (přeloženo).
Dynamic rendering, tedy posílání předvykreslené verze jen robotům, už Google nedoporučuje. V dokumentaci ho nazývá „provizoriem, ne dlouhodobým řešením“ (přeloženo) a místo něj doporučuje SSR, statické vykreslení nebo hydration.
Jaké chyby v JavaScriptu brání indexaci?
Indexaci neblokuje JavaScript jako takový, ale konkrétní implementační chyby.
V tabulce jsou ty, před kterými varuje dokumentace Googlu.
| Chyba | Co se stane? | Oprava |
| Odkaz bez <a href> (klik přes onclick, <span>) | Google odkaz neobjeví | skutečný <a href=“/url/“> |
| Obsah na URL s # (hash routing) | Google URL spolehlivě nerozliší | History API, běžné URL |
| noindex v původním HTML, odstraněný JS | Google může vykreslení přeskočit a stránku nezaindexuje | noindex do HTML dávat jen tam, kde má platit |
| Canonical, který JS mění na jinou URL | protichůdné signály | canonical v HTML, JS ho nesmí přepsat na jinou hodnotu |
| Neexistující stránka v SPA vrací 200 | soft 404 | JS přesměrování na URL s 404, nebo noindex přes JS |
| Obsah se načte až po scrollu nebo kliknutí | Google ho neuvidí | načítat při zobrazení ve viewportu |
| JS nebo CSS blokované v robots.txt | Google stránku nevykreslí | povolit soubory potřebné pro vykreslení |
| Staré JS soubory v cache Googlu | vykreslí se zastaralá verze | otisk v názvu souboru (main.2bb85551.js) |
Nejzáludnější je noindex. Google upozorňuje, že když ho najde v původním kódu, může vykreslení i spuštění JavaScriptu přeskočit.
Skript, který má noindex odstranit, se pak vůbec nespustí.
U canonicalu platí to, co vždycky: je to doporučení, ne příkaz. Když ho JavaScript přepíše na jinou hodnotu, dáváte Googlu dvě protichůdná doporučení. Víc v článku Kanonický odkaz.
Odkazy bez href jsou problém i pro interní prolinkování.
Menu, které funguje jen na kliknutí, je pro robota slepá ulička.
Jak zjistit, co Google z vašeho webu vidí?
Přímo v Google Search Console, v nástroji Kontrola URL. Ten ukáže vykreslené HTML, snímek stránky, načtené zdroje i chyby JavaScriptu z konzole.
Stejné informace nabízí i Test výsledků s multimédii.
Postup, který zvládnete za pět minut:
- Otevřete stránku v prohlížeči a zobrazte zdrojový kód (Ctrl+U). Hledejte v něm hlavní text, nadpis H1 a odkazy.
- Pokud tam nejsou, obsah dodává až JavaScript. Pro Google to nemusí být problém, pro AI crawlery ano.
- V Search Console zadejte URL do Kontroly URL a spusťte test živé URL.
- Klikněte na zobrazení testované stránky a v záložce HTML zkontrolujte, jestli jsou text a odkazy ve vykreslené verzi.
- Na snímku obrazovky ověřte, že stránka nevypadá prázdná, a v dalších informacích projděte chyby JavaScriptu.
U celého webu pusťte crawl ve Screaming Frogu dvakrát: jednou bez vykreslování JavaScriptu a jednou s ním.
Rozdíl v počtu nalezených URL a v textu ukáže, co na JavaScriptu visí.
Které nástroje na technickou kontrolu používám, píšu v článku Jaké SEO nástroje používám v praxi?
💬 Než začnete přepisovat web na jiný framework, zjistěte, jestli se robot na stránku dostal a co z ní skutečně viděl. Kontrola URL, statistiky procházení v Search Console a access logy vám to řeknou. Bez toho střílíte naslepo.
Google navíc upozorňuje, že Google Analytics aktivitu Googlebota věrně neukáže. Na to slouží právě statistiky procházení v Search Console.
Vidí obsah z JavaScriptu i ChatGPT a další AI vyhledávače?
Většinou ne. Hlavní AI crawlery podle dostupných dat JavaScript nevykonávají, takže vidí jen HTML, které jim pošle server.
📊 [STUDIE]: Vercel a MERJ (2024) měsíc sledovali provoz AI crawlerů na síti Vercelu a webu nextjs.org. Žádný z hlavních AI crawlerů JavaScript nevykonával: OpenAI (GPTBot, OAI-SearchBot, ChatGPT-User), ClaudeBot, PerplexityBot, Meta ani Bytespider. JavaScriptové soubory stahovaly, ale nespouštěly. Vykreslovat uměl jen Gemini přes infrastrukturu Googlu a AppleBot. (Vercel)
Když se popis produktu, cena nebo článek načítají až JavaScriptem, crawlery ChatGPT ani Perplexity je podle těchto dat z vašeho webu nepřečtou.
A co jejich crawler nevidí, to AI nemůže citovat, i když vás Google indexuje bez problémů.
💬 Citovatelnost v AI stojí na faktické přesnosti, autorství a ověřitelných zdrojích. K ničemu z toho se ale AI crawler nedostane, když mu server pošle prázdnou kostru.
Proč Google soubor llms.txt ignoruje a kdy má přesto smysl, rozebírám v článku llms.txt a SEO.
Jak s JavaScriptem zachází Seznam a Bing?
Bing od roku 2019 vykresluje na stejném základu (Chromium) jako Google, u Seznamu oficiální informace chybí.
Google sám ale upozorňuje, že jiné vyhledávače můžou JavaScript ignorovat.
Bing v roce 2018 napsal, že bingbot JavaScript „obecně umí vykreslit“ (přeloženo), ale ne všechny frameworky, a webům na JavaScriptu doporučil dynamic rendering.
O rok později oznámil, že stránky vykresluje prohlížečem Microsoft Edge na Chromiu a bude ho průběžně aktualizovat.
Je to stejný základ, na jakém stojí Googlebot.
U Seznamu jsem v aktuální nápovědě žádnou informaci o vykreslování JavaScriptu nenašel.
Starší stránka o indexaci AJAXu, na kterou odkazují české návody, už na nové nápovědě není. Pro český trh je proto nejbezpečnější mít důležitý obsah v HTML ze serveru.
Kdy JavaScript SEO řešit a kdy ne?
Řešit ho potřebujete, když web skládá obsah v prohlížeči.
Typicky jde o:
- weby a e-shopy postavené jako single page application (React, Vue, Angular bez vykreslení na serveru),
- headless e-shopy a weby na míru, kde frontend načítá data přes API,
- filtry, stránkování nebo recenze, které se donačítají až po akci uživatele,
- weby, které chtějí být vidět v ChatGPT, Perplexity a dalších AI vyhledávačích.
Naopak klasické šablony Shoptetu nebo WordPressu posílají obsah v HTML ze serveru.
Tam JavaScript SEO obvykle řešit nemusíte, stačí zkontrolovat doplňky, které obsah vkládají skriptem.
💬 Audit, který vám najde 200 chyb, je k ničemu, pokud neřekne, které tři opravit jako první. U JavaScriptu bych začal tím, jestli jsou obsah, odkazy a metadata v HTML ze serveru. Zbytek počká.
Jak na e-shopu postupovat od stránek, které vydělávají, popisuji v návodu SEO optimalizace e-shopu. Kontrolu vykreslování dělám jako součást technického auditu v rámci SEO služeb.
Nejčastější otázky (FAQ)
Je React špatný pro SEO?
Není. Google vykresluje i weby v Reactu. Problém nastává, když se obsah vykresluje jen v prohlížeči a web musí číst i roboti bez JavaScriptu. Framework s vykreslením na serveru nebo statickým generováním (například Next.js) tento problém řeší.
Co je hydration?
Hydration je postup, kdy server pošle hotové HTML s obsahem a JavaScript ho v prohlížeči následně „oživí“ a přidá interaktivitu. Robot tak dostane obsah hned a uživatel plnohodnotnou aplikaci. Google ho doporučuje jako jedno z řešení místo dynamic renderingu.
Pomůže služba na předvykreslení stránek pro roboty?
Dlouhodobě ne. Jde o dynamic rendering, který Google označuje za provizorium, protože přidává složitost a nároky na zdroje. Google místo něj doporučuje vykreslení na serveru, statické vykreslení nebo hydration přímo ve frameworku.
Indexuje Google obsah v záložkách a akordeonech?
Pokud je text po načtení stránky v HTML a jen se skrývá, Google ho vidí. Pokud se ale načítá až po kliknutí nebo scrollu, Google ho neuvidí, protože se stránkou neinteraguje.
Kdy se vyplatí nechat JavaScriptový web zkontrolovat odborníkem?
Když Search Console hlásí velký rozdíl mezi objevenými a zaindexovanými stránkami, v Kontrole URL chybí obsah nebo plánujete přechod na nový framework. Vykreslování, odkazy a metadata v takovém případě kontroluji v rámci technického SEO auditu.
Neptejte se, jestli Google umí JavaScript. Ptejte se, co z vašeho webu uvidí robot, který ho neumí.
Hlavní obsah, odkazy a metadata dejte do HTML ze serveru a JavaScript nechte na interaktivitu. Pak vás uvidí Google, Seznam i AI vyhledávače.
Nevíte, co z vašeho webu roboti skutečně vidí? Napište mi a projdeme to spolu na SEO konzultaci. Ozvu se vám do 24 hodin.
📚 Použité zdroje
- Understand the JavaScript SEO basics (Google Search Central, 2026)
- Dynamic rendering as a workaround (Google Search Central, 2025)
- Fix Lazy-Loaded Website Content (Google Search Central)
- Fix Search-related JavaScript problems (Google Search Central)
- How Google handles JavaScript throughout the indexing process (Vercel a MERJ, 2024)
- The rise of the AI crawler (Vercel a MERJ, 2024)
- bingbot Series: JavaScript, Dynamic Rendering, and Cloaking (Bing Webmaster Blog, 2018)
- The new evergreen Bingbot simplifying SEO by leveraging Microsoft Edge (Bing Webmaster Blog, 2019)
Článek byl publikován: 28. 9. 2026. Autor článku: Jan Schlemmer.
- JavaScript SEO - 1 října, 2026
- Sitemap: co to je a potřebuje ji váš web? - 29 září, 2026
- Hledanost klíčových slov (search volume) - 27 září, 2026