【问题标题】:Angularjs:Crawling a siteAngularjs:抓取网站
【发布时间】:2014-01-08 05:02:27
【问题描述】:

我已经制作了一个以 rails 作为后端的 angular 应用程序。我阅读了很多关于如何使 angulajs 应用程序可抓取的博客和文章。

例如 - : "http://www.example.com/#!/home" Google 机器人会将此网址转换为 "http://www.example.com/?_escape_fragment_=/home"。

我已经写了逻辑,只要请求带有“?_escape_fragement_=”格式,我只是在html文件中返回json数据。

例如-:

 <p>name: test</p>
 <p>designation :test1</p>

所以我只想知道这足以使 ajax 应用程序可抓取。如果不是,请向我建议其他使应用程序可抓取的方法。

谢谢,

【问题讨论】:

标签: ruby-on-rails-3 angularjs web-crawler bots


【解决方案1】:

您应该考虑从现有代码库创建 HTML 快照,而不是增加创建页面的复杂性。 Google(参见选项 3)建议在返回客户端之前使用无头浏览器 prerender 您的 AJAX 应用程序。

您还可以通过为所有用户预渲染并在当前状态下初始化您的 Angular 应用程序(尤其是在混合应用程序/移动网站中)来看到一些显着的性能改进,这减少了 XHR 请求和浏览器中的绘制。更多信息在这里;

https://github.com/ithkuil/angular-on-server/wiki/Running-AngularJS-on-the-server-with-Node.js-and-jsdom

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多