Robots.txt 協議詳解及使用說明


一、Robots.txt協議
Robots協議,也稱為爬蟲協議、機器人協議等,其全稱為“網絡爬蟲排除標准(Robots Exclusion Protocol)”。網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。也既是Robots的用法有兩種,一種是告訴搜索引擎哪些頁面你不能抓(默認其他的就可以抓);一種是告訴搜索引擎你只能抓取哪些頁面(默認其他的不可以抓)。
 
當一個搜索機器人(蜘蛛)訪問一個站點時,它會首先檢查網站根目錄下是否存在robots.txt,如果存在,就會按照文件中的內容確定訪問范圍,如果不存在,則沿着鏈接抓取。
 
協議的歷史
 
Robots Exclusion Protocol協議是由 Martijn Koster 在1994年2月,於Nexor工作期間在 www-talk 郵件列表中提出的。該協議提出后,Koster的服務器甚至遭到了反對者的拒絕服務攻擊。而該協議迅速成為事實上的標准,為大多數的人所接受。
 
文件的寫法:
 
User-agent:*
*是一個通配符,表示所有的搜索引擎種類
Disallow:/admin/
這表示禁止搜索引擎爬尋admin目錄下的內容
Disallow:*?*
這表示禁止搜索引擎爬尋包含?的網頁
Sitemap:sitemap.xml
這里通過Sitemap指定固定的網站地圖頁面。目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,顯然不在這個圈子內。這樣做的好處就是,站長不用到每個搜索引擎的站長工具或者相似的站長部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就會抓取robots.txt文件,讀取其中的sitemap路徑,接着抓取其中相鏈接的網頁。
 
京東的Robots.txt。(時間:2015-11-25)
 
二、Robots.txt以外的內容
 
除了Robots.txt以外,還可以使用Robots Meta來向搜索引擎傳遞信息,先看示例如下:
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
content部分有四個選項:index、noindex、follow、nofollow,指令間用“,”分隔。
 
共有四種組合:
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">
<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
 
其中:
<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">可以寫成<META NAME="ROBOTS" CONTENT="ALL">;
<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">可以寫成<META NAME="ROBOTS" CONTENT="NONE">
 
目前看來,絕大多數的搜索引擎機器人都遵守robots.txt的規則,而對於Robots META標簽,目前支持的並不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE還增加了一個指令“archive”,可以限制GOOGLE是否保留網頁快照。例如:
<META NAME="googlebot" CONTENT="index,follow,noarchive">
表示抓取該站點中頁面並沿着頁面中鏈接抓取,但是不在GOOLGE上保留該頁面的網頁快照。
 
三、Robots.txt使用上應注意的一些問題
 
1、每當用戶試圖訪問某個不存在的URL時,服務器都會在日志中記錄404錯誤(無法找到文件)。每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日志中記錄一條404錯誤,所以你應該在網站中添加一個robots.txt。
 
2、如果后台和前台在一個域名下,不希望爬蟲抓取后台程序的,可以在Robots.txt明確不讓爬蟲抓取的目錄。但這會不會被某些惡意分子一下子就能夠知道后台目錄呢?
 
3、國內常見搜索機器人的名字
 
參考資料:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM