Robots
robots:是一種協議,也叫robots.txt(統一小寫)是一種存放於網站根目錄下的ASCII編碼的文本文件,它通常告訴網絡搜索引擎的漫遊器(又稱網絡蜘蛛),此網站中的哪些內容是不應被搜索引擎的漫遊器獲取的,哪些是可以被漫遊器獲取的。因為一些系統中的URL是大小寫敏感的,所以robots.txt的文件名應統一為小寫。[1]
robots.txt應放置於網站的根目錄下。如果想單獨定義搜索引擎的漫遊器訪問子目錄時的行為,那麼可以將自定的設置合併到根目錄下的robots.txt,或者使用robots元數據(Metadata,又稱元數據)。
robots協議並不是一個規範,而只是約定俗成的,所以並不能保證網站的隱私。
目錄
robots簡介
搜索引擎通過一種程序robot(又稱spider),自動訪問互聯網上的網頁並獲取網頁信息。
您可以在您的網站中創建一個純文本文件robots.txt,在這個文件中聲明該網站中不想被robot訪問的部分,這樣,該網站的部分或全部內容就可以不被搜索引擎收錄了,或者指定搜索引擎只收錄指定的內容。
robots.txt(統一小寫)是一種存放於網站根目錄下的ASCII編碼的文本文件,它通常告訴網絡搜索引擎的漫遊器(又稱網絡蜘蛛),此網站中的哪些內容是不能被搜索引擎的漫遊器獲取的,哪些是可以被(漫遊器)獲取的。 因為一些系統中的URL是大小寫敏感的,所以robots.txt的文件名應統一為小寫。robots.txt應放置於網站的根目錄下。如果想單獨定義搜索引擎的漫遊器訪問子目錄時的行為,那麼可以將自定的設置合併到根目錄下的robots.txt,或者使用robots元數據。
Robots.txt協議並不是一個規範,而只是約定俗成的,所以並不能保證網站的隱私。
注意Robots.txt是用字符串比較來確定是否獲取URL,所以目錄末尾有和沒有斜槓「/」這兩種表示是不同的URL,也不能用"Disallow: *.gif"這樣的通配符。
其他的影響搜索引擎的行為的方法包括使用robots元數據:
<meta name="robots" content="noindex,nofollow" />
這個協議也不是一個規範,而只是約定俗成的,通常搜索引擎會識別這個元數據,不索引這個頁面,以及這個頁面的鏈出頁面。
robots.txt文件放在哪裡?
robots.txt文件應該放在網站根目錄下。舉例來說,當robots訪問一個網站時,首先會檢查該網站中是否存在這個文件,如果機器人找到這個文件,它就會根據這個文件的內容,來確定它訪問權限的範圍。
使用誤區
誤區一:我的網站上的所有文件都需要蜘蛛抓取,那我就沒必要在添加robots.txt文件了。反正如果該文件不存在,所有的搜索蜘蛛將默認能夠訪問網站上所有沒有被口令保護的頁面。
每當用戶試圖訪問某個不存在的URL時,服務器都會在日誌中記錄404錯誤(無法找到文件)。每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日誌中記錄一條404錯誤,所以你應該做網站中添加一個robots.txt。
誤區二:在robots.txt文件中設置所有的文件都可以被搜索蜘蛛抓取,這樣可以增加網站的收錄率。
網站中的程序腳本、樣式表等文件即使被蜘蛛收錄,也不會增加網站的收錄率,還只會浪費服務器資源。因此必須在robots.txt文件里設置不要讓搜索蜘蛛索引這些文件。
具體哪些文件需要排除, 在robots.txt使用技巧一文中有詳細介紹。
誤區三:搜索蜘蛛抓取網頁太浪費服務器資源,在robots.txt文件設置所有的搜索蜘蛛都不能抓取全部的網頁。
如果這樣的話,會導致整個網站不能被搜索引擎收錄。
使用技巧
1. 每當用戶試圖訪問某個不存在的URL時,服務器都會在日誌中記錄404錯誤(無法找到文件)。每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日誌中記錄一條404錯誤,所以你應該在網站中添加一個robots.txt。[2]
2. 網站管理員必須使蜘蛛程序遠離某些服務器上的目錄——保證服務器性能。比如:大多數網站服務器都有程序儲存在「cgi-bin」目錄下,因此在robots.txt文件中加入「Disallow: /cgi-bin」是個好主意,這樣能夠避免將所有程序文件被蜘蛛索引,可以節省服務器資源。一般網站中不需要蜘蛛抓取的文件有:後台管理文件、程序腳本、附件、數據庫文件、編碼文件、樣式表文件、模板文件、導航圖片和背景圖片等等。
3. 如果你的網站是動態網頁,並且你為這些動態網頁創建了靜態副本,以供搜索蜘蛛更容易抓取。那麼你需要在robots.txt文件里設置避免動態網頁被蜘蛛索引,以保證這些網頁不會被視為含重複內容。
4. robots.txt文件里還可以直接包括在sitemap文件的鏈接。就像這樣:
Sitemap: http://www.***.com/sitemap.xml
目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,顯然不在這個圈子內。這樣做的好處就是,站長不用到每個搜索引擎的站長工具或者相似的站長部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就會抓取robots.txt文件,讀取其中的sitemap路徑,接着抓取其中相鏈接的網頁。
5. 合理使用robots.txt文件還能避免訪問時出錯。比如,不能讓搜索者直接進入購物車頁面。因為沒有理由使購物車被收錄,所以你可以在robots.txt文件里設置來阻止搜索者直接進入購物車頁面。
robots.txt語法實例
用幾個最常見的情況,直接舉例說明:
1. 允許所有SE收錄本站:robots.txt為空就可以,什麼都不要寫。
2. 禁止所有SE收錄網站的某些目錄:
User-agent: *
Disallow: /目錄名1/
Disallow: /目錄名2/
Disallow: /目錄名3/
3. 禁止某個SE收錄本站,例如禁止百度:
User-agent: Baiduspider
Disallow: /
4. 禁止所有SE收錄本站:
User-agent: *
Disallow: /
視頻
什麼是robots協議?
2016網站優化seo0基礎入門教程—robots協議(下)
參考資料
- ↑ robots文件生成,站長工具
- ↑ robots.txt 生成器,便民查詢網