天天看點

robots協定

禁止搜尋引擎收錄的方法(robots.txt)

一、什麼是robots.txt檔案?

搜尋引擎通過一種程式robot(又稱spider),自動通路網際網路上的網頁并擷取網頁資訊。您可以在您的網站中建立一個純文字檔案robots.txt,在這個檔案中聲明該網站中不想被robot通路的部分,這樣,該網站的部分或全部内容就可以不被搜尋引擎收錄了,或者指定搜尋引擎隻收錄指定的内容。

二、robots.txt檔案放在哪裡?

robots.txt檔案應該放在網站根目錄下。舉例來說,當robots通路一個網站(比如http://www.abc.com)時,首先會檢查該網站中是否存在http://www.abc.com/robots.txt這個檔案,如果機器人找到這個檔案,它就會根據這個檔案的内容,來确定它通路權限的範圍。

網站 URL 相應的 robots.txt的 URL

http://www.w3.org/ http://www.w3.org/robots.txt

http://www.w3.org:80/ http://www.w3.org:80/robots.txt

http://www.w3.org:1234/ http://www.w3.org:1234/robots.txt

http://w3.org/ http://w3.org/robots.txt

三、robots.txt檔案的格式

"robots.txt"檔案包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:":"。

在該檔案中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該檔案中的記錄通常以一行或多行User-agent開始,後面加上若幹Disallow行,詳細情況如下:

User-agent:

該項的值用于描述搜尋引擎robot的名字,在"robots.txt"檔案中,如果有多條User-agent記錄說明有多個robot會受到該協定的限制,對該檔案來說,至少要有一條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.txt檔案用法舉例

例1.            禁止所有搜尋引擎通路網站的任何部分

下載下傳該robots.txt檔案 User-agent: *

Disallow: /

例2.            允許所有的robot通路

(或者也可以建一個空檔案 "/robots.txt" file)

User-agent: *

Disallow:

例3.            禁止某個搜尋引擎的通路

User-agent: BadBot

例4.            允許某個搜尋引擎的通路

User-agent: baiduspider

例5. 一個簡單例子

在這個例子中,該網站有三個目錄對搜尋引擎的通路做了限制,即搜尋引擎不會通路這三個目錄。

需要注意的是對每一個目錄必須分開聲明,而不要寫成 "Disallow: /cgi-bin/ /tmp/"。

User-agent:後的* 具有特殊的含義,代表"any robot",是以在該檔案中不能有"Disallow:

/tmp/*" or "Disallow: *.gif"這樣的記錄出現.

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /~joe/

五、robots.txt檔案參考資料

robots.txt檔案的更具體設定,請參看以下資料:

· Web Server Administrator's Guide to the Robots Exclusion Protocol

· HTML Author's Guide to the Robots Exclusion Protocol

· The original 1994 protocol description, as currently deployed

· The revised Internet-Draft specification, which is not yet completed or implemented

在你的首頁中為Web Robot設計路标

Internet越來越酷,WWW的知名度如日中天。在Internet上釋出公司資訊、進行電子商務已經從時髦演化成時尚。作為一個WebMaster,你可能對HTML、Javascript、Java、 ActiveX了如指掌,但你是否知道什麼是WebRobot?你是否知道Web Robot和你所設 計的首頁有什麼關系?

  Internet上的流浪漢--- Web Robot

有時你會莫名其妙地發現你的首頁的内容在一個搜尋引擎中被索引,即使你從未與他 們有過任何聯系。其實這正是Web Robot的功勞。WebRobot其實是一些程式,它可以 穿越大量Internet網址的超文本結構,遞歸地檢索網絡站點所有的内容。這些程式有時被叫“蜘蛛(Spider)” , “網上流浪漢(Web Wanderer)”,“網絡蠕蟲(web worms)”或Webcrawler。一些Internet網上知名的搜尋引擎站點(Search Engines)都 有專門的WebRobot程式來完成資訊的采集,例如Lycos,Webcrawler,Altavista等,以及中文搜尋引擎站點例如北極星

,網易,GOYOYO等。WebRobot就象一個不速之客,不管你是否在意,它都會忠于自己主人的職責,任勞任怨、不知疲倦地奔波于網際網路的空間,當然也會光臨你的首頁,檢索首頁内容并生成它所需要的記錄格式。或許有的首頁内容你樂于世人皆知,但有的内容你卻不願被洞察、索引。難道你就隻能任其“橫行”于自己首頁空間,能否指揮和控制WebRobot的行蹤呢?答案當然是肯定的。隻要你閱讀了本篇的下文,就可以象一個交通 警察一樣,布置下一個個路标,告訴WebRobot應該怎麼去檢索你的首頁,哪些可以檢索,哪些不可以通路。其實Web Robot能聽懂你的話不要以為Web Robot是毫無組織,毫無管束地亂跑。很多Web Robot軟體給網絡站點的 管理者或網頁内容制作者提供了兩種方法來限制Web Robot的行蹤:

1.         Robots Exclusion Protocol 協定

網絡站點的管理者可以在站點上建立一個專門格式的檔案,來指出站點上的哪一部分 可以被robot通路, 這個檔案放在站點的根目錄下,即robots.txt." target="_blank">http://.../robots.txt.

2.         Robots META tag

一個網頁作者可以使用專門的HTML META tag ,來指出某一個網頁是否可以被索 引、分析或連結。這些方法适合于大多數的Web Robot,至于是否在軟體中實施了這些方法,還依賴于 Robot的開發者,并非可以保證對任何Robot都靈驗。如果你迫切需要保護自己内容,則應考慮采用諸如增加密碼等其他保護方法。

使用Robots Exclusion Protocol協定

當Robot通路一個 Web 站點時,比如http://www.sti.net.cn/,它先去檢查檔案robots.txt"target="_blank">http://www.sti.net.cn/robots.txt。如果這個檔案存在,它便會按照這樣的記錄格式去分析:

  User-agent: *

  Disallow: /cgi-bin/

  Disallow: /tmp/

  Disallow: /~joe/

  以确定它是否應該檢索站點的檔案。這些記錄是專門給Web Robot看的,一般的浏覽者大概永遠不會看到這個檔案,是以千萬不要異想天開地在裡面加入形似 類的HTML語句或是“How do you do? where areyou from?”之類假情假意的問候語。

  在一個站點上隻能有一個 "/robots.txt" 檔案,而且檔案名的每個字母要求全部是小寫。在Robot的記錄格式中每一個單獨的"Disallow"行表示你不希望Robot通路的URL, 每個URL必須單獨占一行,不能出現"Disallow: /cgi-bin/ /tmp/"這樣的病句。同時在一個記錄中不能出現空行,這是因為空行是多個記錄分割的标志。User-agent行指出的是Robot或其他代理的名稱。在User-agent行,'*' 表示一個特殊的含義---所有的robot。

  下面是幾個robot.txt的例子:

  在整個伺服器上拒絕所有的robots:

  允許所有的robots通路整個站點:

  Disallow:

  或者産生一個空的 "/robots.txt" 檔案。

  伺服器的部分内容允許所有的robot通路

  Disallow: /private/

  拒絕某一個專門的robot:

  User-agent: BadBot

  Disallow: /

  隻允許某一個robot光顧:

  User-agent: WebCrawler

  

  最後我們給出 http://www.w3.org/站點上的robots.txt:

  # For use by search.w3.org

  User-agent: W3Crobot/1

  Disallow: /Member/ # This is restricted to W3C Members only

  Disallow: /member/ # This is restricted to W3C Members only

  Disallow: /team/ # This is restricted to W3C Team only

  Disallow: /TandS/Member # This is restricted to W3C Members only

  Disallow: /TandS/Team # This is restricted to W3C Team only

  Disallow: /Project

  Disallow: /Systems

  Disallow: /Web

  Disallow: /Team

  使用Robots META tag方式

Robots META tag 允許HTML網頁作者指出某一頁是否可以被索引,或是否可以用來查找更多的連結檔案。目前隻有部分robot實施了這一功能。

Robots META tag的格式為:

象其他的META tag一樣,它應該放在HTML檔案的HEAD區:

  ...

  Robots META tag指令使用逗号隔開,可以使用的指令包括 [NO]INDEX 和[NO]FOLLOW。INDEX指令指出一個索引性robot是否可以對本頁進行索引;FOLLOW 指

令指出robot是否可以跟蹤本頁的連結。預設的情況是INDEX和FOLLOW。例如:一個好的Web 站點管理者應該将robot的管理考慮在内,使robot為自己的首頁服務, 同時又不損害自己網頁的安全。

下一篇: ctrl+shift+c

繼續閱讀