網站下線維護時,該發哪個http header頭資訊狀態代碼給搜尋引擎?Posted on November 27, 2009 by zhounaiming
向搜尋引擎返回正確的http header頭資訊狀態代碼, 是SEO最基本的。當頁面不存在時,返回404;當將一個url地址永久重新導向到另一url地址時,返回301;那當網站下線維護期間,應該向搜尋引擎返回哪個header狀態代碼呢?
我讀到兩篇文章講得非常清楚,應該返回503 service temporarily unavailable。一篇是http://www.askapache.com/htaccess/503-service-temporarily-unavailable.html。這篇文章講到:如果搜尋引擎剛好在網站維護時造訪,錯誤地返回404或者500,那麼已被索引的頁面的pagerank極有可能丟失。在返回503狀態代碼給爬蟲時,還應該發Retry-After頭資訊給爬蟲,告訴爬蟲多久後再來造訪。比如Retry-After: 3600,是告訴搜尋引擎請在3600秒後再來訪問。 另一篇文章地址找不到了,那篇文章還引用了google webmaster center裡的一段文字來證明應該返回503。
我的執行個體
不久前,我做的一個小站下線了一段時間,期間都是返回503給搜尋引擎。今天重新上線,我登陸Google網站管理員中心,在crawl errors欄目裡看到好些robots.txt unreachable的錯誤資訊。查看了google webmaster center關於URL unreachable errors的說明,才知道google抓取頁面時,會先檢測網站根目錄下是否存在robots.txt,如果存在則google不會索引robots.txt裡禁止索引的頁面。如果不存在(返回了404)則google認為所有頁面都是允許索引的。我的實際情況是,維護期間我的網站根目錄下實際不存在robots.txt,而且我的設定是所有地址都返回503。這樣googel檢測是否存在robots.txt時得到的是503狀態代碼,就是google所謂的robots.txt file unreachable(因為既不是404,也不是200)。當robots.txt file unreachable時,google停止索引網站,過段時間當google檢測到存在robots.txt或檢測到不存在robots.txt時(404),再繼續索引網站。
結論
網站維護時,發503給搜尋引擎,同時,當google檢測是否存在robots.txt時也發503給她。