EmberJS Tech-Stack for Search Engine可抓取应用程序

Bij*_*jan 7 javascript ruby-on-rails node.js playframework ember.js

我读了很多关于客户端JavaScript应用程序和搜索引擎机器人爬行方法的东西.我发现了两种一般方法:

工作流程1:

前提条件: 整个Web应用程序优雅地降级,无需JavaScript即可使用.因此搜索引擎机器人可以抓取它.

  1. 用户来自谷歌搜索特定主题
  2. 在纯HTML中尽可能快地加载主题
  3. JS App Framework在后台加载
  4. 一旦准备就绪,JS App Framework就会接管所有操作和路由等等.

工作流程2:

前提条件: 服务器后端是在Google的ajax爬行指南(https://developers.google.com/webmasters/ajax-crawling)之后设计的,并返回到escaped_fragment网址(例如www.example.com/ajax.html?_escaped_fragment_=key = value)普通的HTML.据我所知,可以使用http://phantomjs.org/这样的东西来确保没有前端代码重复.

  1. Google会在结果中显示ajax网址
  2. 使用ajax url#发出请求!
  3. 初始化emberjs应用程序,并根据URL加载所需的状态.

题:

可抓取的emberjs应用程序堆栈应该为搜索引擎机器人和前端js框架的优点提供服务器端渲染?emberjs核心开发人员推荐什么来实现这一目标?(例如,Node + Emberjs + phantomjs + - x OR Rails + Emberjs + y OR Playframework + Z)?

我知道可能有很多方法可以实现,但我觉得使用stackoverflow过滤掉常用方法会很好.

边注:

我已经看过一些想要创建这样一个完整堆栈的JS框架.在这里命名:

我特别询问emberjs因为我喜欢他们的方法,我认为它背后的团队肯定能够建立一个最好的框架.

Kos*_*tia 1

我还没有看到任何像这样为 emberjs 构建的预先存在的东西。然而,早期尝试将 ember 集成为节点的服务器端模块。

需要检查的是derby.js,它实际上执行工作流程#1。您可能想查看他们的代码库,如果您能胜任这项任务,请对其进行调整以适应 ember。