如何使reactjs为SEO提供静态页面

时间:2016-04-14 17:52:45

标签: express reactjs webpack react-router jsx

我有这个reactjs webapp - http://52.26.51.120/

它加载单个页面,然后您可以单击链接以在同一页面上动态加载其他板...例如52.26.51.120/#/b,52.26.51.120 /#/ g

现在的问题是,为了seo的目的,我希望每个页面都是一个单独的页面。我希望你能够google" my-site.com g",你会看到结果52.26.51.120/#/g。如果你正在使用reactjs,这显然无法工作,而且它只在一个页面上。谷歌只会渲染和缓存该主页(甚至可以渲染该页面吗?google执行javascript吗?)

更具体地说,id需要像my-site.com/g/1234这样的东西加载一个帖子。每天可能有一千个线程,所以我不知道如何处理它。

这有什么解决方案吗?允许反应可能提供静态页面为HTML,以便他们可以缓存在谷歌?我现在使用expressjs和webpack作为我的服务器,所有代码都在jsx文件中执行。

由于

2 个答案:

答案 0 :(得分:0)

我怀疑你可以使用nginx进行一些智能配置,并且当将用户代理检测为机器人而不是典型用户时,它可以将域/板的URL转换为域/#/ board的重定向。

答案 1 :(得分:0)

您可以使用Prerender.io服务。简而言之,您需要将服务器应用程序或Web服务器与prerender服务连接起来并进行少量设置(请参阅文档)。之后,搜索引擎和抓取工具将提供静态(预呈现)内容,而用户将获得经典的React.js(或任何其他单页)应用程序。

有一个免费套餐或open source version

的托管服务