灰烬搜索引擎

时间:2013-10-03 23:55:05

标签: ruby-on-rails ember.js seo phantomjs

我正在创建一个Ember应用程序,里面有一个内置的搜索引擎。随着房屋被发现/添加或移除/出售,我的结果发生了很大变化。因此,我的搜索结果一直在变化。

我也有每个房子的页面,上面有类似的房屋部分,显示总是改变这个类似的房子。

我正在尝试找到让这个应用程序可以抓取到搜索引擎的最佳方法。

我喜欢每个页面使用noscript tages的话语,但是因为所有我的房子页面都可以根据代理商/卖家持有不同的信息和结构,这将是更多的工作,基本上重复了客户正在做的事情!

我可以沿着phantomjs路线下去并缓存我的所有页面并通过escapedfragment_方法提供服务,但我认为这将是一种资源密集型方法,内容会发生很大变化。另外我的房子页面上有类似的房子,可以根据用户/位置等改变,我不知道如何缓存这些部分。

我正在使用的另一种方法是将我的页面/部分模板转换为服务器端模板,以便我可以在服务器上呈现它。例如,当客户通过我的ember应用程序以他们需要的格式创建房屋页面时,他们点击发布,然后将渲染的html转换为带有占位符等的服务器模板。

有人帮忙吗?任何想法/建议/建议都会很棒!

1 个答案:

答案 0 :(得分:0)

我认为你已经回答了自己的问题。这完全取决于权衡并找到最适合您特定情况的解决方案。没有银弹。就个人而言,我选择接近noscript路线的东西,但不是将内容放在noscript标签内,而是将它们放在具有no-ember类的常规div中,默认情况下可以看到它们。然后,当文档准备好时,我测试以查看客户端是否支持推送状态。如果是这样,我初始化我的Ember应用程序并隐藏no-ember div。如果没有,那么所有no-ember div都是可见的,这样客户端就可以正常查看/使用内容。