2016-11-18 60 views
3

首先讓我來告訴你我想要做的。創建HTML快照Angualr JS應用程序的搜索引擎的抓取

我想我的索引網站,在角JS提出,爲了這個,我讀谷歌的所有文件或物品爲這種目的。

而我發現的是:

我需要我的角度JS URL轉換爲友好的URL與html5Modehashbag模式。

喜歡:http://www.example.com/#/abouthttp://www.example.com/#!/about或只是http://www.example.com/about

使用<meta name="fragment" content="!">

所以當任何爬蟲會來我的網站上說,Googlebot會來,它會看到我的網址爲http://www.example.com/?_escaped_fragment_=/about所以現在我需要服務這個請求靜態html頁面....對嗎?

現在我的問題是我怎樣才能生成這個與PHP框架的HTML靜態頁面,這個HTML應該只在其內容完全加載後自動創建手段如果角度js加載數據與$ http請求然後這個HTML將只生成畢竟數據將在html模板中加載。

我可以成爲這個網站只對履帶式,如果這可以自動生成。

我已經通過手動創建一些html頁面進行了本地測試,並檢查如果請求將帶有_escaped_fragment_參數,那麼它將服務器特定的靜態html頁面。

,但我不能夠用於與PHP框架特定角度JS請求,我將創建HTML頁面找到辦法。

我不想使用任何npm services.I要在php和/或任何jQuery Plugin完全創建它。

回答

0

除了需要您重定向到,其中服務器已經採取HTML快照的各種意見後,已經呈現你逃脫片段請求,那麼它可以被輸入到Googlebot的服務器等,不要忘記你還需要在現有Web服務器(如Apache或IIS)中設置重定向到處理轉義片段的新服務器。

我很欣賞你正在尋找一個PHP解決方案,並且不希望使用像prerender或seoserver軟件包這樣的NPM,但我想用你的方式拋出一個替代和簡單的解決方案:使用現有的託管解決方案例如https://www.seo4ajax.com/https://prerender.io/。他們將爲您提供可以抓取您的網站的SEO服務器,通常這是免費的,除非您擁有超過幾百頁的大型數據驅動站點。爲您減輕負載,不需要運行另一臺服務器,並且您可以獲得一些漂亮的管理面板,以查看爬網程序是否擊中了SEO重定向等。

從廣義上講,您需要HTML中的元標記你提了,在你的AngularJS配置這些設置:

$locationProvider.html5Mode(true); 
$locationProvider.hashPrefix('!'); 

然後一些自定義重定向設置,如在,如果你的現有服務器是Apache的,這些網站會給你一個.htaccess文件,你可以複製和粘貼。

+0

嘿..謝謝,我同意我需要使用像https://www.seo4ajax.com/或https://prerender.io/這樣的解決方案,但這項服務將爲我提供他們的服務,我需要設置爲每一個,但我想在我的服務器上使用我自己的編程生成這個快照,然後想服務谷歌。 –

相關問題