React 使用 Node 服务器来处理服务器端渲染。因此,当爬虫请求一个 URL 时,Django 服务器请求 Node 服务器调用 React.renderToString 并生成 HTML。 HTML 被发送到 Django,Django 将它发送到爬虫。当我调用 Node 并请求数据然后将其发送到爬虫时,这是否存在性能问题? 与直接在 Django 中渲染并发送相比,不会有性能损失吗? SEO 在我的应用程序中很重要,但我也想使用客户端渲染。什么应该是最好的权衡?
最佳答案
我不确定性能损失是多少,以及是否值得将面向公众的网站构建为 SPA。我会将其保留在管理员和用户必须登录的区域,而不是在我希望 Google 和其他抓取工具为页面编制索引的公共(public)页面中。即使您确实使用 React 和 Node 生成该页面,之后的后续页面也将全部是 ajax,并且生成的 html 永远不会改变,我发现这在 IMO 中是无用的。
总而言之,将您的公共(public)站点保留在 Django 和管理站点 React 中,这将产生最佳结果并为您提供所需的 SEO 页面。
编辑 2022 我的回答是多年前的,需要更新。如果你打算走 React 路线,你应该考虑 NextJS 或 Remix;两者都处理 SSR(服务器端呈现)以生成 HTML,以便爬虫可以索引您的内容,这样您就可以满足您的 SEO 需求。
关于django - 与 Django 一起使用时 ReactJS 中的 SEO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31984195/