我读了很多有关客户端JavaScript应用程序和搜索引擎机器人爬网方法的内容。
我发现了两种通用方法:
工作流程1:
前提条件:
整个Web应用程序会正常降级,并且无需JavaScript就可以使用。因此,对于搜索引擎机器人来说,这是可见的。
工作流程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/之类的东西来确保没有前端代码重复。
问题:
可爬网的emberjs应用程序堆栈应如何为搜索引擎机器人和前端js框架优势提供服务器端渲染?
emberjs核心开发人员建议如何实现此目标?
(例如Node + Emberjs + phantomjs +-x OR Rails + Emberjs + y OR Playframework + Z)?
我知道可能有很多方法可以到达那里,但是我觉得最好使用stackoverflow过滤掉常见的方法。
边注:
我已经看过一些JS框架,它们想要开箱即用地创建一个完整的堆栈。在这里命名:
我特别询问emberjs,因为我喜欢他们的方法,而且我认为它背后的团队绝对有能力建立最好的框架之一。
最佳答案
我还没有看到像这样针对emberjs构建的东西。但是,有早期尝试将ember集成为 Node 的服务器端模块。
需要检查的是derby.js,它实际上执行工作流程#1。您可能想看一下他们的代码库,如果您能胜任该任务,请对其进行调整以适合 Ember 。
关于javascript - 用于搜索引擎可爬网应用程序的EmberJS技术堆栈,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12070060/