2012-07-24 36 views
3

我們的代理機構建立了一個動態網站,使用大量的AJAX互動和#! (hashbang)網址:http://www.gunlawsbystate.com/Hashbang網址讓Google很難抓取網站?

這是一本很長的書,您可以滾動瀏覽並且地址欄中的網址動態變化。我們必須支持IE,所以請不要建議使用pushState - hansbang是我們現在唯一的選擇。

左側欄中有導航,其中包含本書中所有章節的鏈接。

鏈接的例子: http://www.gunlawsbystate.com/#!/federal-properety/national-parks-and-wildlife-refuges/

我們預計Google抓取這樣的: 的http:// www.gunlawsbystate.com/?_escaped_fragment_=/federal-properety/national-parks-and-wildlife -refuges/ 這是該部分的完整html快照。 (+有小節的鏈接,如www.gunlawsbystate.com/#!/federal-properety/national-parks-and-wildlife-refuges/ii-change-in-the-law/ => www.gunlawsbystate.com/ ?_escaped_fragment _ =/federal-properety/national-parks-and-wildlife-refuges/ii-change-in-the-law-/)。

根據Google的規範(developers.google.com/webmasters/ajax-crawling/docs/specification),這一切看起來都是完整的。 該網站目前運行約3個月。主頁每10-15天重新編制索引。

問題是,由於某些原因,Google無法正確抓取hashbang網址。 Google似乎只是「不喜歡」這些網址。

www.google.ru/search? & q =網站%3Agunlawsbystate.com: 只有67頁被編入索引。請注意,谷歌索引的大部分網頁都有「普通」網址(主要是wordpress博客文章,類別和標籤),結果頁面只有5-10%是hashbang網址,儘管Google應該有400多個獨立內容的書籍部分真的很喜歡它是否正確地抓取它。

有人可以給我一個建議,爲什麼Google不能正確抓取我們的書頁?任何幫助將不勝感激。

P.S.我很抱歉無法點擊的鏈接 - stackoverflow不允許我發佈超過2個。

UPD。前段時間,該網站地圖已提交給Google。 Google網站管理員工具說,已提交518個網址,並且只有62個網址已建立索引。此外,在網站站長工具的「索引狀態」頁面上,我看到有1196個頁面已經抓取; 1071頁是未選中。它清楚地指出,由於某種原因谷歌不索引#!它經常訪問的頁面。

+0

您是否找到答案?我有一個類似的問題,這裏描述:http://webmasters.stackexchange.com/questions/35355/google-crawling-the-site-but-refusing-to-index-dynamic-content – Meisner 2012-10-06 08:21:48

+0

@Omeoe我已經完成一些搜索引擎優化增強功能,優化的網頁內容,將其放在代碼的邊欄之上,並且還刪除了WordPress已放入頁面的rel =「canonical」鏈接。另外,這是我發佈的這個AJAX網站的另一個問題:http://webmasters.stackexchange.com/questions/34810/title-of-the-page-in-search-results-and-title-of- googles-cached-version-are-dif/34839#34839。我相信你的問題是非常不同的。 – Azmorf 2012-10-06 12:26:19

+0

供將來參考:[此頁面描述的語法不再需要,2018年夏後將不再支持](https://developers.google.com/webmasters/ajax-crawling/docs/getting-started )。 – Arjan 2018-01-17 07:41:49

回答

0

您錯過了幾件事。 首先,您需要一個元標記來告訴Google可以通過其他網址訪問Hash URL。

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

接下來,您需要將每個網址的映射版本提供給Googlebot。

當谷歌訪問:

http://www.gunlawsbystate.com/#!/federal-regulation/airports-and-aircraft/ii-boarding-aircraft/

這反而抓取:

http://www.gunlawsbystate.com/?_escaped_fragment_=federal-regulation/airports-and-aircraft/i-introduction/

對於您的工作要麼需要使用像PHP或ASP服務了正確的頁。如果你能得到正確的管道,Asp.net路由也可以工作。有些服務實際上會爲您創建這些「快照」版本,然後您的元標記將指向它們的服務器。

+0

供將來參考:由於此答案已發佈,因此Google不贊成此; https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html – Arjan 2018-01-17 07:31:32

0

由於它已被Google棄用,現在Google無法訪問hashbang網址下的內容。

基於研究Google現在避免了轉義的片段URL,並建議創建單獨的頁面而不是使用HashBang。

所以我認爲PushState是可以在這種情況下使用的另一種選擇。