rit*_*ter 7 seo prerender reactjs react-router
我意识到使用react-router的我的ReactJS应用程序没有任何外部链接.搜索引擎无法识别该网站有很多链接内容.Prerender.io似乎是一个很好的解决方案,但我不能让它为我的ReactJS应用程序工作.
prerender.io可以与ReactJS一起使用吗?如果没有,是否还有另一种改善我的网站搜索引擎优化的好方法,而不需要完成所有的渲染服务器端?
编辑:进一步挖掘,我意识到这里的问题是react-router默认使用"#",而不是"#!".是否有可能使react-router与"#!"一起工作?
Prerender 似乎需要真实的 url,否则你无法将缓存的 html 提供给普通人(哈希值不会发送到服务器)。
设置react-router时确保它使用历史模式:
Router.run(routes, Router.HistoryLocation, function (Handler) {
Run Code Online (Sandbox Code Playgroud)
在您的服务器中,您需要确保通过发送 index.html 或使用预渲染来提供与静态文件不匹配的所有路由。
您可以搜索“将所有请求发送到index.html {在此处插入服务器名称}”以查找有关此内容的详细信息。
默认情况下,预渲染似乎仅适用于某些情况。如果您在 node.js 中使用express.js 中间件,下面是一个示例:
require('prerender-node').shouldShowPrerenderedPage = function(){ return true }
Run Code Online (Sandbox Code Playgroud)
您应该能够对其他中间件进行类似的修改(它需要使用不太灵活的语言进行分叉)。
| 归档时间: |
|
| 查看次数: |
7768 次 |
| 最近记录: |