【问题标题】:EmberJS Tech-Stack for Search Engine crawlable AppsEmberJS 用于搜索引擎可抓取应用程序的技术堆栈
【发布时间】:2012-08-22 09:25:32
【问题描述】:

我阅读了很多关于客户端 JavaScript 应用程序和搜索引擎机器人爬取方法的资料。 我发现了两种通用方法:

工作流程 1:

前提条件: 整个 Web 应用程序优雅地降级,并且可以在没有 JavaScript 的情况下使用。因此搜索引擎机器人可以抓取。

  1. 用户来自 google 搜索到特定主题
  2. 以纯 html 格式尽可能快地加载主题
  3. JS App Framework 在后台加载
  4. 一旦准备好,JS App Framework 就会接管所有的操作和路由等。

工作流程 2:

前提条件: 服务器后端是根据 Google 的 ajax 抓取指南 (https://developers.google.com/webmasters/ajax-crawling) 设计的,并返回到 escaped_fragment url(例如 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,因为我喜欢他们的方法,而且我认为它背后的团队绝对有能力构建最好的框架之一。

【问题讨论】:

  • 这里的资源很好的开始......不幸的是 - 除非我错过了什么 - 我不认为#2是一个可行的答案。感觉像是用phantomjs之类的东西向自己请求一个页面,然后处理然后发送给客户端,不是很优雅,也不是很可扩展……

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


【解决方案1】:

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

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

【讨论】:

  • 感谢提示,我将框架添加到了旁注中。关键是我正在明确搜索 emberjs 的技术堆栈。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多