seo - 将 prerender.io 与 ReactJS 一起用于 SEO

标签 seo reactjs prerender react-router

我意识到我使用 react-router 的 ReactJS 应用程序没有任何外部链接。搜索引擎无法识别该站点有很多链接内容。 Prerender.io 似乎是一个很好的解决方案,但我无法让它为我的 ReactJS 应用程序工作。

prerender.io 可以和 ReactJS 一起使用吗?如果没有,是否有另一种无需在服务器端进行所有渲染即可改进我网站 SEO 的好方法?

编辑:经过进一步挖掘,我意识到这里的问题是 react-router 默认使用“#”,而不是“#!”。是否可以让 react-router 使用“#!”?

最佳答案

Prerender 似乎需要真实的 url,否则您无法将缓存的 html 提供给普通人(哈希不会发送到服务器)。

设置 react-router 时确保它使用历史模式:

Router.run(routes, Router.HistoryLocation, function (Handler) {

在您的服务器中,您需要确保通过发送 index.html 或使用预渲染来提供所有与静态文件不匹配的路由。

您可以搜索“将所有请求发送到 index.html {insert server name here}”以查找相关详细信息。


似乎默认情况下预渲染只适用于某些情况。下面是一个示例,如果您在 node.js 中使用 express.js 中间件:

require('prerender-node').shouldShowPrerenderedPage = function(){ return true }

您应该能够找出对其他中间件的类似修改(它需要使用不太灵活的语言进行 fork )。

关于seo - 将 prerender.io 与 ReactJS 一起用于 SEO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28183502/

相关文章:

seo - 搜索引擎会增加微格式的权重吗?

javascript - 当日期选择器关闭时调用函数,当我仅单击日期选择器外部时

asp.net - Page Cycles - 将数据输入数据库的正确方法

java - 我们可以将 angular2 universal 与服务器端 JAVA 一起使用吗

angularjs - 带预渲染的 Angular.js

php - 谷歌是否读取动态修改的 <title> 标签?

php - Wordpress URL 不返回 404 页面

seo - 在谷歌搜索结果中,链接如何显示在结果下方

javascript - 在 react 组件之外使用 react 上下文

javascript - react 表单个单元格样式