2013-12-19 42 views
3

我已經做了一個角度的應用程序與rails作爲後端。我讀了很多關於如何使angulajs應用程序可抓取的博客和文章。Angularjs:抓取一個站點

例如 - :「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應用程序crawlable.if沒有,那麼請給我建議的其他方式提出申請抓取。

感謝,

+1

我懷疑你讀http://www.yearofmoo.com/2012/11/angularjs-and-seo.html? – Florian

+0

@Florian: - 假設我的原始ajax頁面爲例如:「http://www.example.com/#!/home」包含錨定標記。那麼,是否需要在頁面中添加相同的錨定標記請求「http://www.example.com/?escape_fragment_=/home」。 – user2588480

回答

0

你應該考慮從現有的代碼庫創建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