我目前正处于一个新项目的规划阶段,该项目由一个店面、一个高度反应性的用户仪表板和通过店面提供的单个产品是高度交互的迷你应用程序组成。我们试图让整个平台成为一个 SPA,并在 Flux 架构上设计整个东西,并使用 React 作为前端视图。
与大多数 SPA 一样,一个问题是 SEO。我已经基于 este.js 开发堆栈构建了一个同构解决方案的原型。一个问题是我们的应用程序从一个 RESTful 服务器中消耗了几乎所有的数据,该服务器与提供 SPA 的 Web 服务器是分开的。这意味着 Web 服务器需要从 RESTful 服务器获取大量数据,以同构生成 HTML 快照。
我考虑过让我自己的一个单独的爬虫进程定期爬取整个店面,并且同构地生成页面的 HTML 快照,当 Web 服务器遇到搜索引擎爬虫时可以提供这些快照。我不确定这是否是一个好方法,因为它可能会引入额外的维护,坦率地说,它似乎有点脆弱。我可以让 Web 服务器在运行中以同构方式生成 HTML,但我担心普通用户会使服务器陷入困境,因为服务器会从 REST API 中提取大量数据......
有没有更好的方法来处理这种情况?