B4 · Performance & Mobile UX

    JavaScript Rendering Checker — can crawlers see your content without JS?

    Most AI crawlers don't run JavaScript — so any content that only appears after JS executes is invisible to them. This check compares your raw HTML against the fully-rendered page to see how much of your content is present before JavaScript runs. If your main text, headings or FAQ only exist client-side, ChatGPT, Perplexity and other AI engines can't read or cite them — making this the single most important GEO check.
    Updated June 2026 · Technical SEO & GEO · Part of Performance & Mobile UX

    Check if your content needs JavaScript

    Paste a URL — GEObubbly compares your raw HTML with the rendered page to see whether crawlers can read your content without running JS.

    ✓ Free check1 signal✓ No signup required
    In short: Your main content must exist in the raw HTML, not be injected by JavaScript. Most AI crawlers don't run JS — to them, a client-rendered page is an empty shell.

    What does the JavaScript rendering check verify?

    It compares the page's raw HTML (what a non-JS crawler sees) against the fully-rendered DOM (what a browser shows after JS runs). Specifically:

    • Content in raw HTML — whether your main text, headings and key elements are present before any JavaScript executes.
    • JS dependency — how much of the visible content only appears after client-side rendering.
    • Server-side rendering — whether the page is server-rendered (or pre-rendered) so content is delivered in the initial HTML.

    Main content present in the raw HTML passes; some important content requiring JS is a warning; the body or key content being JS-only is a fail.

    How is it evaluated, and how is it scored?

    GEObubbly fetches the raw HTML and compares it against the rendered page to measure how much content depends on JavaScript. It's a core, scored Performance check (and a pivotal GEO signal) that runs partially, since assessing rendering requires comparing the served HTML with the executed result.

    Why JavaScript rendering matters for SEO and GEO

    This is the check that ties performance to GEO most tightly. Google's crawler can render JavaScript, but it does so on a delay and not always completely — so client-rendered content is crawled later and less reliably. The AI crawlers behind ChatGPT, Perplexity, Claude and Google's AI features mostly don't run JavaScript at all. That means any content delivered only after JS executes — a body rendered by a single-page-app framework, an FAQ injected client-side, text loaded via fetch — is effectively invisible to the engines you most want to be cited by. The fix is server-side rendering (or static pre-rendering): deliver your main content, headings, structured data and FAQ in the initial HTML response, so it's there whether or not JavaScript runs. You can still use JavaScript for interactivity layered on top — the rule is that the content itself must exist in the served HTML. This principle is why every GEObubbly check-detail page is server-rendered, and it underpins both crawlability and citation.

    How this check scores
    Pass: Substantive content is present in the raw HTML without running JavaScript.
    Warning: Significant portions of the content are injected by JavaScript.
    Fail: The raw HTML is essentially an empty shell — content is fully client-rendered.

    FAQ

    Mostly no. The crawlers behind AI answer engines like ChatGPT, Perplexity and Claude generally fetch the raw HTML and don't run JavaScript, so any content that only appears after client-side JS executes is invisible to them. Google's traditional crawler can render JavaScript, but it does so on a delay and not always fully, so even for search, JS-only content is crawled later and less reliably. The safe approach is to make sure your important content exists in the HTML that's served before any JavaScript runs.

    Related checks in Performance & Mobile UX

    B1
    Core Web Vitals (LCP, INP, CLS)
    B5
    Render-blocking resources & page weight
    B6
    Lazy-loaded critical content

    Audit your page across all 9 checks in Performance & Mobile UX

    See which checks pass, warn or fail — in seconds.

    Run a free audit →
    ← Back to the full Performance & Mobile UX guide
    Free TrialContact