
When optimizing your website for search engines, choosing between CSR and SSR can be a crucial decision. While CSR can work well for apps, it might not be the best choice for websites.
According to Jono Alderson, making a CSR website performant, accessible, crawlable, and intuitive requires a lot of resources and expertise. But does CSR really slow down crawling and indexing? Ulrika Viberg believes it depends on how and when you use CSR, and what and why you rely on it.
If CSR is necessary, there are ways to make it lighter and faster. To monitor CSR, you can disable JavaScript in the browser, use browser Dev tools, run tests with Lighthouse, GTMetrix, Pingdom, or other tools, manually copy source code, and tweak orders and pre-requests. However, some developers and designers still create terrible messes by neglecting SEO, accessibility, and UX.
While some experts hope that JS will be further developed and search bots will render it better, others believe that JS is an integral part of browsers and servers and won’t go away anytime soon. In this blog, we will explore the benefits and drawbacks of CSR for SEO and suggest some best practices for optimizing your JavaScript code.
Is CSR worse than SSR and why?
CSR can be great for apps. But we don’t operate in an app ecosystem, we operate in a web ecosystem. And CSR is almost always the wrong choice for websites. Sure, you *can* make them performant, accessible, crawlable, intuitive, etc. But it’ll take 10x the resource and expertise.
Jono Alderson
I’ve personally never experience the slow crawling/indexing with CSR JS and am super curious if you have cases where this happened #SEOchat
Ulrika Viberg
#SEOChat A1. Depends on two groups: 1) the how/when 2) the what/why Ideally, no one should be reliant on CS for “vital” content (exceptions are things like Twitter). If it is to be done, there are ways to make it lighter/faster, and less painful. >>>
Darth Autocrat (Lyndon NA)
Tell us more about what tools you are using for JS testing and rendering?
A2 #SEOchat the second question isn’t surfacing the #SEOchat thread… maybe it’s the Twitter CSR playing games. Anyways, I use a bunch of tools to render pages but do find it hard to mimic Googlebot properly.
Ulrika Viberg
#SEOChat A2. * JS disable in the browser. * Using browser Dev tools to monitor timings/block requests. * Lighthouse / GTMetrix / Pingdom et-al * Manually copying source, saving and then tweaking orders/pre-requests etc.
Darth Autocrat (Lyndon NA)
A2 The View Rendered Source Chrome ext has been a help over the years: https://chrome.google.com/webstore/detail/view-rendered-source/ejgngohbdedoabanmclafpkoogegdpob… #seochat
Simon Cox
How often do you have to go back to developers and ask them to change links to <a href>?
#SEOChat A3. I’m independent – so I tend to encounter this sort of thing quite a bit. The sad truth is, there’s a fair number of developers and designers that have little/no clue about SEO, Accessibility or UX, and create *ing awful messes. (worse, they hate being told it)
Darth Autocrat (Lyndon NA)
A3 late to the party, hello! With newly built sites easily 20-30% of the times 🙁
Natalia Witczyk
A3 Only if I have been brought in after a site launch. Usually if I am involved from the design stage then I discuss the designs with the designer and dev so they understand what I need from the site without compromising what they need, and we find a way.
Simon Cox
Will JavaScript become hopelessly unmodern and die like Flash did?
A4 #SEOchat I personally hope JS will be even further developed and searchbots better to render it. And not going anywhere soon 🙂
Ulrika Viberg
#SEOChat A4 Unlikely. The only way that would happen is if it were superseded by something better (web assembly stuff etc.). And it’s not just an integral part of browsers, but also servers now (node), so I don’t see it going anywhere.
Darth Autocrat (Lyndon NA)
Pretty sure I’m paraphrasing John when I say JS isn’t going anywhere #seochat
Mordy Oberstein *winner of laser tag*
While CSR can be effective for apps, it is generally not the best choice for websites in a web ecosystem. Implementing CSR on a website requires significant resources and expertise, and there is still a risk of slow crawling/indexing.
However, if CSR is necessary, there are ways to make it lighter, faster, and less painful, such as using tools to monitor timings/block requests, manually tweaking orders/pre-requests, and disabling JS in the browser. As the panelists in #SEOChat have pointed out, it is essential to involve designers, developers, and SEO experts from the design stage to ensure that the website is performant, accessible, and user-friendly without compromising SEO needs.
In the future, while JS may continue to develop, it is unlikely to be superseded by something better, and it is an integral part of browsers and servers now. Therefore, it is vital to understand and implement JS effectively for websites in the web ecosystem.
Jeremy’s Take: The Machine Layer and the Human Layer Are Different Jobs
JavaScript SEO is really a question about the machine layer: can the bots actually render and read what you shipped? But don’t lose the human in the rendering debate. The title is for the models; the H1 is for the person who landed on the page. You have to serve both, and a JS framework that breaks one breaks your rankings.

The SEO title, the meta title, is for the bots, the models. But the H1 is for the human visitor.
Bradley Benner, Unscripted SEO Podcast
Render for the machines, write for the human. Bradley Benner on the semantic triple in his Unscripted SEO episode.
Make sure the bots can actually read your site.
Our Technical SEO Audit catches the rendering, crawl-budget, and JavaScript issues that quietly hide your best content from Google and the LLMs.
