0

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

我还为每所房子都有页面,上面有一个类似的房子部分,显示总是在改变与这个相似的房子。

我正在尝试找到使该应用程序可被搜索引擎抓取的最佳方法。

我可能喜欢在每个页面上使用 noscript 标签,但由于我所有的房屋页面都可以根据代理/卖家保存不同的信息和结构,这将是更多的工作,基本上是复制客户正在做的事情!

我可以走 phantomjs 路线并缓存我的所有页面并通过 escapedfragment_ 方法提供服务,但我认为这将是一种资源密集型方法,内容变化如此之大。此外,我的主页上有类似的房屋,这些房屋可能会根据用户/位置等而变化,我不确定如何缓存这些部分。

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

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

4

1 回答 1

0

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

于 2013-10-04T17:53:42.390 回答