十年專注于品牌網站建設 十年專注于品牌網站建設,低調、有情懷的網絡應用服務商!
南昌百恒網絡微信公眾號 掃一掃關注
小程序
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡微信小程序

百恒網絡

南昌百恒網絡

robots.txt文件的作用及寫法(史上最詳細版本)

robots.txt 百恒網絡 2018-02-27 2220

robots文件也會被稱做robots協議、爬蟲協議等,它是搜索引擎與網站的一個協議文件,網站通過robots協議文件告訴搜索引擎爬蟲哪些頁面可以抓取,哪些頁面不可以抓取。

robots.txt文件的作用及寫法

robots文件的存儲位置

robots文件是一個txt文本文檔文件,這個文件的正確命名為robots.txt,編輯好該文件后,需要放置于網站的根目錄下,也就是可以通過www.prikmotos.com/robots.txt能夠正常的訪問即可。

robots文件的寫法

在介紹如何寫robots文件之前,我們先來看一個robots文件,如下:

#robots文件示例

#百度爬蟲抓取協議

User-agent: Baiduspider

Disallow: /help

Disallow: /trends/*/h*/

Disallow: /msh/msc0p1.html

Disallow: /plc0p1.html

Disallow: /*?*

Disallow: /job/t*

Disallow: /*.png$

Allow: /youqiseol

#對于其他所有搜索引擎爬蟲的抓取協議

User-Agent: *

Allow: /sitemap.xml

我們可以通過上面的示例看到,中間有很多的標簽,和“#”“*”“$”符號的使用,下面我們對這些一一說明:

符號“#”的作用

符號“#”,代表的是注釋內容,通俗來說,就是你寫這個robots文件之后,給自己備注的一個提醒,它對搜索引擎爬行起不到任何作用,只是給你自己看的。同樣對搜索引擎爬蟲也沒有任何的影響。

User-agent介紹

該項的值用于描述搜索引擎robot的名字。在“robots.txt”文件中,如果有多條User-agent記錄說明有多個robot會受到“robots.txt”的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則對任何搜索引擎爬蟲均有效,在“robots.txt”文件中,“User-agent:*”這樣的記錄只能有一條。如果在“robots.txt”文件中,加入“User-agent:Baiduspider”和若干Disallow、Allow行,那么名為“Baiduspider”的爬蟲就會受到相應協議的限制。

Disallow介紹

該項的值用于描述不希望被搜索引擎爬蟲抓取的一類URL,這個值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項的值開頭的URL不會被搜索引擎爬蟲抓取。例如“Disallow:/help”禁止robot訪問/help.html、/helpabc.html、/help/index.html,而“Disallow:/help/”則允許robot訪問/help.html、/helpabc.html,不能訪問/help/?!癉isallow:”后面什么都沒有寫,那么說明允許爬蟲抓取該網站的所有url,在“/robots.txt”文件中,至少要有一條Disallow記錄。如果“/robots.txt”不存在或者為空文件,則對于所有的搜索引擎robot,該網站都是開放的。

Allow介紹

該項的值用于描述希望被搜索引擎爬蟲抓取的一類URL,與Disallow項相似,這個值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項的值開頭的URL是允許robot訪問的。例如“Allow:/jxbh”允許搜索引擎爬蟲抓取/jxbh.htm、/jxbh.html、/jxbh/com.html。一個網站的所有URL默認是Allow的,所以Allow通常與Disallow搭配使用,實現允許訪問一部分網頁同時禁止訪問其他所有URL的功能。

使用“*”和“$”符號

“*”匹配0個或多個任意字符

“$”匹配行結束符

如上面的示例,“Disallow:/*?*”不允許搜索引擎爬蟲抓取所有URL中帶“?”號的,“Disallow:/*.png$”不允許搜索引擎爬蟲抓取所有以.png結尾的鏈接,如http://www.prikmotos.com/1.png是不允許被抓取的,但是http://www.prikmotos.com/2.pngs就會被抓取(當然,png是圖片格式,實際中并沒pngs這種格式,這里只是為了方便說明演示)。

robots文件的作用

robots文件的作用在本文開始我們有提到這里在詳細的說一下,首先它是搜索引擎與網站之間的一個協議文件,用來告訴搜索引擎爬蟲哪些頁面可以抓取,哪些頁面不可以抓取。

但是實際工作中,我發現我有遇到這種情況,例如A目錄在一直以來都是允許搜索引擎爬蟲抓取的,并且也有了很大的索引數據,但是這個目錄實際上是不允許被搜索引擎爬蟲抓取的,于是我就設置了“Disallow:/a”,禁止了搜索引擎抓取A目錄,幾天之后發現,索引數據也已經清零了。

所以robots協議文件不僅能夠屏蔽搜索引擎爬蟲的抓取,也可以把已經收錄索引的無效數據進行快速的刪除。

robots文件書寫實例

禁止所有爬蟲抓取所有內容

User-agent:*

Disallow: /

User-agent說明的所有搜索引擎爬蟲,而Disallow是告知搜索引擎爬蟲從根目錄你就不能抓取,最開始只有一個“/”代表根,通俗點解釋一下:www.prikmotos.com/abc/1.html,其中/就是根,而abc就是一個目錄,1.html是一個文章頁。

只允許百度爬蟲抓取

User-agent: Baiduspider

Allow: /

User-agent: *

Disallow: /

第一組聲明Baiduspider(百度爬蟲的User-agent),允許抓取所有;而第二組聲明所有爬蟲,不允許抓取所有。有人可能會疑惑,這兩組是否沖突?實際上不會的,通俗點說就是:百度你來抓取,其他人別來!簡單明了。

如果你想只讓百度和Google來抓取,在不允許之前再加上一組即可,如下:

User-agent: Baiduspider

Allow: /

User-agent: Googlebot #google爬蟲的user-agent名稱

Allow: /

User-agent: *

Disallow: /

對所有搜索引擎的限制

User-Agent: *

Allow: /sitemap.xml #允許搜索引擎抓取sitemap.xml文件,但不建議把sitemap.xml文件寫到robots里。

Disallow: /help #不允許抓取 help下所有

Disallow: /

abc/*/d*/ #不允許抓取 abc/{任意內容}/d{任意內容}/,但可以抓取abc/{任意內容}/d{任意內容}/123.html等;

Disallow: /qwe/qwe1.html #不允許抓取該網頁

Disallow: /p1.html #不允許抓取該網頁

Disallow: /*?* #不允許抓取帶?號的URL

Disallow: /job/s* #不允許抓取 /job/s下的所有,包括/job/s

Disallow: /*.png$ #不允許抓取 任何以".png"結尾的鏈接

如上,每一行的含義都寫在了示例中。

400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號
掃一掃打開百恒網絡小程序

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
售后服務 售后服務
 
備案專線 備案專線
 
×
免费网站看v片在线