robots.txt的詳細寫法

什麼是robots.txt?html

  搜索引擎使用spider程序自動訪問互聯網上的網頁並獲取網頁信息。spider在訪問一個網站時,會首先會檢查該網站的根域下是否有一個叫作robots.txt的純文本文件。您能夠在您的網站中建立一個純文本文件robots.txt,在文件中聲明該網站中不想被robot訪問的部分或者指定搜索引擎只收錄特定的部分。ide

  請注意,僅當您的網站包含不但願被搜索引擎收錄的內容時,才須要使用robots.txt文件。若是您但願搜索引擎收錄網站上全部內容,請勿創建robots.txt文件或者建立一個內容爲空的robots.txt文件。網站

  robots.txt 放置位置搜索引擎

  robots.txt文件應該放置在網站根目錄下。舉例來講,當spider訪問一個網站(好比 http://www.abc.com)時,首先會檢查該網站中是否存在http://www.abc.com/robots.txt這個文件,若是 Spider找到這個文件,它就會根據這個文件的內容,來肯定它訪問權限的範圍。url

  robots.txt 格式spa

  文件包含一條或更多的記錄,這些記錄經過空行分開(以CR,CR/NL, or NL做爲結束符),每一條記錄的格式以下所示:」:」。在該文件中可使用#進行註解。該文件中的記錄一般以一行或多行User-agent開始,後面加上若干Disallow和Allow行,詳細狀況以下。orm

  User-agent:htm

  該項的值用於描述搜索引擎robot的名字。在」robots.txt」文件中,若是有多條User-agent記錄說明有多個robot會受到」robots.txt」的限制,對該文件來講,至少要有一條User-agent記錄。 若是該項的值設爲*,則對任何robot均有效,在」robots.txt」文件中,」User-agent:*」這樣的記錄只能有一條。若是在」robots.txt」文件中,加入」User- agent:SomeBot」和若干Disallow、Allow行,那麼名爲」SomeBot」只受到」User-agent:SomeBot」後面的 Disallow和Allow行的限制。 Disallow: 該項的值用於描述不但願被訪問的一組URL,這個值能夠是一條完整的路徑,也能夠是路徑的非空前綴,以Disallow項的值開頭的URL不會被robot訪問。例 如」Disallow: /help」禁止robot訪問/help*.html、/help/index.html, 而」Disallow: /help/」則容許robot訪問/help*.html,不能訪問/help/index.html。索引

  "Disallow:"說明容許robot訪問該網站的全部url,在」/robots.txt」文件中,至少要有一條Disallow記錄。若是」/robots.txt」不存在或者爲空文件,則對於全部的搜索引擎robot,該網站都是開放的。圖片

  Allow:

  該項的值用於描述但願被訪問的一組URL,與Disallow項類似,這個值能夠是一條完整的路徑,也能夠是路徑的前綴,以Allow項的值開頭的URL是容許robot訪問的。例如」Allow:/hibaidu」容許robot訪問/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。一個網站的全部URL默認是Allow的,因此Allow一般與Disallow搭配使用,實現容許訪問一部分網頁同時禁止訪問其它全部URL的功能。

  須要特別注意的是Disallow與Allow行的順序是有意義的,robot會根據第一個匹配成功的 Allow或Disallow行肯定是否訪問某個URL。

  使用」*」和」$」: Baiduspider 支持使用通配符」*」和」$」來模糊匹配url。 「$」 匹配行結束符。 「*」 匹配0或多個任意字符。

  robots.txt文件用法舉例:

  1. 容許全部的robot訪問

  User-agent: * Allow: / 或者 User-agent: * Disallow:

  2. 禁止全部搜索引擎訪問網站的任何部分

  User-agent: *

  Disallow: /

  3. 僅禁止Baiduspider訪問您的網站

  User-agent: Baiduspider

  Disallow: /

  4. 僅容許Baiduspider訪問您的網站

  User-agent: Baiduspider

  Disallow:

  5. 禁止spider訪問特定目錄

  User-agent: *

  Disallow: /cgi-bin/

  Disallow: /tmp/

  Disallow: /~joe/

  6. 容許訪問特定目錄中的部分url

  User-agent: *

  Allow: /cgi-bin/see

  Allow: /tmp/hi

  Allow: /~joe/look

  Disallow: /cgi-bin/

  Disallow: /tmp/

  Disallow: /~joe/

  7. 使用」*」限制訪問url

  禁止訪問/cgi-bin/目錄下的全部以」.htm」爲後綴的URL(包含子目錄)。

  User-agent: *

  Disallow: /cgi-bin/*.htm

  8. 使用」$」限制訪問url

  僅容許訪問以」.htm」爲後綴的URL。

  User-agent: *

  Allow: .htm$

  Disallow: /

  例9. 禁止訪問網站中全部的動態頁面

  User-agent: *

  Disallow: /*?*

  10. 禁止Baiduspider抓取網站上全部圖片

  僅容許抓取網頁,禁止抓取任何圖片。

  User-agent: Baiduspider

  Disallow: .jpg$

  Disallow: .jpeg$

  Disallow: .gif$

  Disallow: .png$

  Disallow: .bmp$

  11. 僅容許Baiduspider抓取網頁和.gif格式圖片

  容許抓取網頁和gif格式圖片,不容許抓取其餘格式圖片

  User-agent: Baiduspider

  Allow: .gif$

  Disallow: .jpg$

  Disallow: .jpeg$

  Disallow: .png$

  Disallow: .bmp$

  12. 僅禁止Baiduspider抓取.jpg格式圖片

  User-agent: Baiduspider

  Disallow: .jpg$

  注意:robots.txt是有分大小寫的,默認文件名全小寫,規則裏面要注意區分大小寫,好比禁止http://lbicc.com/Abc.html,在規則裏寫成abc.html的話那就沒效果了,只會禁止abc.html,Abc.html仍是有效。

相關文章
相關標籤/搜索