2015-08-25 66 views
1

我試圖讓一個單一頁面應用程序可以抓取,並已成功創建HTML快照按需,但我很難理解如果「#」片段被認爲是「漂亮的URL」,或如果它只是「#!」?使Durandal SPA網站搜索引擎友好

我讀過http://durandaljs.com/documentation/Making-Durandal-Apps-SEO-Crawlable.htmlhttps://developers.google.com/webmasters/ajax-crawling/docs/specification

在我看來,只有 「#!」是一個漂亮的網址,杜蘭達不支持這一點。不過,它支持pushState。據的最後一個環節,這應該包括如果頁面已經在使用漂亮網址:

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

一個作用在於在網頁「www.domain.com?_escaped_fragment_=#」的索引版將是「www.domain.com#」,我們希望當然沒有hashbang的URL被編入索引。所以要包裝它 - 我將使用#片段,而不是#!,如果我包含元片段 - 而且我們的內部鏈接也會有#片段,而不是#!,它們會跟着嗎?谷歌?

感謝您的輸入!

Sitenote 根據第一個鏈接,你可以真正改變片段「#!」而不僅僅是「#」,但我無法實現它的工作。我嘗試了重載convertRouteToHash()函數,它進去了,而且無論函數返回什麼,我都看不到變化。

+0

首先答案是 - 沒有什麼好方法,對杜蘭達來說是一個巨大的缺點。但是我所做的是創建一個站點地圖,它包含每個包含其中的散列值的URL,這使得網絡爬蟲(或至少谷歌)知道每個散列實際上是一個不同的頁面 –

+0

你是否得到任何結果或者你只是希望它的工作? :) –

+0

它的工作原理,現在剛剛檢查確認,現在我們有130個實時活動成員,下面的圖表中所有不同的哈希全部列出。請注意,我認爲這可能只適用於Google –

回答