robot.txt

robot.txt

搜尋引擎通過一種程式“蜘蛛”(又稱spider),自動訪問網際網路上的網頁並獲取網頁信息。您可以在您的網站中創建一個純文本檔案robots.txt,在這個檔案中聲明該網站中不想被蜘蛛訪問的部分,這樣,該網站的部分或全部內容就可以不被搜尋引擎訪問和收錄了,或者可以通過robots.txt指定使搜尋引擎只收錄指定的內容。搜尋引擎爬行網站第一個訪問的檔案就是robots.txt。

基本介紹

  • 中文名robots協定
  • 外文名:robots.txt
  • 位置:網站根目錄
  • 用途:指引搜尋引擎訪問網站頁面的檔案
檔案位置,檔案格式,主要作用,一般禁止,使用技巧,

檔案位置

robots.txt檔案應該放在網站根目錄下。舉例來說,當搜尋引擎訪問一個網站時,首先會檢查該網站中是否存在robots.txt這個檔案,如果robots機器人程式找到這個檔案,它就會根據這個檔案的內容,來確定它訪問許可權的範圍。
wordpress的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檔案。
robots.txt檔案用法舉例:
例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”是個好主意,這樣能夠避免所有程式檔案都被蜘蛛索引,以達到節省伺服器資源的效果。
一般網站中不需要蜘蛛抓取的檔案有:後台管理檔案、程式腳本、附屬檔案、資料庫檔案、編碼檔案、樣式表檔案、模板檔案、導航圖片和背景圖片等等。
下面是VeryCMS里的robots.txt檔案:
User-agent: *
Disallow: /admin/ 後台管理檔案
Disallow: /require/程式檔案
Disallow: /attachment/ 附屬檔案
Disallow: /images/ 圖片
Disallow: /data/資料庫檔案
Disallow: /template/ 模板檔案
Disallow: /css/ 樣式表檔案
Disallow: /lang/ 編碼檔案
Disallow: /script/腳本檔案
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檔案里設定來阻止搜尋者直接進入購物車頁面。

相關詞條

熱門詞條

聯絡我們