Ember.js 使余烬应用程序可爬行

Ember.js 使余烬应用程序可爬行,ember.js,seo,web-crawler,Ember.js,Seo,Web Crawler,我正在阅读关于ajax爬行的google规范; 我理解这个概念,但我需要进一步澄清: 我的URL都是这样的: http://www.website.com/#!/eng/home http://www.website.com/#!/eng/contacts ... 我必须在以下地址提供html快照: http://www.website.com/?_escaped_fragment_=/eng/home http://www.website.com/?_escaped_fragment_=/e

我正在阅读关于ajax爬行的google规范; 我理解这个概念,但我需要进一步澄清:

我的URL都是这样的:

http://www.website.com/#!/eng/home
http://www.website.com/#!/eng/contacts
...
我必须在以下地址提供html快照:

http://www.website.com/?_escaped_fragment_=/eng/home
http://www.website.com/?_escaped_fragment_=/eng/contacts
...
这是正确的吗?或者我应该删除“转义片段”URL中的“/”(例如,或者其他什么?)


我使用phantomjs生成HTML快照,但是,哪种方法是向爬虫提供这些快照的最佳方法?使用节点js?使用HTAccess改写规则?

< P>我通常不会通过建议付费服务来回答这样的帖子,但是在这种情况下,你认为你应该真正考虑使用BROMBON-

< P> OK,因为我最终摆脱了这个问题,我想和大家分享我发现的方式;p> 首先,必须在特定URL处向爬虫程序提供HTML快照,其中

?_escaped_fragment_=
正在取代

#!
因此,如果你有:

http://www.website.com/#!/eng/home
服务器必须在以下位置提供快照:

http://www.website.com/?_escaped_fragment_=/eng/home
如果有人对我用来生成快照的方法感兴趣,我只需使用一个名为judo()的节点模块; 为了使用它,您需要在服务器上安装phantomjs()和node();(有关如何在服务器上安装phantomjs的详细信息:)

一旦你安装了所有的东西,你只需要使用柔道(ex.judo.js)编写一个js文件(在你5分钟内准备好之前,遵循我链接的文档页面);将文件上传到服务器上,通过节点执行,创建快照和站点地图

在这之后,当google的爬虫请求?\u转义\u片段=URL时,您需要为他提供HTML快照;我认为最简单的方法是通过.htaccess文件;特别是,您只需要3行代码,在我的例子中是:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/(.*)$
RewriteRule ^$ /seo/snapshots/%1\.html [L]
(因为在我的judo.js文件中,快照是在/seo/snapshots目录中创建的)


最后,您可以使用GoogleWebmaster工具面板中的“fetchasGoogle”选项检查一切是否正常工作;如果您做得正确,您将看到结果是HTML快照…

谢谢您的建议,但我有兴趣了解这一点;从零开始,我一步一步地理解如何创建快照,现在我想摆脱这个最后一步……另外一件需要考虑的事情是,SuffEdEd片段将是URLNEngress的,因此需要解码以创建PHOTAMOJS渲染的“漂亮URL”。我最近推出了crawlspa.com,它提供一切服务。