Yeah, Google **can** render JavaScript, but in the real world it’s still not something I’d trust blindly for important content.
A few practical thoughts from testing this stuff on client sites and my own projects:
### 1) Does Google still have problems rendering JS-heavy pages?
**Yep, sometimes.**
Google’s rendering is better than it used to be, but JS-heavy sites still run into issues like:
– content showing up late in the render queue
– internal links not being discovered fast enough
– important text not being treated as primary content
– lazy-loaded stuff never getting fully processed
– pages looking “thin” in the initial crawl
If the HTML source is basically empty and everything depends on JS, that’s always a risk.
### 2) Is SSR better than CSR for SEO?
**Usually yes.**
If SEO matters, SSR or pre-rendering is the safer route.
My rule of thumb:
– **SSR / static generation** = best for indexation reliability
– **CSR only** = fine for app-like experiences, but riskier for SEO pages
– **Hybrid** = usually the sweet spot
If the page is meant to rank, I’d rather have the main content in the HTML from the start. Less drama.
### 3) How can you test whether Google actually sees your content?
Best checks I use:
– **Google Search Console > URL Inspection**
– look at the rendered HTML / screenshot
– compare what Google fetched vs what users see
– **View source vs rendered DOM**
– if the important text isn’t in source, that’s a yellow flag
– **Fetch as Google-style testing**
– use URL inspection or a crawler that renders JS
– **Disable JavaScript in browser**
– if the page becomes useless, Google may have a harder time too
– **Log file analysis**
– useful if you want to see how often Googlebot is crawling and whether it’s hitting key URLs
Also worth checking with Screaming Frog in JS rendering mode. It’s not perfect, but it gives you a decent clue fast.
### 4) Are React and Next.js websites still risky for indexing?
**React itself: yes, if it’s pure CSR.**
**Next.js: much less risky, if configured properly.**
React apps that rely on client-side rendering only are the ones I’d worry about most.
Next.js is usually fine