JavaScript rendering: the quiet reason your best pages are not indexed

If a crawler has to run your code to see your content, some of your content will not be seen. How to check in ten minutes and what to ask your developers for.
Key takeaways · Technical · 6 min read
- Compare raw HTML with rendered HTML before anything else
- Critical copy, links and metadata should be in the first response
- Server rendering or static generation fixes most cases
The problem in one paragraph
Search engines fetch your page, read the HTML and, some time later, may run the JavaScript to see what it adds. That second step is slower, more expensive and less reliable than the first. Content that exists only after scripts run is content with a weaker claim on the index.


A ten-minute check
You do not need a crawler to spot the issue.
- View source on a key page and search for a sentence from the main copy. If it is missing, it is rendered client-side.
- Use the URL inspection tool in Search Console and compare the rendered HTML and screenshot with what you see in a browser.
- Disable JavaScript in your browser and reload. Note what disappears: copy, navigation, internal links, prices.
- Search for an exact sentence in quotes. If the page is indexed but the sentence is not found, the content was not processed.
What usually breaks
In audits we most often find internal links that only exist after a click handler runs, page titles and canonical tags injected by script, product descriptions fetched after load, and infinite scroll with no paginated URLs behind it.
Each of these is invisible in a normal browser session, which is why they survive for years.
What to ask your developers for
The fix is rarely a rewrite. It is a decision about where rendering happens.
- Server-side rendering or static generation for any page meant to rank
- Real anchor tags with href attributes for every internal link
- Titles, descriptions, canonicals and structured data in the initial HTML
- Paginated URLs behind any load-more pattern
What to expect after the fix
In one sample engagement, pre-rendering 38 templates took indexable pages from 58% indexed to 96% in nine weeks. Traffic followed about a month later. The content had been good all along. It simply had not been read.
Content that exists only after scripts run has a weaker claim on the index.

Written by
Kenji Morita
Head of technical SEO. Spent eight years as a web developer before moving to search. Writes the tickets engineers do not push back on.
Illustrative photos. Figures and examples in this article are sample content.


