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.

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 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.

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ůř.

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ůsobKdo sestaví HTML?GoogleAI crawlery (ChatGPT, Claude, Perplexity)Kdy dává smysl?
CSR (client-side rendering)prohlížeč pomocí JavaScriptuvykreslíobsah z JS nevidíaplikace za přihlášením, interaktivní prvky
SSR (server-side rendering)server při každém požadavkuvidí hnedvidíe-shopy, často měněný obsah
SSG (static site generation)server předem při sestavenívidí hnedvidíblogy, dokumentace, prezentační weby
Hydrationserver pošle HTML, JS ho oživívidí hnedvidí HTMLmoderní 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.

Indexaci neblokuje JavaScript jako takový, ale konkrétní implementační chyby.

V tabulce jsou ty, před kterými varuje dokumentace Googlu.

ChybaCo 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ý JSGoogle může vykreslení přeskočit a stránku nezaindexujenoindex do HTML dávat jen tam, kde má platit
Canonical, který JS mění na jinou URLprotichůdné signálycanonical v HTML, JS ho nesmí přepsat na jinou hodnotu
Neexistující stránka v SPA vrací 200soft 404JS 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.txtGoogle stránku nevykreslípovolit soubory potřebné pro vykreslení
Staré JS soubory v cache Googluvykreslí se zastaralá verzeotisk 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.

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:

  1. 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.
  2. Pokud tam nejsou, obsah dodává až JavaScript. Pro Google to nemusí být problém, pro AI crawlery ano.
  3. V Search Console zadejte URL do Kontroly URL a spusťte test živé URL.
  4. Klikněte na zobrazení testované stránky a v záložce HTML zkontrolujte, jestli jsou text a odkazy ve vykreslené verzi.
  5. 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.

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.

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.

Ř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.

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

Článek byl publikován: 28. 9. 2026. Autor článku: Jan Schlemmer.

Jan Schlemmer
Latest posts by Jan Schlemmer (see all)

Podobné příspěvky

  • Drobečková navigace

    Drobečková navigace je sekundární navigační prvek, který ukazuje pozici stránky v hierarchii webu – typicky jako řada odkazů pod hlavním menu. Většina článků o ní tvrdí, že „zlepší SEO“. To je ale nepřesné… Tenhle text vám vysvětlí, co tato navigace reálně dělá, co nedělá, a proč její hodnota od ledna 2025 vypadá jinak než dřív….

  • | |

    SEO novinky – červen 2026

    📌 AI Mode a AI Overviews citují různé URL (překryv jen 13,7 %) Nová data od Ahrefs, která mění strategii: AI Mode a AI Overviews citují stejné URL jen ve 13,7 % případů – přestože k podobným závěrům dospívají v 86 % případů. tot tvrzení bylo zjištěno na vzorku 540 000 dotazových párů. Další zajímavá…

  • On-page SEO: Co reálně rozhoduje o pozicích ve vyhledávání?

    On-page SEO je optimalizace prvků přímo na konkrétní webové stránce. Cílem je jediné: aby vyhledávač i živý čtenář okamžitě pochopili, o čem stránka je. Na rozdíl od off-page SEO (např. získávání zpětných odkazů) máte nad on-page faktory stoprocentní kontrolu. Proto by tím měli veškeré SEO aktivity vždycky začínat. Shrnutí na úvod Jaký je rozdíl mezi on-page,…

  • |

    SERP v roce 2026: Proč pozice už nestačí

    SERP (Search Engine Results Page), česky stránka výsledků vyhledávání, je stránka, kterou vám vyhledávač zobrazí po zadání dotazu ve vyhledávání. Ještě před pár lety to byl jednoduchý seznam deseti modrých odkazů. Dnešní SERP je ale komplexní rozhraní plné speciálních prvků – od zvýrazněných odpovědí přes mapy a panely až po AI přehledy – a stále…

  • SEO optimalizace e-shopu: kompletní návod krok za krokem

    SEO optimalizace e-shopu není o tom napsat pár textů a čekat na zázrak. Je to systematická práce s klíčovými slovy, strukturou kategorií, technickým stavem webu a zpětnými odkazy – a u e-shopů navíc s tisíci URL, které si umí sabotovat indexaci. V tomto návodu projdete celý proces krok za krokem: od analýzy klíčových slov přes…

  • Sitemap: co to je a potřebuje ji váš web?

    Sitemap (XML sitemapa, česky mapa stránek) je soubor, ve kterém vyhledávačům „předáváte“ seznam URL, o kterých mají vědět. Zní to jako povinná výbava každého webu ale v praxi je to ale jen doporučení, ne příkaz – a část rad, které o sitemapě kolují v českých návodech (priority, pingnutí Googlu), dnes už neplatí. Souhrn článku Co…

Napsat komentář