3 steps to check if isomorphic/universal/SSR is worth it

You have a client side React app and your backend all set up, and you have heard a lot of smart people talking about “Isomorphic” or “universal” applications. Some people call it server side rendering (SSR). All the different names makes it a bit confusing, but you are curious enough to try it out. When you start dig into the details you realize it’s not only the names that are confusing. It’s complex to set up and work with also. I keep hearing things like:

I feel like it has been a mild nightmare to tweak things how I want it.

If setup is this much of a hassle, how much more work would I have down the road?

Is it really worth all the extra trouble that comes with isomorphic applications? Before spending too many hours, go through this short list to verify if its worth your time to continue.

1. Do you expect the users of your website to share links on social media?

Some social media sites like Facebook and Twitter reads the content and metadata from HTML of the links that are posted to be able to show a nice preview. The preview increases the chances of the links being clicked. SSR might be worth it for you if you expect users to share links to your site. (Previously you also needed SSR for being indexed by google, but that is no longer needed. Source here)

2. Is a “white page” while the browser loads the page acceptable for your users?

It takes some milliseconds for the React JavaScript to load, run and render. During that short time the user will see white page or some static content. It’s a short time but long enough to have an impact on user experience.

If you server side render your React app it get passed to the browser as pure HTML and the browser can instantly render it. The site feels quicker, and that can be important for some websites.

3. Do you have many users with old browsers or users that don’t have javascript enabled?

Old browsers does not support modern JavaScript so your client side React app might not work for this category of users. Some users browse the web with JavaScript disabled and your client side React will not run for these users either. If your audience is in any or both of these categories you might want to put in some effort to make the site be useable without client side JavaScript enabled. Server side rendering is a crucial tool for you in that case.

I hope that helped you to determine if you should spend more time looking into SSR or not!