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

时间:2012-08-22 09:25:32

标签: javascript ruby-on-rails node.js playframework ember.js

我读了很多关于客户端JavaScript应用程序和搜索引擎机器人抓取方法的内容。 我发现了两种一般方法:

工作流程1:

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

  1. 用户来自谷歌搜索特定主题
  2. 主题在plain html
  3. 中尽快加载
  4. JS App Framework在后台加载
  5. 一旦准备就绪,JS App Framework就会接管所有操作和路由,等等。
  6. 工作流程2:

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

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

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

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

      旁注:

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

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

1 个答案:

答案 0 :(得分:1)

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

要检查的是derby.js,它实际上是工作流程#1。您可能希望查看他们的代码库,如果您完成任务,请将其调整为ember。