【发布时间】:2014-04-28 09:12:30
【问题描述】:
我之前在另一个项目中使用过 reactJS。 在构建上述项目时,我注意到一个失败,即与 JS 渲染组件相关的 SEO 优势的损失。
我正在重建一个旧项目,我想用 ReactJS 替换一些 Javascript。
例如,多步骤表单 - 我想将其替换为根据需要显示正确阶段的有状态组件。
不过,我希望通过第一步可抓取来维护页面的 SEO 方面。
为了实现这一点,我的研究表明我应该使用 React 的 React.renderComponentToString
研究了这个问题后,我的想法是我应该使用 node.js 渲染组件服务器端,然后在浏览器中提供它们。然后按照说重新添加该组件以添加客户端功能。我的第一个问题是这是否是一种合适的方法?有没有我忽略的更简单的方法?
Pete Hunt 在这里 (https://groups.google.com/forum/#!msg/reactjs/eUespJPdyas/hmJywyo9ZSwJ) 提到 Instagram 使用/使用 Django 并且设置与我想象的相似。
我的应用程序是使用 phalcon 用 php 编写的。我的问题基本上与此声明有关:
Node 然后将返回组成组件的 HTML。姜戈 获取该 HTML 并通过普通 Django 将其插入 DOM 模板。
如何在 PHP 中执行此操作?我不希望这个组件在后台渲染并在请求时使用,而是在 PHP 需要时通过传递的参数渲染。
我发现了这个问题 (Sending messages from PHP to Node.js),这让我想到了一种方法是简单地使用 CURL 来查询我的节点实例正在侦听的端口以获取然后输出的 html。
我担心的是,我所有的 CURL 经验都表明它非常慢。我不希望我的页面加载时间大幅减少只是为了获得一些 SEO 好处。
有人可以就上述问题/我的方向提出建议吗?
非常感谢
【问题讨论】:
标签: php node.js curl phalcon reactjs