目前,我的项目有两部分,一部分是登录前,另一部分是登录后。
我想要实现的是,在登录之前需要快速和SEO友好,我应该选择预渲染或SSR?
登录后,我们可以选择CSR (这样客户端就可以等待页面加载)。
或者,我可以执行两个CSR,一个用于登录前(快速加载),一旦客户端登录,通过JWT令牌,重定向到后登录CSR页面?
谢谢
发布于 2019-09-26 02:00:24
对于需要爬行的页面,很可能CSR不是一种选择。接下来的问题是你是选择预渲染还是SSR。答案是,这取决于。
SEO内容是静态的,还是依赖于给定时间的其他后端API响应?
如果是静态的,预渲染就足够了。但是,如果它依赖于其他API,那么内容在运行时可能会发生变化,您必须执行真正的SSR才能适应这种情况。然而,SSR在服务器上的资源密集型程度更高。
至于“后登录”部分,因为它可能不应该被机器人爬行,所以可以对所有登录页面执行CSR。单是CSR并不意味着您的初始加载速度要快得多,但是有很多因素需要考虑,例如HTML文档大小、网络行程延迟、您自己服务所依赖的其他服务的响应时间等等。但是,除了使用服务工作者和应用程序-shell模型之外,CSR几乎总是比SSR更快。我建议研究一下,以提高CSR的速度。链接
发布于 2020-10-13 19:54:18
那得看情况。
如果SEO是不相关的, - ,例如,一个生活在登录屏幕 - 后面的应用程序,那么CSR是可以的,您只需要一些类似ReactJS的东西。
如果你需要一个好的搜索引擎优化:
( a)如果可以预测内容在构建时生成它(例如:博客),那么您需要SSG (在构建时创建的静态内容),并且应该选择类似Gatsby或NextJS之类的内容。
b)如果您的无法预测内容/可能的请求(例如:搜索页面),服务器将需要按需生成页面,因此您需要动态的NextJS (用户访问时间上创建的内容),并且应该选择类似NextJS的内容。
备注:NextJS允许您在同一项目中有选择地混合3种主要呈现形式。因为这个原因是最好的选择,如果你需要搜索引擎优化。
https://stackoverflow.com/questions/58107986
复制相似问题