django - 与 Django 一起使用时 ReactJS 中的 SEO

标签 django node.js seo reactjs

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/

相关文章:

indexing - 从谷歌搜索中完全排除目录

python - Administration 是如何存储在 django 中的?

javascript - 在 Node.JS 中向 HTTP POST 请求添加参数

node.js - 如果我在 Express 中指定 router.param,为什么 app.param 不起作用

node.js - 我可以在 bluemix 上为我的应用程序保留另一个端口吗?

asp.net - 在我的网站上模拟爬虫

friendly-url - 生成 SEO 友好 URL(slugs)的最成熟方法/lib 是什么?

Python根记录器隐藏后代记录器级别

django - 如何自定义Django表单标签

python - django 无法打开数据库文件