Glossary
What is client-side rendering (CSR)?
Client-side rendering (CSR) is a way of building web pages in which the server sends a mostly empty HTML file and the visitor’s browser runs JavaScript to fetch the content and draw the page.
Also called CSR, single-page application, SPA
How it works
Single-page applications built with React, Vue or similar libraries often render this way. The first response contains little more than a div and a script tag. The browser downloads the script, runs it, requests data and only then shows headings, text and images.
It works well for apps people log into, such as dashboards and editors, where the page changes constantly and search engines do not need to read it.
Why JavaScript-only sites are invisible to AI crawlers
A crawler that does not run JavaScript sees only that first, empty response. Google renders JavaScript, often with a delay, but many AI crawlers do not: a December 2024 analysis of crawler traffic by Vercel and MERJ found that the crawlers used by OpenAI, Anthropic and Perplexity did not execute JavaScript.
For a B2B company, that means ChatGPT, Claude or Perplexity may have no idea what your product does, even though the site looks fine to every human visitor.
Where B2B sites run into it
- Marketing sites generated by AI app builders such as Lovable or Bolt, which output client-side React apps
- Sites built by a product team inside the app’s own front-end stack
- Content loaded by third-party widgets, such as job boards, reviews or pricing tables
- Tabs and accordions whose text is only fetched when clicked
Example
Fetch a client-side rendered homepage with a plain HTTP request and you may get a title tag, a few script tags and the text “You need to enable JavaScript to run this app.” That sentence is what a non-rendering crawler learns about the company.
How we handle it
We keep marketing pages out of client-side rendering. Pages are generated as HTML or rendered on the server, and JavaScript only adds interaction. For sites made with AI app builders, our Lovable to Next.js service keeps the design and moves the content into HTML that crawlers can read.
Last updated 15 November 2026