ndfweb.cn

robots.txt 詳細說明


2009-06-01 20:30:44 (11662)



一.什麼是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作為結束符),每一條記錄的格式如下所示:

"<field>:<optionalspace><value><optionalspace>"。

在該文件中可以使用#進行注解,具體使用方法和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
Disallow: /

例4. 允許某個搜索引擎的訪問
User-agent: baiduspider
Disallow:
User-agent: *
Disallow: /

例5. 一個簡單例子 在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限製,即搜索引擎不會訪問這三個目錄。 需要注意的是對每一個目錄必須分開聲明,而不要寫成 "Disallow: /cgi-bin/ /tmp/"。 User-agent:後的* 具有特殊的含義,代表"any robot",所以在該文件中不能有"Disallow: /tmp/*" or "Disallow: *.gif"這樣的記錄出現.
User-agent: *
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上發布公司信息、進行電子商務已經從時髦演化成時尚。作為一個Web Master,你可能 對HTML、java script、Java、 ActiveX了如指掌,但你是否知道什麼是Web Robot?你是否知道Web Robot和你所設 計的主頁有什麼關係?

Internet上的流浪漢--- Web Robot

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

Web Robot就象一個不速之客,不管你是否在意,它都會忠於自己主人的職責,任勞任怨、不知疲倦地奔波於萬維網的空間,當然也會光臨你的 主頁,檢索主頁內容並生成它所需要的記錄格式。或許有的主頁內容你樂於世人皆知,但有的內容你卻不願被洞察、索引。難道你就隻能任其 “橫行”於自己主頁空間,能否指揮和控製Web Robot的行蹤呢?答案當然是肯定的。隻要你閱讀了本篇的下文,就可以象一個交通 警察一樣 ,布置下一個個路標,告訴Web Robot應該怎麼去檢索你的主頁,哪些可以檢索,哪些不可以訪問。

其實Web Robot能聽懂你的話。

不要以為Web Robot是毫無組織,毫無管束地亂跑。很多Web Robot軟件給網絡站點的 管理員或網頁內容製作者提供了兩種方法來限製Web Robot的行蹤:

1、Robots Exclusion Protocol 協議

網絡站點的管理員可以在站點上建立一個專門格式的文件,來指出站點上的哪一部分 可以被robot訪問, 這個文件放在站點的根目錄下,即 robots.txt." http://.../robots.txt.

2、Robots META tag

一個網頁作者可以使用專門的HTML META tag ,來指出某一個網頁是否可以被索 引、分析或鏈接。

這些方法適合於大多數的Web Robot,至於是否在軟件中實施了這些方法,還依賴於 Robot的開發者,並非可以保證對任何Robot都靈驗。如果 你迫切需要保護自己內容,則應考慮采用諸如增加密碼等其他保護方法。

使用Robots Exclusion Protocol協議

當Robot訪問一個 Web 站點時,它先去檢查文件robots.txt。如果這個文件存在,它便會按照這樣的記錄格式去分析:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

以確定它是否應該檢索站點的文件。這些記錄是專門給Web Robot看的,一般的瀏覽者大概永遠不會看到這個文件,所以千萬不要異想天開地在 裏麵加入形似<img src=*> 類的HTML語句或是“How do you do? where are you from?”之類假情假意的問候語。

在一個站點上隻能有一個 "/robots.txt" 文件,而且文件名的每個字母要求全部是小 寫。在Robot的記錄格式中每一個單獨的"Disallow"行表 示你不希望Robot訪問的URL, 每個URL必須單獨占一行,不能出現 "Disallow: /cgi-bin/ /tmp/"這樣的病句。同時在一個記錄中不能出現空 行,這是因為空行是多個記錄分割的標誌。

User-agent行指出的是Robot或其他代理的名稱。在User-agent行,''*'' 表示一個特殊的含義---所有的robot。

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

在整個服務器上拒絕所有的robots:
User-agent: *
Disallow: /

允許所有的robots訪問整個站點:
User-agent: *
Disallow: 或者產生一個空的 "/robots.txt" 文件。

服務器的部分內容允許所有的robot訪問
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/

拒絕某一個專門的robot:
User-agent: BadBot Disallow: /

隻允許某一個robot光顧:
User-agent: WebCrawler Disallow:
User-agent: * Disallow: /

最後我們給出 http://www.w3.org/站點上的robots.txt:
# For use by search.w3.org User-agent: W3Crobot/1
Disallow:
User-agent: *
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 NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
象其他的META tag一樣,它應該放在HTML文件的HEAD區:
<html>
<head>
<meta name="robots" content="noindex,nofollow">
<meta name="description" content="This page ....">
<title>...</title>
</head>
<body>
...

Robots META tag指令使用逗號隔開,可以使用的指令包括 [NO]INDEX 和[NO]FOLLOW。INDEX 指令指出一個索引性robot是否可以對本頁進行索 引;FOLLOW 指 令指出robot是否可以跟蹤本頁的鏈接。缺省的情況是INDEX和FOLLOW。例如:
<meta name="robots" content="index,follow">
<meta name="robots" content="noindex,follow">
<meta name="robots" content="index,nofollow">
<meta name="robots" content="noindex,nofollow">

一個好的Web 站點管理員應該將robot的管理考慮在內,使robot為自己的主頁服務, 同時又不損害自己網頁的安全。

本文版权:http://www.ndfweb.cn/news-353.html
  NDF俱乐部
  国际域名注册
  建站咨询
简体中文 NDF网站建设淘宝店 | ICO图标在线生成 | 外贸网站建设 | 联系我们
©2007-2024 NDF Corporation 鲁ICP备08005967号 Sitemap - RSSRSS订阅