檔案位置
robots.txt檔案應該放在網站根目錄下。舉例來說,當搜尋引擎訪問一個網站時,首先會檢查該網站中是否存在robots.txt這個檔案,如果robots機器人程式找到這個檔案,它就會根據這個檔案的內容,來確定它訪問許可權的範圍。
沒在wordpress網站根節目上傳過robots.txt,當搜尋引擎和用戶拜訪某個檔案時,wordpress程式會主動生成一個robots.txt給搜尋引擎和用戶;若是我們上傳編寫的robots.txt到網站根節目,用戶和
搜尋引擎蛛蛛拜訪的就是我們上傳的檔案,wordpress就不會再產生那個檔案了。只有伺服器找不到robots的時候wordpress才會生成這個檔案。
檔案格式
“
robots.txt”檔案包含一條或多條記錄,這些記錄通過空行分開(以CR、CR/NL、or NL作為結束符),每一條記錄的格式如下所示:
“<field>:<optionalspace><value><optionalspace>”
在該檔案中可以使用#進行注釋,具體使用方法和UNIX中的慣例一樣。該檔案中的記錄通常以一行或多行User-agent開始,後面加上若干Disallow行,詳細情況如下:
User-agent:
該項的值用於描述
搜尋引擎機器人robot的名字。在“
robots.txt”檔案中,如果有多條 User-agent記錄,說明有多個robot會受到該協定的約束。所以,“robots.txt”檔案中至少要有一條User- agent記錄。如果該項的值設為*(
通配符),則該協定對任何搜尋引擎機器人均有效。在“robots.txt”檔案 中,“User-agent:*”這樣的記錄只能有一條。
Disallow:
該項的值用於描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以 是部分的,任何以Disallow開頭的URL均不會被robot訪問到。例如:
“Disallow: /help”對/help.html 和/help/index.html都不允許搜尋引擎訪問, 而“Disallow: /help/”則允許robot訪問/help.html,而不能訪問/help/index.html。
任何一條Disallow記錄為空,說明該網站的所有部分都允許被訪問,在 “/
robots.txt”檔案中,至少要有一條Disallow記錄。如果“/robots.txt”是一個空文 件,則對於所有的搜尋引擎robot,該網站都是開放的。
主要作用
有些人會問,既然robots檔案沒弄好,或出錯了,會影響整個網站的收錄,那為什麼還要這個檔案呢?
其實robots是為有特別情況的站長準備的,因為有些網站,有一些頁面是站長不想被任何
搜尋引擎收錄的,所以才有了這個robots檔案。
例1、禁止所有搜尋引擎訪問網站的任何部分
User-agent: *
Disallow: /
例2、允許所有的robot訪問
User-agent: *
Disallow:
(或者也可以建一個空檔案 "/robots.txt" file)
例3、禁止某個搜尋引擎的訪問
User-agent: BadBot
Disallow: /
例4、允許某個搜尋引擎的訪問
User-agent: Baiduspider
Disallow:
User-agent: *
Disallow: /
例5、假設某個網站有三個目錄對搜尋引擎的訪問做了限制,可以這么寫:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /joe/
需要注意的是,對每一個目錄必須分開聲明,而不要寫成:“Disallow: /cgi-bin/ /tmp/”。
User-agent:後的*(
通配符) 具有特殊的含義,代表“any robot”,所以在該檔案中不能有 “Disallow: /tmp/*” or “Disallow: *.gif ”這樣的記錄出現。
另外,robots.txt主要作用是保障網路安全與網站隱私,百度蜘蛛遵循robots.txt協定。通過根目錄中創建的純文本檔案robots.txt,網站就可以聲明哪些頁面不想被百度蜘蛛爬行並收錄,每個網站都可以自主控制網站是否願意被百度蜘蛛收錄,或者指定百度蜘蛛只收錄指定的內容。當百度蜘蛛訪問某個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果該檔案不存在,那么爬蟲就沿著連結抓取,如果存在,爬蟲就會按照該檔案中的內容來確定訪問的範圍。
一般禁止
禁止隱私頁面,後台登入頁面,快取頁面,圖片目錄,css目錄,模板頁面,禁止雙頁面的內容,同時可以禁止一些質量比較差的頁面,例如金網的所有會員用戶空間頁面,dz的動態連結也可以設定禁止。通過Disallow:命令來進行設定。
使用技巧
每當用戶試圖訪問某個不存在的URL時,伺服器都會在
日誌中記錄404錯誤(無法找到檔案)。每當搜尋
蜘蛛來尋找並不存在的
robots.txt檔案時,伺服器也將在日誌中記錄一條404錯誤,所以你應該在網站中添加一個robots.txt。
網站管理員必須使
搜尋引擎機器人程式遠離伺服器上的某些目錄,以保證伺服器性能。比如:大多數網站伺服器都有程式儲存在“cgi-bin”目錄下,因此在robots.txt檔案中加入“Disallow: /cgi-bin”是個好主意,這樣能夠避免所有
程式檔案都被蜘蛛索引,以達到節省伺服器資源的效果。
一般網站中不需要蜘蛛抓取的檔案有:後台管理檔案、程式腳本、附屬檔案、
資料庫檔案、編碼檔案、樣式表檔案、模板檔案、導航圖片和背景圖片等等。
User-agent: *
Disallow: /admin/ 後台管理檔案
Disallow: /attachment/ 附屬檔案
Disallow: /images/ 圖片
Disallow: /data/資料庫檔案
Disallow: /template/ 模板檔案
Disallow: /css/ 樣式表檔案
Disallow: /lang/ 編碼檔案
Disallow: /js/js檔案
如果你的網站是
動態網頁,並且你為這些動態網頁創建了靜態副本,以供搜尋蜘蛛更容易抓取。那么你需要在
robots.txt檔案里設定避免動態網頁被蜘蛛索引,以保證這些網頁不會被視為是網站重複的內容。
robots.txt檔案里還可以直接包括在sitemap檔案的連結。就像這樣:
Sitemap: http://www.***.com/sitemap.xml
目 前對此表示支持的搜尋引擎公司有Google, Yahoo, Ask and MSN。而中文搜尋引擎公司,顯然不在這個圈子內。這樣做的好處就是,站長不用到每個搜尋引擎的
站長工具或者相似的站長部分,去提交自己的sitemap檔案,搜尋引擎的蜘蛛自己就會抓取
robots.txt檔案,讀取其中的sitemap路徑,接著抓取其中相連結的網頁。
合理使用robots.txt檔案還能避免訪問時出錯。比如,不能讓搜尋者直接進入購物車頁面。因為沒有理由使購物車被收錄,所以你可以在robots.txt檔案里設定來阻止搜尋者直接進入購物車頁面。