Yes — Google *can* render JavaScript, but in practice it still misses things more often than people expect.
I’ve seen this a lot on niche sites, affiliate sites, and programmatic pages where the “real” content only exists after JS hydration. Google’s rendering is better than it used to be, but it’s not something I’d trust blindly for important pages.
### Short answer to your questions
**1) Does Google still have problems rendering JavaScript-heavy pages?**
Yes, especially when:
– content loads late
– important text is behind API calls
– rendering depends on user interaction
– pages have weak internal linking
– there are crawl budget issues
– the server returns thin HTML and expects Google to execute everything
Google *can* render JS, but it’s not guaranteed to happen immediately, and not every resource gets processed the way you’d hope. In real projects, I still see pages indexed partially or with missing content.
**2) Is SSR better than CSR for SEO?**
Generally, yes.
If the content matters for indexing, **SSR or pre-rendering is safer than pure CSR**.
My rule of thumb:
– **SSR / static generation** = safest
– **hybrid rendering** = usually fine
– **pure CSR** = risky for SEO-critical pages
CSR can work if Google renders it successfully, but that’s too much dependency on crawl timing and execution. For money pages, I prefer the important text in the initial HTML whenever possible.
**3) How can I test whether Google actually sees my content?**
A few practical ways:
– **Google Search Console → URL Inspection**
– Check the rendered HTML / screenshot
– Compare “crawled page” vs visible content
– **View source vs rendered DOM**
– If the HTML source is empty but rendered content is full, that’s a warning sign
– **Fetch as Google-like tools**
– Use URL Inspection, not just browser dev tools
– **Cache / indexed snippet tests**
– Search for unique text from the JS content in Google
– **Log file analysis**
– See whether Googlebot is crawling the page often enough
– **Inspect rendered output with a headless crawler**
– Screaming Frog with JS rendering, Sitebulb, or similar
I usually test one page in three states:
1. raw HTML
2. rendered DOM
3. what Google Search