我已在服務器端使用此angular-codeigniter-seed在Codeigniter上製作了一個角度應用程序。 我試圖將SEO添加到我的應用中,並且我使用ui-router-metatags在每個頁面上都有動態元標記,但問題是隻有Chrome瀏覽器的抓取工具運行javascript,並且在索引頁面時等待DOM加載其他人(臉譜,高音等)沒有,他們採取的HTML是原樣。使用Codeigniter預渲染角頁面以提供爬蟲
有很多付費服務,預渲染角網頁並緩存他們的爬蟲來(seo4ajax,brombone,prerender.io等),但我不能支付,我不需要他們提供的數量。
所以我想在服務器上渲染一些頁面(不一定是全部)的方向,併爲它們提供準備好的HTML,我應該如何處理這個問題?
我跑角1.5.3,笨3.0.4,UI路由器0.2.18和服務器運行Nginx的。
這裏,從我的路由SA樣本:
.state('song', {
url: "/song/:songTitle",
templateUrl: root + 'templ/audio',
controller: 'audioController as audio',
resolve: {
songTitle: function ($stateParams) {
return $stateParams.songTitle;
},
songDescription: function (SongDescService) {
return SongDescService.getDescription();
}
},
metaTags: {
title: function (songTitle) {
return songTitle;
},
description: function(songDescription){
return songDescription;
},
properties: {
'og:title': function (songTitle) {
return songTitle;
},
'og:type': 'audio',
'og:description': function(songDescription){
return songDescription;
},
'og:image': root + 'images/logo.png'
}
}
})