Discussion Technical SEO JavaScript

Naše React SPA je pro AI crawlery zcela neviditelná – jak to napravit?

RE
ReactDev_Marcus · Frontend Lead
· · 82 upvotes · 10 comments
RM
ReactDev_Marcus
Frontend Lead · 9. ledna 2026

Náš web jsme před třemi lety postavili jako React SPA. Skvělý uživatelský zážitek, rychlé reakce.

Teď ale zjišťujeme, že AI crawlery nevidí vůbec nic. Když kontroluji serverové logy:

  • GPTBot dostane naši prázdnou HTML šablonu
  • PerplexityBot totéž
  • Veškerý skutečný obsah se načítá přes JavaScript

Problém:

  • Nulová AI viditelnost
  • Konkurence s tradičními weby je citována
  • Máme skvělý obsah, ale AI k němu nemá přístup

Náš aktuální stack:

  • React 18 s React Routerem
  • Pouze client-side rendering
  • Obsah nahrávaný přes API
  • Routování s hashem (/#/page)

Dotazy:

  1. Jak velký je to vlastně problém?
  2. Jaká je nejrychlejší oprava?
  3. Musíme přestavět na Next.js?
  4. Jde to i bez zásadní předělávky?

Nemůžeme si dovolit kompletní přestavbu, ale AI viditelnost potřebujeme.

10 comments

10 komentářů

TE
TechSEO_Expert_Sarah Expert Technical SEO Consultant · 9. ledna 2026

Toto je častý a závažný problém. Rozvedu to:

Jak fungují AI crawlery:

Na rozdíl od Googlu (který JavaScript vykreslí), většina AI crawlerů NEMŮŽE:

  • GPTBot (OpenAI): Neumí spouštět JavaScript
  • PerplexityBot: Neumí spouštět JavaScript
  • ClaudeBot (Anthropic): Neumí spouštět JavaScript

Vidí POUZE vaše počáteční HTML. U SPA je to většinou:

<div id="root"></div>
<script src="bundle.js"></script>

Žádný obsah = žádná AI viditelnost.

Dobrá zpráva: Není vždy nutná úplná přestavba. Existují řešení i pro stávající SPA.

RM
RenderingOptions_Mike · 9. ledna 2026
Replying to TechSEO_Expert_Sarah

Možnosti od nejrychlejší po nejkomplexnější:

Varianta 1: Prerenderovací služba (nejrychlejší)

  • Služby jako Prerender.io, Rendertron
  • Detekují uživatelské agenty crawlerů
  • Posílají cachované HTML crawlerům
  • Bez nutnosti úprav kódu
  • Implementace: hodiny

Varianta 2: Dynamické vykreslování

  • Různý obsah podle user-agenta
  • SPA pro uživatele, statické HTML pro crawlery
  • Middleware řešení
  • Implementace: dny

Varianta 3: Migrace na SSR (nejlepší dlouhodobě)

  • Přechod na Next.js/Remix
  • Kompletní server-side rendering
  • Nejlepší pro AI i klasické SEO
  • Implementace: týdny až měsíce

Doporučení:

Začněte prerenderingem HNED pro okamžitou viditelnost. SSR migraci plánujte dlouhodobě, pokud budou zdroje.

ŘešeníČas implementaceSložitostAI viditelnost
PrerenderingHodinyNízkáDobrá
Dynamické renderováníDnyStředníDobrá
SSR (Next.js)Týdny-měsíceVysokáVýborná
PE
PrerenderPro_Emma DevOps Engineer · 9. ledna 2026

Detaily implementace prerenderingu:

Jak to funguje:

  1. Detekce user-agenta na hraně/serveru
  2. Pokud je detekován AI crawler, přesměrování na cachované HTML
  3. Pokud běžný uživatel, normální SPA

Rychlé nasazení s Prerender.io:

// Express middleware
const prerender = require('prerender-node');
app.use(prerender.set('prerenderToken', 'YOUR_TOKEN'));

Bot patterny k ošetření:

User-agent: GPTBot
User-agent: PerplexityBot
User-agent: ClaudeBot
User-agent: ChatGPT-User
User-agent: Googlebot

Výsledky z praxe:

  • Indexace ze <25 % na ~80 % stránek
  • AI viditelnost do 2-3 týdnů od nasazení
  • Žádný dopad na uživatelský zážitek

Cena: Většina prerenderovacích služeb stojí 15–100 USD/měsíc podle návštěvnosti.

Tohle je vaše nejrychlejší cesta k AI viditelnosti.

RM
ReactDev_Marcus OP Frontend Lead · 9. ledna 2026

Prerendering zní jako rychlé vítězství, které potřebujeme.

Dotaz: Zmínil jsi, že naše hash-based URL jsou problém. Jak moc je to kritické?

UT
URLStructure_Tom Expert · 8. ledna 2026

Hashové URL jsou VÝRAZNÝ problém:

Jak crawlery vidí hashové URL:

  • Vaše URL: example.com/#/products/shoes
  • Co vidí crawler: example.com/
  • Všechny hashové routy = pro crawlery jedna stránka

Oprava – používejte History API:

// Předtím (hash routing)
<Route path="/#/products/:id" />

// Potom (browser history)
<Route path="/products/:id" />

// Nastavení React Routeru
<BrowserRouter>
  <Routes>
    <Route path="/products/:id" element={<Product />} />
  </Routes>
</BrowserRouter>

Nastavení serveru:

# nginx – pro všechny routy servíruj index.html
location / {
    try_files $uri $uri/ /index.html;
}

Priorita: Toto je vlastně důležitější než prerendering. Hashové URL znamenají, že crawlery vaše stránky skutečně nerozliší.

Nejprve opravte URL, pak zaveďte prerendering.

SC
SSRMigration_Chris · 8. ledna 2026

Pokud zvažujete migraci na Next.js v budoucnu:

Výhody SSR oproti prerenderingu:

  • Lepší pro dynamický obsah
  • Žádné problémy se zastaralým cache
  • Lepší výkon prvního načtení
  • Lepší Core Web Vitals
  • Připraveno na budoucnost AI

Migrační cesta z React na Next.js:

  1. Začněte klíčovými stránkami

    • Migrujte nejnavštěvovanější stránky nejdříve
    • Zbytek webu nechte jako SPA
    • Postupné zavádění
  2. Použijte Next.js App Router

    • React Server Components
    • Vestavěné možnosti renderování
    • Dobrá kompatibilita s Reactem
  3. Zachovejte strukturu URL

    • Stejné routy, nové renderování
    • Bez SEO výpadků

Odhad časové náročnosti:

  • Jednoduchý web: 2–4 týdny
  • Střední složitost: 4–8 týdnů
  • Velké/komplexní: 2–4 měsíce

Neváhejte s rozhodnutím: Začněte s prerenderingem nyní, migraci plánujte souběžně.

SL
StructuredDataSPA_Lisa · 8. ledna 2026

Strukturovaná data u SPA:

Současný problém: Vaše JSON-LD se nejspíš načítá přes JavaScript.

Oprava: Zahrňte klíčové schéma do počátečního HTML:

<head>
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Your Company",
    ...
  }
  </script>
</head>

Pro dynamické stránky: Prerendering by měl schéma zachytit, pokud je správně implementován.

Otestujte své schéma:

  1. Zobrazte zdrojový kód stránky (ne přes inspektor)
  2. Zkontrolujte, zda je schéma v počátečním HTML
  3. Pokud není vidět, crawlery ho nevidí

Strukturovaná data pomáhají AI pochopit váš obsah i při použití prerenderingu.

RM
ReactDev_Marcus OP Frontend Lead · 8. ledna 2026

Náš plán implementace:

Týden 1: Rychlé úpravy

  1. Přechod z hash routingu na browser history routing
  2. Nastavení serveru pro SPA routování
  3. Přesun klíčových meta tagů do počátečního HTML

Týden 2–3: Prerendering

  1. Nasazení Prerender.io
  2. Nastavení pro user-agenty AI crawlerů
  3. Ověření správnosti cachovaných stránek
  4. Monitorování crawl logů

Měsíc 2+: Zvážení SSR

  1. Zhodnocení složitosti migrace na Next.js
  2. Pilotní migrace 1–2 klíčových stránek
  3. Rozhodnutí o časovém plánu kompletní migrace

Monitoring:

  1. Kontrola serverových logů na přístupy AI crawlerů
  2. Použití Am I Cited ke sledování AI viditelnosti
  3. Testování AI dotazů na náš obsah

To nám zajistí rychlou viditelnost a zároveň plán pro dlouhodobé řešení.

MD
MonitorCrawlers_Dan · 7. ledna 2026

Jak ověřit, že AI crawlery vidí váš obsah:

Zkontrolujte serverové logy na:

GPTBot - OpenAI
PerplexityBot - Perplexity
ClaudeBot - Anthropic
ChatGPT-User - ChatGPT browsing

Simulace pohledu crawleru:

  1. Vypněte JavaScript v prohlížeči
  2. Prohlédněte si své stránky
  3. To je to, co crawlery vidí

Po nasazení prerenderingu:

  • Ověřte, že crawlery dostávají odpověď 200
  • Zkontrolujte, že HTML obsahuje skutečný obsah
  • Testujte pomocí curl:
curl -H "User-Agent: GPTBot" https://yoursite.com/page

Sledujte frekvenci crawlů:

  • Kontrolujte, jak často AI boti navštěvují web
  • Dobrý prerendering = častější crawlery
  • Ověřte, že všechny důležité stránky jsou cachované

Ověření crawlů ukáže, zda oprava fungovala.

CR
ContentStrategy_Rachel · 7. ledna 2026

Nejen renderování – obsah je stále klíčový:

Jakmile crawlery uvidí váš obsah:

  • Je třeba AI-optimalizovaná struktura obsahu
  • Jasné nadpisy a odpovědi
  • Implementace strukturovaných dat
  • Čerstvý a aktualizovaný obsah

Nezapomeňte:

  • Renderovací úpravy řeší pouze PŘÍSTUP
  • AI citace vyžaduje kvalitní obsah
  • Platí stejná optimalizační pravidla

Řešení renderingu vás dostane do hry. Optimalizace obsahu hru vyhrává.

Have a Question About This Topic?

Get personalized help from our team. We'll respond within 24 hours.

Frequently Asked Questions

Proč AI crawlery nevidí obsah SPA?
Většina AI crawlerů neumí spouštět JavaScript. Když navštíví SPA, vidí pouze počáteční HTML bez dynamicky načteného obsahu. Protože AI systémy nemají plnohodnotné prohlížeče, nemohou zpracovat JavaScriptové instrukce, které vykreslí skutečný obsah stránky.
Jaké je nejlepší řešení, aby bylo SPA viditelné pro AI?
Server-Side Rendering (SSR) je zlatý standard. Frameworky jako Next.js, Nuxt.js a Remix generují kompletní HTML na serveru. Pro existující SPA lze využít prerenderovací služby jako Prerender.io, které dodávají statické HTML crawlerům bez nutnosti měnit architekturu.
Funguje prerendering pro AI crawlery?
Ano, prerendering je velmi účinný. Generuje statické HTML snímky, ke kterým mají AI crawlery přístup. Služby detekují uživatelské agenty crawlerů (GPTBot, PerplexityBot, ClaudeBot) a těm doručí předrenderované verze, zatímco běžní uživatelé dostávají SPA zážitek.
Jak ovlivňuje struktura URL AI viditelnost SPA?
Hash fragmenty (#) v URL jsou problém – AI crawlery je vnímají jako jednu stránku. Používejte History API a pushState pro čisté URL, např. /products/item-name místo /products#123. Každý pohled potřebuje unikátní, popisnou adresu.

Sledujte AI viditelnost svého SPA

Monitorujte, zda AI crawlery vidí a citují váš obsah vykreslovaný JavaScriptem napříč AI platformami.

Zjistit více