Today we released a major upgrade to our infrastructure with the introduction of Server Side Rendering. Now, instead of loading the application entirely in the browser, we render and load important information on the server side first. Once the browser is ready, Angular rehydrates seamlessly and completes any asynchronous tasks.
Research has shown that slower pages exponentially increase the bounce rate (users who leave after one pageview). Another consequence of perceived slowness in web applications is lower search engine rankings. We are already noticing significant speed increases of over 100% for our initial page loads.
Just because we can render everything on the server side doesn't mean we should. Our aim is to have the lowest latency possible, so we are still loading secondary data such as comments (or anything below the fold) on the browser side. You can find out about tips, tricks and quirks with SSR on our developer docs.
This project has been a significant juncture for our architecture. Our frontend Angular application is now entirely abstracted from our PHP backend. Previously the frontend application would be rendered from inside of PHP and configurations passed through window variables. This is now no longer necessarily and we use the same api endpoints that mobile uses. The SEO is now much more simplified and entirely controlled from the frontend.
In addition to SSR, we also launched a captcha to aid in reducing spam bots. The vast majority of captcha's are either proprietary or disowned, so we built our own! Currently the captcha is only in place during registration, but we will be rolling it out to other areas shortly.