1👍
For React you can use the following
- Routing – React Router Dom
- SEO – React Helmet
These will cover points 1-3 of your requirements.
If you want to do server-side rendering you can have a look at Next.js or Gatsby.js. These frameworks are built on top of React and come out of box with routing and SEO funtionalities.
I don’t think the last point is that much relevant as all the above would work fine in almost any setup.
- [Vuejs]-Converting from handlebars to vue.js – using a pseduo root element
- [Vuejs]-Why CSS styles can't be applied to elements created by Buefy?
Source:stackexchange.com