2011-10-31 87 views
4

我最近讀了谷歌的Making AJAX Applications Crawlable,因爲我想知道如何正確準備我的動態網站,它使用hashbang導航,搜索引擎優化。 我現在明白,mysite.com/#!/foobar我應該在mysite.com/?_escaped_fragment_=foobar服務一個等效的html快照。谷歌會索引正確的網址hashbang/escaped_fragment內容

我只是想知道,如果谷歌再正確索引我作爲http://example.com/#!/foobar 或者網頁會使用此escaped_fragment網址是什麼?我假設(但想確定)它會正確使用我的hashbang網址作爲搜索結果,但索引內容取自escaped_fragment頁面。

一些確認將幫助我睡得更好。謝謝

+0

我認爲這或多或少是它的目的。稍微偏離主題 - 我絕對討厭這種設計模式,使用無腳本瀏覽時會非常惱火,我通常會避免因爲這個原因而使用它的網站。 – Thor84no

+0

同意。使用它來加載你的頁面內容是一個[非常糟糕的想法](http://isolani.co.uk/blog/javascript/BreakingTheWebWithHashBangs)。 –

+0

謝謝。在那種情況下,你會推薦哪些導航技術用於AJAX網站或其他動態網站,哪些國家應該可以加入書籤等等? – rewolf

回答

0

默認情況下,谷歌將爲您的頁面創建escaped_fragment網址。這可能最終會看起來很醜。

你應該escaped_fragment URL重定向到一個網頁頁面使用301

說你的服務器從Googlebot的URL請求一個漂亮的網址/任何hashbang兼容履帶如「targetPage?_escaped_fragment_ =命令=起到%26id = 4ee7af「

你應該讓你的targetPage接受targetPage?_escaped_fragment_ = ....並創建一個301重定向到它自己爲」targetPage?command = play & id = 4ee7af「(或者任何其他漂亮的url,只要它是到同一頁)

如果您使用J2EE,您可以將c創建一個servlet過濾器來攔截並重定向到同一頁面的清潔器url。