robots.txt文件格式詳解

在說明ROTBOT文件的編寫語法前先來了解幾個重要的概念!css

1. 什麼是baiduspider?
baiduspider是Baidu搜索引擎的一個自動程序。它的做用是訪問互聯網上的html網頁,創建索引數據庫,使用戶能在Baidu搜索引擎中搜索到貴網站的網頁。

2. baiduspider爲何大量訪問個人網頁?
baiduspider訪問您的網頁後,會自動分析每一個網頁上的文字內容並記憶網頁網址,而後其它網友才能經過百度搜索引擎找到您的網頁。若是baiduspider不訪問您的網頁,那麼全部經過baiduspider提供網頁信息的搜索引擎都找不到您的網頁,也就是說,其它網友在百度搜狐新浪雅虎Tom等幾十個搜索網站都會找不到您的網頁。
您能夠到這裏進一步瞭解搜索引擎。

3. baiduspider對一個網站服務器形成的訪問壓力如何?

對於一個網站,baiduspider每訪問一個網頁會間隔30秒,不會形成過大壓力。

4. 我不想個人網站被baiduspider訪問,我該怎麼作?

baiduspider象其它spider同樣遵照互聯網robots協議。您能夠利用robots.txt文件徹底禁止baiduspider訪問您的網站,或者禁止baiduspider訪問您網站上的部分文件。

注意:禁止baiduspider訪問您的網站,將使您的網站上的全部網頁,在Baidu搜索引擎以及全部Baidu提供搜索引擎服務的搜索引擎中沒法被搜索到,包括搜狐、新浪、雅虎、Tom、Lycos等幾十個搜索引擎。

關於robots.txt的寫做方法,請參看咱們的介紹:robots.txt寫做方法

5. 爲何個人網站已經加了robots.txt,還能在百度搜索出來?

由於搜索引擎索引數據庫的更新須要時間。雖然baiduspider已經中止訪問您網站上的網頁,但Baidu搜索引擎數據庫中已經創建的網頁索引信息,可能須要2到4周纔會清除。

6. baiduspider多長時間以後會從新抓取個人網頁?

Baidu搜索引擎平均兩週更新一次,網頁視重要性有不一樣的更新率,少則幾天,多則1月,baiduspider會從新訪問和更新一個網頁。

7. baidu蜘蛛在robots.txt中的名字是什麼?

baiduspider,所有爲小寫字母。徹底禁止baiduspider訪問的robots文件內容爲:


User-agent: baiduspider
Disallow: /


robots.txt的語法 html

「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基本的用法:
l 禁止全部搜索引擎訪問網站的任何部分:
User-agent: *
Disallow: /
l 容許全部的robot訪問
User-agent: *
Disallow:
或者也能夠建一個空文件 「/robots.txt「 file
l 禁止全部搜索引擎訪問網站的幾個部分(下例中的cgi-bin、tmp、private目錄)
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
l 禁止某個搜索引擎的訪問(下例中的BadBot)
User-agent: BadBot
Disallow: /
l 只容許某個搜索引擎的訪問(下例中的WebCrawler)
User-agent: WebCrawler
Disallow:

User-agent: *
Disallow: /
三、 常見搜索引擎機器人Robots名字

名稱 搜索引擎
Baiduspider http://www.baidu.com
Scooter http://www.altavista.com
ia_archiver http://www.alexa.com
Googlebot http://www.google.com
FAST-WebCrawler http://www.alltheweb.com
Slurp http://www.inktomi.com
MSNBOT http://search.msn.com

四、 robots.txt舉例
下面是一些著名站點的robots.txt:
http://www.cnn.com/robots.txt
http://www.google.com /robots.txt
http://www.ibm.com/robots.txt
http://www.sun.com/robots.txt
http://www.eachnet.com/robots.txt
五、 常見robots.txt錯誤
l 顛倒了順序:
錯誤寫成
User-agent: *
Disallow: GoogleBot

正確的應該是:
User-agent: GoogleBot
Disallow: *
l 把多個禁止命令放在一行中:
例如,錯誤地寫成
Disallow: /css/ /cgi-bin/ /images/

正確的應該是
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
l 行前有大量空格
例如寫成
Disallow: /cgi-bin/
儘管在標準沒有談到這個,可是這種方式很容易出問題。
l 404重定向到另一個頁面:
當Robot訪問不少沒有設置robots.txt文件的站點時,會被自動404重定向到另一個Html頁面。這時Robot經常會以處理robots.txt文件的方式處理這個Html頁面文件。雖然通常這樣沒有什麼問題,可是最好能放一個空白的robots.txt文件在站點根目錄下。
l 採用大寫。例如
USER-AGENT: EXCITE
DISALLOW:
雖然標準是沒有大小寫的,可是目錄和文件名應該小寫:
user-agent:GoogleBot
disallow:
l 語法中只有Disallow,沒有Allow!
錯誤的寫法是:
User-agent: Baiduspider
Disallow: /john/
allow: /jane/
l 忘記了斜槓/
錯誤的寫作:
User-agent: Baiduspider
Disallow: css

正確的應該是
User-agent: Baiduspider
Disallow: /css/
下面一個小工具專門檢查robots.txt文件的有效性:
http://www.searchengineworld.com/cgi-bin/robotcheck.cgi
2、 Robots META標籤
一、什麼是Robots META標籤


Robots.txt文件主要是限制整個站點或者目錄的搜索引擎訪問狀況,而Robots META標籤則主要是針對一個個具體的頁面。和其餘的META標籤(如使用的語言、頁面的描述、關鍵詞等)同樣,Robots META標籤也是放在頁面的中,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內容。具體的形式相似(見黑體部分):


時代營銷--網絡營銷專業門戶
name=「Robots「 content=「index,follow「>
http-equiv=「Content-Type「 CONTENT=「text/html; charset=gb2312「>
name=「keywords「 content=「營銷… 「>
name=「description「 content=「時代營銷網是…「>
rel=「stylesheet「 href=「/public/css.css「 type=「text/css「>





二、Robots META標籤的寫法:
Robots META標籤中沒有大小寫之分,name=」Robots」表示全部的搜索引擎,能夠針對某個具體搜索引擎寫爲name=」BaiduSpider」。content部分有四個指令選項:index、noindex、follow、nofollow,指令間以「,」分隔。
INDEX 指令告訴搜索機器人抓取該頁面;
FOLLOW 指令表示搜索機器人能夠沿着該頁面上的連接繼續抓取下去;
Robots Meta標籤的缺省值是INDEX和FOLLOW,只有inktomi除外,對於它,缺省值是INDEX,NOFOLLOW。
這樣,一共有四種組合:
NAME=「ROBOTS「 CONTENT=「INDEX,FOLLOW「>
NAME=「ROBOTS「 CONTENT=「NOINDEX,FOLLOW「>
NAME=「ROBOTS「 CONTENT=「INDEX,NOFOLLOW「>
NAME=「ROBOTS「 CONTENT=「NOINDEX,NOFOLLOW「>
其中
NAME=「ROBOTS「 CONTENT=「INDEX,FOLLOW「>能夠寫成
NAME=「ROBOTS「 CONTENT=「ALL「>;
NAME=「ROBOTS「 CONTENT=「NOINDEX,NOFOLLOW「>能夠寫成
NAME=「ROBOTS「 CONTENT=「NONE「>
須要注意的是:上述的robots.txt和Robots META標籤限制搜索引擎機器人(ROBOTS)抓取站點內容的辦法只是一種規則,須要搜索引擎機器人的配合才行,並非每一個ROBOTS都遵照的。
目前看來,絕大多數的搜索引擎機器人都遵照robots.txt的規則,而對於Robots META標籤,目前支持的並很少,可是正在逐漸增長,如著名搜索引擎GOOGLE就徹底支持,並且GOOGLE還增長了一個指令「archive」,能夠限制GOOGLE是否保留網頁快照。例如:
NAME=「googlebot「 CONTENT=「index,follow,noarchive「>
表示抓取該站點中頁面並沿着頁面中連接抓取,可是不在GOOLGE上保留該頁面的網頁快照web

做者: Hundre 發表於 2010-11-18 20:36 原文連接數據庫

評論: 0 查看評論 發表評論服務器

最新新聞:
· Debian 6.0「Squeeze」發佈(2011-02-06 11:17)
· 傳諾基亞將進行管理層重組 多名高管將離職(2011-02-06 11:15)
· 即將舉辦超級碗的Cowboys體育場在Google Earth裏3D化(2011-02-06 11:07)
· Android 3.0 Honeycomb 炫麗蜂巢開機動畫(2011-02-06 10:57)
· Google 發佈 Contracts for Java 開源項目(2011-02-06 10:47)
網絡

編輯推薦:無意插柳:Gmail之父,FriendFeed創始人談人生偶然性
app

網站導航:博客園首頁  個人園子  新聞  閃存  小組  博問  知識庫ide

相關文章
相關標籤/搜索