JS SEO Lab
Empirical research on what JavaScript content patterns deliver to bots and LLM fetchers in 2026. Open methodology, open data, reproducible findings.
Status: Phase 1 in progress. First findings expected June 2026.
Empirical research on what JavaScript content patterns deliver to bots and LLM fetchers in 2026. Open methodology, open data, reproducible findings.
Status: Phase 1 in progress. First findings expected June 2026.
Eight JavaScript content patterns × five page types × three rendering modes, crawled by all major bot classes. Per-cell signals captured in a public tracker.
Live test bed: next.jsseo.dev — 55 cells running now.
Raw bot tracker data, hypothesis pre-registration, methodology — all open from day one. CC0 / CC-BY for data, MIT for code.
Senior technical SEO consultant, 25 years in the field. Independent owner of SAWA PROJEKT, co-founder of FratreSEO.
The experiment is running but findings posts haven't been published yet. Track progress at github.com/Qbeczek1/jsseo-dev — see the SESSION-LOG for daily activity.
Or jump straight to the methodology to see how the experiment is structured, or the test bed to explore the live research surface.
Vercel and MERJ established in 2024 that batch AI crawlers don't execute JavaScript. That's the rendering-mode answer. But real client audits don't ask "is this site SSR or CSR?" — they ask "is this specific JS pattern (a click-to-reveal, a useEffect-fetched price, a hash-routed navigation) costing me visibility in this specific bot's index?"
Eight JS content patterns (clean / js-images / js-links / click-reveal / js-fetched / hash-routing / late-loaded / mixed) × five page types × three rendering modes (SSR / CSR / optional SSG). Crawled by 25+ bot classes including GPTBot, ChatGPT-User, Claude-User, ClaudeBot, Googlebot, Bingbot, PerplexityBot.
Three-layer bot identification: reverse DNS for Google/Bing/Apple, IP-range CIDR matching against OpenAI/Perplexity/Anthropic published manifests, and HTTP Message Signature header instrumentation for ChatGPT Agent's signed traffic. False-positive UAs (deprecated anthropic-ai/Claude-Web) automatically flagged as unverified.