I'm new to this framework and after passing the interactive learning, I've got some questions about the way Next.js handle SEO issues.
Next.js
bold capability is its ability to render React
components on the server-side, however, as far as I found out, it only renders the first request on the server-side and other requests will be rendered on the client-side, so how does it do better than usual CRA in terms of being SEO friendly?Next.js
renders server side only the first request.Modern crawlers are able to crawl client side apps, so there is no difference for them between Next & CRA, but, there are some restrictions (such as first download size) which probably will fallback to "old" crawl mode, which is collect all links, and request them separately. That means that Next.js
will SSR each request, CRA won't.
As addition, many crawlers starts to pay attention to other parameters such as performance (for example First Paint), which SSR version will get better score.
Render first page, (ssr version), collect links, and render each page separately (ssr version as well).
Next.js
Link component is that it wraps a proper anchor, and sets a correct herf
that means that Bots will be able to operate in the "old" way without JS enables, if JS is enables it will be rendered much faster (it has several optimisations, such as preloading next pages etc...)