I'm creating a website with React in my free time, and this is my first time doing this. So far, I've worked with React and React Router, but migrating to Next.js or Gatsby would cover Routing and SEO, which I currently cannot work with. Most things I read say that Next.js is the best solution, but I am trying to decide whether it is worth the time and effort to recreate the site for SEO and speed purposes. Does anyone have suggestions?
Seems that it is more of a personal or business decision that you need to make. If SEO is important to the project then your SPA react site might not meet the project's needs. Using Next or Gatsby will probably give the GoogleBot more to index than create-react-app.
I choose to use Gatsby to make my personal site as a new developer back in 2019. But since then most of my projects have used Next because of my interest in making apps and APIs.
If I were you, I'd dive into the issues around SEO and React and figure out what the GoogleBot needs. From some quick reading it seems possible to get some SEO coverage without using Next. And it's a good way to prep for using Next in your project.
https://www.bacancytechnology.com/blog/react-seo-for-web-applications https://www.shareitsolutions.com/blog/seo-problems-react
Thanks for sharing such informative blog. It really helped me a lot to learn new things about Oracledbr. Keep on sharing informative and useful stuffs. Great blog!
Routing in Next is trivial. NextJS allows 3 modes of use: static, generated on the server side or on the client side (SPA). For the first two just overwrite two methods to generate the pages on the server side (static generation) or generate them on the fly (SSR). If I want to add some logic that also works on the client side, the static page or generated on the server side is re-hydrated on the client side (the SPA part is added by latching onto the static part through meta-data transparent to the client. If Javascript is turned off the first two work without problems, to the advantage of indexing. In the case of static pages the speed is practically instantaneous. I highly recommend NextJS on Vercel.