網編解讀:搜索引擎索引收錄網頁原理_網絡編輯教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

             對SEO(搜索引擎優化)而言,讓網站內的頁面能夠及時、全面地被搜索引擎索引、收錄應該說是首要的任務,這是實施其他SEO策略的最基本保證。——不過,這也是往往易被高估的一個環節,比如說我們時常可以看到某些人宣稱自己的網站被Google收錄了多少頁面如幾K甚至幾十K等以證明SEO工作的成功。但客觀地說,網頁僅僅被搜索引擎索引、收錄是沒有太大的實際意義,往往只能淪為浩如煙海的Internet世界中的殉葬品,更重要的是如何讓網頁出現在針對特定搜索項的SERP(搜索結果頁面)前幾頁。——許多人相信,讓網站內盡可能多的頁面被收錄進搜索引擎索引數據庫終歸不是一件壞事,網頁越多,暴光的機會也便越大,雖然最終效果如何存在疑問。

        Anyway,如果在對網站實施SEO時將重點放在網頁被索引、收錄的速度與效率,當然也無可厚非,而要想實現這一點,需要我們對搜索引擎如何收錄、索引網頁的機制有所了解。下面我們以Google為例,介紹搜索引擎收錄、索引網頁的過程,希望能對朋友們有后助益。——對其他搜索引擎如Yahoo!、Live搜索及百度而言,盡管可能在具體細節上存在差別,不過,基本策略應該是類似的。

        1、收集待索引網頁的url

        Internet上存在的網頁數量絕對是個天文數字,每天新增的網頁也不計其數,搜索引擎需要首先找到要索引收錄的對象。

        具體到Google而言,雖然對GoogleBot是否存在DeepBot與FreshBot的區別存在爭議——至于是否叫這么兩個名字更是眾說紛耘,當然,名字本身并不重要——至少到目前為止,主流的看法是,在Google的robots中,的確存在著相當部分專門為真正的索引收錄頁頁準備“素材”的robots——在這里我們姑且仍稱之為FreshBot吧——它們的任務便是每天不停地掃描Internet,以發現并維護一個龐大的url列表供DeepBot使用,換言之,當其訪問、讀取其一個網頁時,目的并不在于索引這個網頁,而是找出這個網頁中的所有鏈接。——當然,這樣似乎在效率上存在矛盾,有點不太可信。不過,我們可以簡單地通過以下方式判斷:FreshBot在掃描網頁時不具備“排它性”,也即是說,位于Google不同的數據中心的多個robots可能在某個很短的時間周期,比如說一天甚至一小時,訪問同一個頁面,而DeepBot在索引、緩存頁面時則不會出現類似的情況,即Google會限制由某個數據中心的robots來完成這項工作的,而不會出現兩個數據中心同時索引網頁同一個版本的情況,如果這種說法沒有破綻的話,則似乎可以從服務器訪問日志中時常可以看到源自不同IP的GoogleBot在很短的時間內多次訪問同一個網頁證明FreshBot的存在。因此,有時候發現GoogleBot頻繁訪問網站也不要高興得太早,也許其根本不是在索引網頁而只是在掃描url。

        FreshBot記錄的信息包括網頁的url、Time Stamp(網頁創建或更新的時間戳),以及網頁的Head信息(注:這一點存在爭議,也有不少人相信FreshBot不會去讀取目標網頁信息的,而是將這部分工作交由DeepBot完成。不過,筆者傾向于前一種說法,因為在FreshBot向DeepBot提交的url列表中,會將網站設置禁止索引、收錄的頁面排除在外,以提高效率,而網站進行此類設置時除使用robots.txt外還有相當部分是通過mata標簽中的“noindex”實現的,不讀取目標網頁的head似乎是無法實現這一點的),如果網頁不可訪問,比如說網絡中斷或服務器故障,FreshBot則會記下該url并擇機重試,但在該url可訪問之前,不會將其加入向DeepBot提交的url列表。

        總的來說,FreshBot對服務器帶寬、資源的占用還是比較小的。最后,FreshBot對記錄信息按不同的優先級進行分類,向DeepBot提交,根據優先級不同,主要有以下幾種:

        A:新建網頁;B:舊網頁/新的Time Stamp,即存在更新的網頁;C:使用301/302重定向的網頁;D:復雜的動態url,如使用多個參數的動態url,Google可能需要附加的工作才能正確分析其內容。——隨著Google對動態網頁支持能力的提高,這一分類可能已經取消;E:其他類型的文件,如指向PDF、DOC文件的鏈接,對這些文件的索引,也可能需要附加的工作;F:舊網頁/舊的Time Stamp,即未更新的網頁,注意,這里的時間戳不是以Google搜索結果中顯示的日期為準,而是與Google索引數據庫中的日期比對;G:錯誤的url,即訪問時返回404回應的頁面;

        優先級按由A至G的順序排列,依次降低。需要強調的是,這里所言之優先級是相對的,比如說同樣是新建網頁,根據指向其的鏈接質量、數量的不同,優先級也有著很大的區別,具有源自相關的權威網站鏈接的網頁具有較高的優先級。此外,這里所指的優先級僅針對同一網站內部的頁面,事實上,不同網站也有有著不同的優先級,換言之,對權威網站中的網頁而言,即使其最低優先級的404 url,也可能比許多其他網站優先級最高的新建網頁更具優勢。

        2、網頁的索引與收錄

        接下來才進入真正的索引與收錄網頁過程。從上面的介紹可以看出,FreshBot提交的url列表是相當龐大的,根據語言、網站位置等不同,對特定網站的索引工作將分配至不同的數據中心完成。整個索引過程,由于龐大的數據量,可能需要幾周甚至更長時間才能完成。

        正如上文所言,DeepBot會首先索引優先級較高的網站/網頁,優先級越高,出現在Google索引數據庫及至最終出現在Google搜索結果頁面中的速度便越快。對新建網頁而言,只要進入到這個階段,即使整個索引過程沒有完成,相應的網頁便已具備出現在Google索引庫中的可能,相信許多朋友在Google中使用“site:somedomain.com”搜索時常常看到標注為補充結果只顯示網頁url或只顯示網頁標題與url但沒有描述的頁面,此即是處于這一階段網頁的正常結果。當Google真正讀取、分析、緩存了這個頁面后,其便會從補充結果中逃出而顯示正常的信息。——當然,前提是該網頁具有足夠的鏈接,特別是來自權威網站的鏈接,并且,索引庫中沒有與該網頁內容相同或近似的記錄(Duplicate Content過濾)。

        對動態url而言,雖然如今Google宣稱在對其處理方面已不存在障礙,不過,可以觀察到的事實仍然顯示動態url出現在補充結果中的幾率遠大于使用靜態url的網頁,往往需要更多、更有價值的鏈接才能從補充結果中逸出。

        而對于上文中之“F”類,即未更新的網頁,DeepBot會將其時間戳與Google索引數據庫中的日期比對,確認盡管可能搜索結果中相應頁面信息未來得及更新但只要索引了最新版本即可——考慮網頁多次更新、修改的情況——;至于“G”類即404 url,則會查找索引庫中是否存在相應的記錄,如果有,將其刪除。

        3、數據中心間的同步

        前文我們提到過,DeepBot索引某個網頁時會由特定的數據中心完成,而不會出現多個數據中心同時讀取該網頁,分別獲得網頁最近版本的情況,這樣,在索引過程完成后,便需要一個數據同步過程,將網頁的最新版本在多個數據中心得到更新。

        這就是之前著名的Google Dance。不過,在BigDaddy更新后,數據中心間的同步不再象那樣集中在特定的時間段,而是以一種連續的、時效性更強的方式進行。盡管不同數據中心間仍存在一定的差異,但差異已經不大,而且,維持的時間也很短。

        提高搜索引擎索引收錄網頁的效率,根據上面的介紹,可以看出,要想讓您的網頁盡可能快、盡可能多地被搜索引擎收錄,至少應從如下幾方面進行優化:

        提高網站反相鏈接的數量與質量,源自權威網站的鏈接可以讓您的網站/網頁在第一時間內被搜索引擎“看到”。當然,這也是老生常談了。從上面的介紹可以看出,要提高網頁被搜索引擎收錄的效率,首先要讓搜索引擎找到您的網頁,鏈接是搜索引擎找到網頁的唯一途徑——“唯一”一詞存在些許爭議,見下面的SiteMaps部分——從這個角度看,向搜索引擎提交網站之類的作法沒有必要且沒有意義,相對而言,要想讓您的網站被收錄,獲得外部網站的鏈接才是根本,同時,高質量的鏈接也是讓網頁步出補充結果的關鍵因素。

        網頁設計要秉持“搜索引擎友好”的原則,從搜索引擎spider的視角設計與優化網頁,確保網站的內部鏈接對搜索引擎“可見”,相對于獲得外部網站鏈接的難度,合理規劃的內部鏈接是提高搜索引擎索引與收錄效率更經濟、有效的途徑——除非網站根本未被搜索引擎收錄。

        如果您的網站使用動態url,或者導航菜單使用JavaScript,那么,當在網頁收錄方面遇到障礙時,應首先從這里著手。

        使用SiteMaps。事實上,許多人認為Google取消了FreshBot的一個主要原因便是SiteMaps(xml)協議的廣泛應用,認為這樣只需讀取網站提供的SiteMaps便可得到網頁更新信息,而不需FreshBot耗時費力地掃描。這種說法還是有一定道理的,雖然目前不能確定Google究竟直接使用SiteMaps作為DeepBot的索引列表還是用做FreshBot的掃描路標,但SiteMaps能夠提高網站索引收錄的效率則是不爭的事實。比如說,SEO探索曾做過如下的測試:

        兩個網頁,獲得的鏈接情況相同,一個加入SiteMaps而另一未加入,出現在SiteMaps中的網頁很快被收錄,而另一個頁面則在過了很長時間后才被收錄;

        某個孤島頁面,沒有任何指向其的鏈接,但將其加入SiteMaps一段時間后,同樣被Google索引,只不過,出現在補充結果中。

        當然,從盡管網頁未出現在SiteMaps中但仍能被Google索引也可以看出,Google仍然使用FreshBot或類似FreshBot的機制,當然這也容易理解,畢竟仍然有那么多未使用SiteMaps的網站,Google不可能將其拒之門外。

        有關SiteMaps的詳細介紹,請參考Google SiteMaps:Google的“后門”。需要指出的是,如今Sitemaps協議已成為行業標準,不獨對Google有效,其他主流搜索引擎包括Yahoo!、Live搜索及Ask均已提供支持。

      來源:模板無憂//所屬分類:網絡編輯教程/更新時間:2012-06-06
      相關網絡編輯教程