I find quite confusing the title and what is being talked about in this discussion, it's not clear to me what is the proposition and the goal here, both SPA (Flarum) and SSR are different JavaScript application architectures, it's not like you can get rid of one to introduce the other, especially in Flarum.
I find what Clark says very interesting (especially that he tried it in the past) about making a complete SPA SSR, but if as he says there is no good way to do it with Mithril, then for the current Flarum it would not be possible.
So the proposition here would actually be much more complex, ie:
- Migrate to React (with the extensibility problems in modifying vdoms... etc).
- Introduce server-side rendering.
- Make use of React Hydration to bind the server-rendered HTML with the React Frontend (becoming also the solution for SEO).
And with these three steps we would have a fully functional SPA SSR, with its own routing etc... and with the benefits of SSR in the initial page loads.
It sounds interesting definitely, not only for SEO there are other benefits, but it also sounds like a titanic job, I would like to know the opinion of the core developers, are they willing to do this? would it need external help and then some kind of crowdfunding? I'm not just talking about the core changes, but also about funding the consequences, I imagine it would be the most disruptive/breaking version of Flarum, so there would be a lot of work to get all the extensions working again, at least the FoF ones.