使用Robots.txt引導百度爬蟲合理分配抓取資源

我所在的網站算是一個大型網站,百度收錄3000萬,每天百度爬蟲抓取總次數在500w次左右,單頁的百度收錄率 80%,看起來已經是一個相當不錯的數據,但分析一下詳細的日誌文件,還是可以發現一些問題,

  1.大型網站的列表頁爲了方便用戶查找所需信息,通常會設置多重的篩選條件(Facet Navigation),但爬蟲並沒有智能到可以自主判斷哪些條件可以組合,哪些條件組合起來沒有意義,只要在代碼裏面有鏈接就會去抓取,導致百度爬蟲耗費了大量資源在列表篩選頁上。分析了一個月的數據,發現百度的抓取量有30%消耗在列表頁,但是列表頁帶來的百度自然流量僅佔所有百度自然流量的2%,所以對網站的列表頁來說,爬蟲的投入產出非常低。

  2.重複抓取現象嚴重。 我個人覺得,對網站來說,只被爬蟲抓取過1次的頁面(Distinct Crawl)最有價值,因爲對一張本身內容質量還可以的頁面來說,只要被抓取過一次,收錄的機率就超過80%。如果頁面本身質量不行,即使被抓取過幾十次,也依然不會被收錄。 繼續分析我們網站的數據,發現在百度爬蟲一天500w的抓取中,有超過一半的抓取是對相同頁面的多次抓取,如果能把這些重複的抓取轉移到那些一次都沒被抓過的頁面上,對網站的價值無疑更大。

  如何解決這兩個問題?

  先說第一個,針對篩選頁消耗爬蟲資源問題,很多人都建議使用nofollow標籤告訴爬蟲,不要繼續給這些頁面分配權重,我們也這麼做過。但事實證明百度爬蟲對nofollow並不敏感,使用之後爬蟲依舊瘋狂抓取,同時也沒有把權重從篩選頁面上轉移到規範頁面上。

  無奈之下,我們只好考慮起用SEO的大殺器:Robots文件,把所有的篩選頁面全部disallow掉,之前沒有使用robots禁止抓取的原因是擔心萬一爬蟲被禁止抓取列表後,會不會其他的頁面也不抓了?畢竟列表篩選頁還是會給單頁貢獻大量入口,但基於我們網站單頁收錄還不錯的現狀,還是決定嘗試一下。

  事實證明,效果非常明顯,新版的robots上線三天後,列表頁的爬蟲抓取量下降到15%;同時之前擔心的問題也沒有發生,爬蟲的抓取總量不但沒有下降,反而增長了10%左右,單頁的抓取量也上升了20%,可以算是達到了我們的預期目標:把列表頁浪費的爬蟲資源轉移到其他需要被抓取的頁面上。

  但是如何證明抓取資源是被轉移到需要被抓取的頁面上呢,這正好也是之前提到的第二個問題,我們看了唯一抓取率( 只抓一次的頁面數/總抓取數)的變化,從50%增長到74%,可以說明爬蟲在閱讀robots文件後,對爬蟲資源做了更合理的分配,更多的單頁被抓取。

  總結:Robots文件相比其他手段,可以在較短時間內優化百度爬蟲的抓取資源分配,但這得建立在網站本身結構良好,內容過關的基礎之上,同時最重要的還是得反覆測試,通過日誌分析實際情況來調整以取得最佳效果 轉自百度站長社區

發佈了0 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章