robots.txt的誕生
robots.txt的創造發明者叫馬丁·科斯特(Martijn Koster)。 1994年時,他在英國的一家叫Nexor的網絡安全公司任職。當時互聯網的條件和現在天差地別,搜索引擎的爬蟲(Robots或Spider)隨便抓幾下可能就讓你的網站癱瘓了,更不用說流量上也是額外的負擔。為了解決問題,在他提出了一個以robots.txt實現的標準規範。在他提出這個規範(the Standard for Robot Exclusion)後,當時的大型搜索引擎包括WebCrawler,Lycos和AltaVista很快就接受了。時至今日,大部分搜索引擎都遵守這個規定(Robots Exclusion Protocol)。
現在看來這段故事是非常可笑的,因為當時的網站們所考慮的是網站的帶寬而不是是否被搜索引擎索引。在robots.txt問世之後網站就可以明確地告訴搜索引擎哪些內容允許漫遊抓取,而哪些內容請勿觸碰。這無異於給赤裸的網站穿上了一件衣服,僅僅裸露出該網站覺得值得裸露的部位。
robots.txt的誕生具有著重要意義,就是網站的隱私得到了較大限度的保護。這是對“偷窺狂”搜索引擎的勝利。
robots.txt的使用
robots.txt的使用過程中需要把握以下技巧:
- 每個域名都必須具有一個robots.txt文件,放置於網站根目錄。
- 文件名必須為小寫。
- 提前應用robots.txt,搜索引擎並非每次都檢查robots.txt。比如穀歌大約一周檢查一次。所以在下次檢查之前,你的頁面還是會被索引。
- robots.txt所包含的URL為大小寫敏感。分清大小寫才能有效排除索引。
- robots.txt不是死鏈提交工具,想要刪除死鏈索引還是應該登陸各搜索引擎站長平台提交。
- robots.txt只做減法,有沒有這個文件的區別即是去不去做這個排除。刪除robots.txt意味著完全開放爬蟲漫遊。
- robots.txt只防君子不防小人。歷史上發生過多次違反robots.txt的事件。網站要把機密訊息放到登陸後。
- 要想嚴格不讓搜索引擎索引還是推薦用noindex標籤。
在robots.txt之外,你也可以使用HTML標籤來防止頁面被索引。
但這樣做也有它的缺點。首先是他僅對HTML有效,對圖片不起作用。其次是雖然拒絕了索引,該頁面還是會被爬蟲遍歷到。
關於robots.txt的更詳細的用法請參考Wikipedia和RobotsTxt。
大家的勝利?
既然網站可以要求搜索引擎停止收錄指定內容,那麼作為普通地球人是否可以要求搜索引擎停止收錄和自己相關的訊息呢?
2014年5月13日,歐盟法院裁決了所謂“被遺忘權”(Right to Be Forgotten)。當個人資料的公開損害到個人利益和這種公開不符公共利益這兩個條件具備的時候,民眾有權行使“被遺忘權”,這對Google等搜尋引擎公司產生了巨大影響。 5月29日,Google製作了一個網絡表單(Webform)以接受歐洲民眾的請求,Google另組成了一個獨立委員會,以建議與確保Google在歐洲履行新的隱私保護責任,當中成員包括了維基百科創辦人之一的吉米·威爾士。
在robots.txt二十週年之際我們似乎看到了希望。
那些逗比的robots.txt
本博文部分參考了Brain Ussery的博文ROBOTS.TXT DISALLOW: 20 Years of Mistakes To Avoid,非常值得閱讀。在文章中他列舉了三個逗比的網站中的robots.txt註釋。
Nike Store的Just Crawl It:
Etsy的瘋狂Sitemap:
Yelp的對蛛彈琴:
最後加上Google的逗比robots.txt:
T-1000和T-800是終結者的兩個型號,谷歌還是要保護他們的兩個創始人Larry Page和Sergey Brin。