關於這個robots.txt正確的寫法,蛋疼博客-老林參考了很多作者的寫法、還有百度的文獻,發現有的作者解釋或者寫法太過簡單,造成新手不易理解,當然蛋疼博客-老林也不敢保證百分百解釋得讓你很明白。
robots.txt是以什麼形式存在?robots.txt就是一份網站和搜索引擎雙方簽訂的規則協議書。每一個搜索引擎的蜘蛛訪問一個站點時,它首先爬行來檢查該站點根目錄下是否存在robots.txt。如果存在,蜘蛛就會按照該協議書上的規則來確定自己的訪問范圍;如果沒有robots.txt,那麼蜘蛛就會沿著鏈接抓取。
請牢牢記住:robots.txt必須放置在站點的根目錄下,而且文件名必須全部小寫。Disallow後面的冒號必須為英文狀態的。
我們先來理解User-agent和Disallow的定義。
● User-agent:該項用於描述搜索引擎蜘蛛的名字。(1)規定所有蜘蛛:User-agent:*;(2)規定某一個蜘蛛:User-agent:BaiduSpider。
● Disallow:該項用於描述不希望被抓取和索引的一個URL,這個URL可以是一條完整的路徑。這有幾種不同定義和寫法:(1)Disallow:/AAA.net,任何以域名+Disallow描述的內容開頭的URL均不會被蜘蛛訪問,也就是說以AAA.net目錄內的文件均不會被蜘蛛訪問;(2)Disallow:/AAA.net/則允許robots抓取和索引AAA.net/index.html,而不能抓取和索引AAA.net/admin.html;(3)如果Disallow記錄為空,說明該網站的所有部分都允許被訪問。在robots.txt文件中,至少應有Disallow記錄,如果robots.txt為空文件,則對所有的搜索引擎robot來說,該網站都是開放的。
1、國內建站需要用到的常見搜索引擎robot的名稱。
有時候我們覺得網站訪問量(IP)不多,但是網站流量為什麼耗的快?有很多的原因是垃圾(沒有)蜘蛛爬行和抓取消耗的。而網站要屏蔽哪個搜索引擎或只讓哪個搜索引擎收錄的話,首先要知道每個搜索引擎robot的名稱。
2、robots.txt文件基本常用寫法:
首先,你先建一個空白文本文檔(記事本),然後命名為:robots.txt。
(1)禁止所有搜索引擎訪問網站的任何部分。
User-agent: *
Disallow: /
(2)允許所有的robots訪問,無任何限制。
User-agent: *
Disallow:
或者
User-agent: *
Allow: /
還可以建立一個空文件robots.txt或者不建立robots.txt。
(3)僅禁止某個搜索引擎的訪問(例如:百度baiduspider)
User-agent: BaiduSpider
Disallow:/
(4)允許某個搜索引擎的訪問(還是百度)
User-agent: BaiduSpider
Disallow:
User-agent: *
Disallow: /
這裡需要注意,如果你還需要允許谷歌bot,那麼也是在“User-agent: *”前面加上,而不是在“User-agent: *”後面。
(5)禁止Spider訪問特定目錄和特定文件(圖片、壓縮文件)。
User-agent: *
Disallow: /AAA.net/
Disallow: /admin/
Disallow: .jpg$
Disallow: .rar$
這樣寫之後,所有搜索引擎都不會訪問這2個目錄。需要注意的是對每一個目錄必須分開說明,而不要寫出“Disallow:/AAA.net/ /admin/”。
感謝 老林 的投稿
1 2 下一頁
3、robot特殊參數(這一部分不熟者不要輕易使用)
(1)Allow
Allow與Disallow是正好相反的功能,Allow行的作用原理完全與Disallow行一樣,所以寫法是一樣的,只需要列出你要允許的目錄或頁面即可。
Disallow和Allow可以同時使用,例如,需要攔截子目錄中的某一個頁面之外的其他所有頁面,可以這麼寫:
User-agent: *
Disallow: /AAA.net/
Allow: /AAA.net/index.html
這樣說明了所有蜘蛛只可以抓取/AAA.net/index.html的頁面,而/AAA.net/文件夾的其他頁面則不能抓取,還需要注意以下錯誤的寫法:
User-agent: *
Disallow: /AAA.net
Allow: /AAA.net/index.html
原因請看上面Disallow值的定義說明。
(2)使用“*”號匹配字符序列。
例1.攔截搜索引擎對所有以admin開頭的子目錄的訪問,寫法:
User-agent: *
Disallow: /