動態網頁對SEO的影響
動態網頁是響應用戶使用行為時自動生成的網頁,在用戶發出請求之前,動態網頁是不存在的。動態網頁給網絡爬蟲帶來了麻煩。
舉例來說,眾所周知的搜索引擎的檢索結果頁面就是動態網頁。搜索引擎收到用戶提交的查詢請求后,會搜索它的數據庫,查找相關的地址,并生成一個結果頁面。這個頁面會整合查詢結果及其他信息,如搜索引擎標識和廣告。它生成的網頁是一個真實的網頁,有惟一的URL(對大多數搜索引擎來說),但是,如果爬蟲訪問搜索引擎站點,它不會發現該網頁,因為該網頁是響應查詢請求生成的,響應結束后,立即被清除。
從該例可以看出,在網絡上有很多有用信息。但不是以靜態網頁形式呈現的。這些網頁必須向數據庫發出一個請求才能訪問,包括一些圖書館目錄、商業產品數據庫以及數字圖書館。這些通常只是被稱作“不可見的網絡”或者“深度網絡”的一部分,前一個概念已經由Sherman和Price普及(2001)。爬蟲數據的使用者必須接受這一不可避免的局限性,即網絡爬蟲無法找到大量不同類型的動態網頁。
有趣的是,一些運營網絡數據庫的信息提供商也擁有大量靜態網頁,甚至是數據庫的關鍵部分,因此,搜索引擎能完全地索引這些頁面。
對鏈接分析而言,未將爬蟲數據建庫已不是問題,但有一個相關問題值得注意,即有些網站以動態網頁為核心,而不是以數據庫為核心。有一些網絡技術可用于自動生成動態網頁,包括PHP技術(PHP:Hypertext Pre-processor-arecursive acronym)和ASP(Active Server Pages)技術。
動態網頁曾經是爬蟲的一大難題。設計爬蟲時,通常都回避動態網頁(如Charkabarti,Joshi,Punera,&Pennock,2002)。識別動態網頁時,只需要看URL中是否出現問號,含問號的就是動態網頁。忽略動態網頁是因為它們容易造成蜘蛛陷阱。蜘蛛陷阱理論上是一個無限的網頁集合,而蜘蛛永遠不能完整地遍歷這個集合。在線日歷就是一個容易被忽略的蜘蛛陷阱,它生成的動態網頁中可以標上任何日期,并包含指向后一天網頁的鏈接。一個爬蟲從這個日歷中找到一個網頁后,便會無止境地請求后一天的網頁。
商業搜索引擎的爬蟲通常回避這些帶問號的URL,因為這些URL可能會導致蜘蛛陷阱。Google已經放寬了對這些站點的限制。Google爬蟲似乎有另一種避免蜘蛛陷阱的方法。舉例來說,它可能沿著指向帶問號URL的鏈接爬行,但不會爬取帶問號的URL,這樣便可以跳出蜘蛛陷阱的遞歸循環。
鏈接分析研究者應當注意,研究型的網絡爬蟲不能遍歷含動態網頁的站點,或者只能遍歷深度較淺的站點。商業搜索引擎的爬蟲也是如此。在使用爬蟲的時候,應當公開所使用的參數,以便其他研究者能判斷這些參數對結果的影響。遍歷參數集合列舉如下:
·拒絕訪問帶有如下子串的URL:?,cgi-bin,&
·拒絕訪問超過最大斜線數的URL
·拒絕訪問超過最大字符數的URL
影響搜索引擎收錄就會間接影響到SEO項目,盡管現在各大搜索引擎算法對動態網頁的索引都有了很大的改善。但是與其等搜索引擎來改變這個事情,為什么不自己就做的很好?站點靜態化仍舊是SEO中非常必要的一個事情。