与 Django 一起使用时 ReactJS 中的 SEO

SEO in ReactJS when used with Django

React 使用 Node 服务器来处理服务器端渲染。因此,当爬虫请求一个 URL 时,Django 服务器请求调用 React.renderToString 并生成 HTML 的 Node 服务器。 HTML 被发送到 Django,Django 将其发送到爬虫。当我调用 Node 并请求数据然后将其发送到爬虫时,这是否存在性能问题? 与直接在 Django 中渲染并发送相比,不会有性能损失吗? SEO 在我的应用程序中很重要,但我也想使用客户端渲染。什么应该是最好的权衡?

我不确定性能损失是多少,也不确定是否值得将面向 public 的站点构建为 SPA。我会为管理员和用户必须登录的区域保留它,而不是在我希望 Google 和其他爬虫索引页面的 public 页面中。即使您确实使用 React 和 Node 生成该页面,之后的后续页面也将全部 ajax 并且生成的 html 永远不会改变,我发现这是无用的 IMO.

总而言之,将您的 public 站点保留在 Django 和管理站点 React 中,这将产生最佳结果并为您提供所需的 SEO 页面。

编辑 2022 我的回答是多年前的,需要更新。如果你打算走 React 路线,你应该考虑 NextJS 或 Remix;两者都处理 SSR(服务器端呈现)以生成 HTML,以便爬虫可以索引您的内容,这样您就可以满足您的 SEO 需求。