I have a few problems with the “CONS” of SPAs you list:
> It is very tricky and not an easy task to make SEO optimization of a Single-Page Application.
Not really true, with isomorphic rendering / server side rendering, you can render the page on the server already. This means the initial render is on the server and can be cached, disabling JS is not really a concern for getting a rendered page (might of course still be for other functionality of the page) and SEO optimisations can be handled on the server as well. Mind you, most big search engines also already interpret JS, so even using SPAs without server side rendering will likely not impact your SEO performance negatively.
> In this model, back and forward buttons become dysfunctional.
This is entirely untrue. The history API gives access to page navigation in JS using the browser’s history. So using back and forward buttons will work just the same as on a MPA if the SPA is developed properly.