常見名字
google蜘蛛: googlebot
百度蜘蛛:baiduspider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛: lycos_spider_(t-rex)
alltheweb蜘蛛: fast-webcrawler/
inktomi蜘蛛: slurp
基本語法
當一個搜尋蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜尋機器人就會按照該檔案中的內容來確定訪問的範圍;如果該檔案不存在,所有的搜尋蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。
robots.txt必須放置在一個站點的根目錄下,而且檔案名稱必須全部小寫。
User-agent:描述搜尋引擎robot的名字
即 : 你可以指定該規則只對baidu 或者google 或者其它指定搜尋引擎有效 可用通配符 *表示全部
Disallow: 描述不希望被訪問的一組URL
設定禁止訪問的部分,可以用完整url , 也可以用相對路徑,可以是單個目檔案,也可以是整個資料夾,也可以用通配符限定指定類型
Allow: 描述希望被訪問的一組URL
設定允許訪問的部分,不過因為默認是全部允許的,這個語法通常是配合disallow使用的,用它來完成 如“除了xxx.html該目錄下全部不能訪問”這樣的設定。 要注意的是allow和disallow的順序是有講究的,搜尋引擎會以它先看到的規則為判斷標準。
關於通配符:"$" 匹配行結束符;"*"匹配0或多個任意字元。
套用案例
我們在進行網站最佳化的時候,很多時候需要把一些無用連線,及二級目錄,還有一些重要的檔案,如後台管理,這些我們都是不希望蜘蛛抓取到的,我們可以使用robots進行禁止,以防權重丟失或一些重要的檔案被別人看到!
例1. 禁止所有搜尋引擎訪問網站的任何部分
User-agent: *
Disallow: /
例2. 允許所有的搜尋引擎訪問
User-agent: *
Allow: /
或者
可以建一個空檔案 “robots.txt“裡面什麼都不要寫
例3. 僅禁止百度抓取網站所有檔案
User-agent: Baiduspider
Disallow: /
例4. 僅允許百度訪問網站
User-agent: Baiduspider
Allow: /
User-agent: *
Disallow: /
例5. 禁止搜尋引擎抓取特定目錄
在這個例子中,該網站有三個目錄對搜尋引擎的訪問做了限制,即搜尋引擎不會訪問這三個目錄。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /joe/
例6. 只允許搜尋引擎抓取cgi-bin目錄下的see目錄中的部分url
User-agent: *
Allow: /cgi-bin/see
Disallow: /cgi-bin/
例7. 禁止抓取/cgi-bin/目錄下的所有以”.htm”為後綴的URL(包含子目錄)
User-agent: *
Disallow: /cgi-bin/*.htm
例8. 僅允許抓取以”.gif”為後綴的URL
User-agent: *
Allow: .gif$
Disallow: /
例9. 禁止抓取網站中所有的動態頁面
User-agent: *
Disallow: /*?*
例10. 僅禁止百度抓取.jpg格式圖片
User-agent: Baiduspider
Disallow: .jpg$
例11、allow:(允許語法)用來定義允許蜘蛛爬取的頁面或子目錄
例:禁止百度收錄admin的資料夾,允許收錄admin檔案中的/a.asp/b.asp
User-agent:Baiduspider
Disallow:/admin/
Allow:/admin/a.asp
Allow:/admin/b.asp
例12、”$” 匹配行結束符 ”*” 匹配0或多個任意字元
例:禁止百度蜘蛛以.php結束的所有頁面
User-agent: Baiduspider
Disallow:.php$
或者User-agent: Baiduspider
Disallow:/*.php
使用必要
“每當用戶試圖訪問某個不存在的URL時,伺服器都會在日誌中記錄404錯誤(無法找到檔案)。每當搜尋蜘蛛來尋找並不存在的robots.txt檔案時,伺服器也將在日誌中記錄一條404錯誤,所以你應該做網站中添加一個robots.txt。”
關於這一點呢,我個人是不太認可的,這么多年過去了,搜尋引擎沒理由連這么簡單的404都無法分辨出來的, 我並不是在否認這段話,
google對於一個網站的評價標準有很多, 一個網站是否存在sitemap,必然也是該站是否完整的衡量標準之一(純屬個人猜測),所以,我不認可的只是404。
此外,robots.txt可以有效的節省你的流量。
我相信很多草根站長都是從虛擬空間開始起家的,一開始的流量,頻寬都是有限制的,而搜尋引擎對網站的抓取必然也是要占用流量的,所以避免搜尋引擎“無效的抓取”就顯得十分重要了,如,快取檔案,臨時檔案,上傳資料夾,用戶中心 等feimlww1027, 禁止掉這些檔案目錄,一方面能降低流量消耗,另一方面偶爾也能保證收錄的質量(臨時頁面如果和實際檔案內容類似 搜尋引擎會有點迷惑的)。