Render ratio
The render ratio is the share of a page's text that already exists in the HTML the server sends, before any JavaScript runs.
A page at 95% is readable by anything that can fetch a URL. A page at 10% is a near-empty shell that only becomes a page inside a browser, and most crawlers are not browsers. It is the single check that most websites fail.
Why does the render ratio decide whether AI can cite you?
A model does not browse. Something fetches your URL, keeps the text it gets back, and that text is all the model will ever have of you. If your content is assembled client-side, what gets kept is a navigation bar and a loading state.
Google is the exception that causes the confusion. It does render JavaScript, in a separate phase after crawling, and its own documentation still recommends server-side rendering because, in its words, not all bots can run JavaScript. The bots that bring answers are largely in that second group.
What is a good render ratio?
Measured as the proportion of final text present in the raw HTML. The bands are blunt on purpose: above 90% the page is essentially complete without scripts, and below 60% a crawler sees something other than what you published.
- Above 90% — the page is essentially complete without JavaScript.
- 60% to 90% — the main content is there and parts of it are not. Usually reviews, prices or tabs.
- Below 60% — a crawler that does not execute JavaScript sees a different page from the one you published.
- Near 0% — an empty shell. The site exists for browsers only.
How do you fix a low render ratio?
Server-side rendering or static generation for the content that matters, which every modern framework supports and most projects simply never switched on. The design does not change and neither does the stack; what changes is who assembles the HTML.
Where a rebuild is not on the table, the cheap partial fix is to serve a text version to whoever asks for one, through content negotiation or a documented Markdown copy. It does not repair the page, and it does mean the content exists somewhere a crawler can reach.
What is this based on?
Google's own documentation is the strongest source here, and it is the one usually quoted in reverse. These three are free to read in full.
- JavaScript SEO basics, Google Search Central
Documents the three phases —crawl, render, index— and states that server-side rendering remains a good idea because not all bots can run JavaScript. That sentence is the whole argument.
- GEO: Generative Engine Optimization
Measures what makes content visible inside generated answers. None of it applies to content a crawler never received.
- The llms.txt convention
The usual partial workaround: publishing a Markdown version of what the page says, for agents that will not execute a script.
Frequently asked questions about Render ratio
Doesn't Google execute JavaScript anyway?
- Google does execute JavaScript, in a rendering phase that happens after crawling. That covers Google and says nothing about the rest, and Google’s own documentation still recommends server-side rendering on the grounds that not all bots can run JavaScript. Optimising for the one crawler that renders is a bet on the wrong crawler.
Does a good render ratio mean giving up React?
- No. React, Vue and Svelte all render on the server, and the frameworks built on them do it by default. A low render ratio is almost always a configuration that was never turned on rather than a limit of the technology.