什么是robots協(xié)議?詳解robots.txt文件的存放位置、格式、使用技巧及作用
一、什么是robots協(xié)議
robots是網(wǎng)站跟爬蟲間的協(xié)議,robots協(xié)議又稱爬蟲協(xié)議、爬蟲規(guī)則等,是指網(wǎng)站可建立一個(gè)robots.txt文件來告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取,而搜索引擎則通過讀取robots.txt文件來識(shí)別這個(gè)頁面是否允許被抓取。
搜索引擎使用spider程序自動(dòng)訪問互聯(lián)網(wǎng)上的網(wǎng)頁并獲取網(wǎng)頁信息,robots文件是站點(diǎn)與spider溝通的重要渠道。當(dāng)一個(gè)搜索蜘蛛訪問一個(gè)站點(diǎn)時(shí),它會(huì)首先檢查該站點(diǎn)根目錄下是否存在robots.txt文件,如果存在,搜索機(jī)器人就會(huì)按照該文件中的內(nèi)容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網(wǎng)站上所有沒有被口令保護(hù)的頁面。但是,這個(gè)robots協(xié)議不是防火墻,也沒有強(qiáng)制執(zhí)行力,搜索引擎完全可以忽視r(shí)obots文件去抓取網(wǎng)頁的快照。robots協(xié)議并不是一個(gè)規(guī)范,而只是約定俗成的,所以并不能保證網(wǎng)站的隱私。
二、robots協(xié)議的由來
robots.txt并不是某一個(gè)公司制定的,而是早在20世紀(jì)93、94年就早已出現(xiàn),當(dāng)時(shí)還沒有Google。真實(shí)Robots協(xié)議的起源,是在互聯(lián)網(wǎng)從業(yè)人員的公開郵件組里面討論并且誕生的。即便是今天,互聯(lián)網(wǎng)領(lǐng)域的相關(guān)問題也仍然是在一些專門的郵件組中討論,并產(chǎn)生(主要是在美國)。
1994年6月30日,在經(jīng)過搜索引擎人員以及被搜索引擎抓取的網(wǎng)站站長共同討論后,正式發(fā)布了一份行業(yè)規(guī)范,即robots.txt協(xié)議。在此之前,相關(guān)人員一直在起草這份文檔,并在世界互聯(lián)網(wǎng)技術(shù)郵件組發(fā)布后,這一協(xié)議被幾乎所有的搜索引擎采用,包括最早的altavista,infoseek,后來的google,bing,以及中國的百度,搜搜,搜狗等公司也相繼采用并嚴(yán)格遵循。
Robot,又稱Spider,是搜索引擎自動(dòng)獲取網(wǎng)頁信息的電腦程序的通稱。Robots協(xié)議的核心思想就是要求Robot程序不要去檢索那些站長們不希望被直接搜索到的內(nèi)容。將約束Robot程序的具體方法規(guī)范成格式代碼,就成了Robots協(xié)議。一般來說,網(wǎng)站是通過Robots.txt文件來實(shí)現(xiàn)Robots協(xié)議。
自有搜索引擎之日起,Robots協(xié)議已是一種目前為止最有效的方式,用自律維持著網(wǎng)站與搜索引擎之間的平衡,讓兩者之間的利益不致過度傾斜。它就像一個(gè)鐘擺,讓互聯(lián)網(wǎng)上的搜索與被搜索和諧相處。
三、robots文件放在哪里
Robots文件應(yīng)該放置在網(wǎng)站根目錄下。舉例來說,當(dāng)spider訪問一個(gè)網(wǎng)站(比如 http://www.***.com)時(shí),首先會(huì)檢查該網(wǎng)站中是否存在http://www.***.com/robots.txt這個(gè)文件,如果 Spider找到這個(gè)文件,它就會(huì)根據(jù)這個(gè)文件的內(nèi)容,來確定它訪問權(quán)限的范圍。如果沒有發(fā)現(xiàn)robots.txt文件,蜘蛛就會(huì)爬行所有的文件,增加了很多沒有意義的操作,增加了蜘蛛的工作量。
網(wǎng)站 URL | 相應(yīng)的 robots.txt的 URL |
http://www.***.org/ | http://www.***.org/robots.txt |
http://www.***.org:80/ | http://www.***.org:80/robots.txt |
http://www.***.org:1234/ | http://www.***.org:1234/robots.txt |
http://***.org/ | http://***.org/robots.txt |
*robots文件存放位置
四、robots協(xié)議的格式
robots協(xié)議往往放置于根目錄下,包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結(jié)束符),每一條記錄的格式如下所示:
"<field>:<optional space><value><optionalspace>"
在該文件中可以使用#進(jìn)行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow和Allow行,詳細(xì)情況如下:
User-agent:該項(xiàng)的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多條User-agent記錄說明有多個(gè)robot會(huì)受到"robots.txt"的限制,對(duì)該文件來說,至少要有一條User-agent記錄。如果該項(xiàng)的值設(shè)為*,則對(duì)任何robot均有效,在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。如果在"robots.txt"文件中,加入"User-agent:SomeBot"和若干Disallow、Allow行,那么名為"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:該項(xiàng)的值用于描述不希望被訪問的一組URL,這個(gè)值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項(xiàng)的值開頭的URL不會(huì)被 robot訪問。例如"Disallow:/help"禁止robot訪問/help.html、/helpabc.html、/help/index.html,而"Disallow:/help/"則允許robot訪問/help.html、/helpabc.html,不能訪問/help/index.html。"Disallow:"說明允許robot訪問該網(wǎng)站的所有url,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"不存在或者為空文件,則對(duì)于所有的搜索引擎robot,該網(wǎng)站都是開放的。
Allow:該項(xiàng)的值用于描述希望被訪問的一組URL,與Disallow項(xiàng)相似,這個(gè)值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項(xiàng)的值開頭的URL 是允許robot訪問的。例如"Allow:/hibaidu"允許robot訪問/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一個(gè)網(wǎng)站的所有URL默認(rèn)是Allow的,所以Allow通常與Disallow搭配使用,實(shí)現(xiàn)允許訪問一部分網(wǎng)頁同時(shí)禁止訪問其它所有URL的功能。
使用"*"and"$":Baiduspider支持使用通配符"*"和"$"來模糊匹配url。
"*" 匹配0或多個(gè)任意字符
"$" 匹配行結(jié)束符。
最后需要說明的是:百度會(huì)嚴(yán)格遵守robots的相關(guān)協(xié)議,請(qǐng)注意區(qū)分您不想被抓取或收錄的目錄的大小寫,百度會(huì)對(duì)robots中所寫的文件和您不想被抓取和收錄的目錄做精確匹配,否則robots協(xié)議無法生效。
五、robots協(xié)議用法與實(shí)例
1、robots協(xié)議用法
例1、禁止所有所示引擎訪問網(wǎng)站任何內(nèi)容 | User-agent: * Disallow:/ |
例2、允許所有的robot訪問(或者也可以建一個(gè)空文件“/robots.txt”) | User-agent: * Allow:/ |
例3、僅禁止Baiduspider訪問您的網(wǎng)站 | User-agent:Baiduspider Disallow:/ |
例4、僅允許Baiduspider訪問您的網(wǎng)站 | User-agent:Baiduspider Allow:/ User-agent: * Disallow:/ |
例5、僅允許Baiduspider以及Googlebot訪問您的網(wǎng)站 | User-agent:Baiduspider Allow:/ User-agent:Googlebot Allow:/ User-agent: * Disallow:/ |
例6、禁止spider訪問特定目錄 在這個(gè)例子中,改網(wǎng)站有三個(gè)目錄對(duì)所搜索引擎的訪問做了限制,即spider不會(huì)訪問這3個(gè)目錄,需要注意的是對(duì)每一個(gè)目錄必須分開聲明,而不能寫成“Disallow:/cgi-bin/ /temp/”。 | User-agent: * Disallow:/cgi-bin/ Disallow:/temp/ |
例7、允許訪問特定目錄中的部分url | Allow:/temp/hi User-agent: * Allow:/~joe/look Allow:cig-bin/see Disallow:/cgi-bin/ Disallow:/temp/ Disallow:/~joe/ |
例8、使用“*”限制訪問url 禁止訪問/cgi-bin/目錄下的所有以“.html”為后綴的url(包含子目錄) | User-agent: * Disallow:/cgi-bin/*.html |
例9、使用“$”限制訪問url 僅允許訪問以“.html”為后綴的url | Allow:/*.html$ User-agent: * Disallow: |
例10、禁止訪問網(wǎng)站中所有的動(dòng)態(tài)頁面 | User-agent: * Disallow:/ *?* |
例11、禁止Baiduspider抓取網(wǎng)站上的所有圖片 僅允許抓取網(wǎng)頁,禁止抓取任何圖片。 | User-agent:Baiduspider Disallow:/*.jpg$ Disallow:/*.jpeg$ Disallow:/*.gif$ Disallow:/*.png$ Disallow:/*.bmp$ |
例12、僅允許Baiduspider抓取網(wǎng)頁和.gif格式圖片 允許抓取網(wǎng)頁和gif格式圖片,不允許抓取其他格式圖片 | User-agent:Baiduspider Allow:/*.gif$ Disallow:/*.jpg$ Disallow:/*.jpeg$ Disallow:/*.png$ Disallow:/*.bmp$ |
例13、禁止Baiduspider抓取.jpg格式圖片 | User-agent:Baiduspider Disallow:/*.jpg$ |
*百度robots.txt協(xié)議用法
2、robots.txt文件示例
以下是一個(gè)robots.txt文件的完整示例,可拷貝到txt文件做相應(yīng)修改后使用。
User-agent: *
Disallow:/application/
Disallow:/core/
Disallow:/data/
Disallow:/extend/
Disallow:/public/
Disallow:/static/
Disallow:/vendor/
Disallow:/weapp/
Disallow:/install_1636907738/
Sitemap:http://gagu89.com/sitemap.xml
六、Robots.txt 文件在線生成
1、站長工具Robots.txt生成:https://tool.chinaz.com/robots/
2、愛站Robots.txt生成:https://tools.aizhan.com/robots-generator/
七、Robots.txt文件在線檢測(cè)工具
當(dāng)寫好robots.txt文件就需要檢測(cè)是否有寫,下面提供幾款在線工具幫助大家檢測(cè)robots是否有寫錯(cuò)。
1、百度資源Robots.txt檢測(cè):https://ziyuan.baidu.com/robots/
2、愛站Robots.txt檢測(cè)工具:https://tools.aizhan.com/robots/
3、站長工具Robots.txt檢測(cè):https://stool.chinaz.com/robots
八、Robots協(xié)議使用技巧
1、每當(dāng)用戶試圖訪問某個(gè)不存在的URL時(shí),服務(wù)器都會(huì)在日志中記錄404錯(cuò)誤(無法找到文件)。每當(dāng)搜索蜘蛛來尋找并不存在的robots.txt文件時(shí),服務(wù)器也將在日志中記錄一條404錯(cuò)誤,所以應(yīng)該在網(wǎng)站中添加一個(gè)robots.txt文件。
2、網(wǎng)站管理員必須使蜘蛛程序遠(yuǎn)離某些服務(wù)器上的目錄以確保服務(wù)器性能。比如:大多數(shù)網(wǎng)站服務(wù)器都有程序儲(chǔ)存在"cgi-bin"目錄下,因此在robots.txt文件中加入"Disallow: /cgi-bin",這樣能夠避免將所有程序文件被蜘蛛索引,可以節(jié)省服務(wù)器資源。一般網(wǎng)站中不需要蜘蛛抓取的文件有:后臺(tái)管理文件、程序腳本、附件、數(shù)據(jù)庫文件、編碼文件、樣式表文件、模板文件、導(dǎo)航圖片和背景圖片等等。
3. 如果你的網(wǎng)站是動(dòng)態(tài)網(wǎng)頁,并且你為這些動(dòng)態(tài)網(wǎng)頁創(chuàng)建了靜態(tài)副本,以供搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里設(shè)置避免動(dòng)態(tài)網(wǎng)頁被蜘蛛索引,以保證這些網(wǎng)頁不會(huì)被視為含重復(fù)內(nèi)容。
4、robots.txt文件里還可以直接包括在sitemap文件的鏈接。比如Sitemap: http://www.***.com/sitemap.xml。這樣做的好處就是,站長不用到每個(gè)搜索引擎的站長工具去提交自己的sitemap文件,搜索引擎的蜘蛛自己就會(huì)抓取robots.txt文件,讀取其中的sitemap路徑,接著抓取其中相鏈接的網(wǎng)頁。
5、合理使用robots.txt文件還能避免訪問時(shí)出錯(cuò)。比如,不能讓搜索者直接進(jìn)入購物車頁面。因?yàn)闆]有理由使購物車被收錄,所以你可以在robots.txt文件里設(shè)置來阻止搜索者直接進(jìn)入購物車頁面。
九、Robots文件的作用
1、屏蔽網(wǎng)站的空、死鏈接
由于網(wǎng)站內(nèi)容的修改以及刪除,容易導(dǎo)致網(wǎng)站內(nèi)的一些內(nèi)鏈失效變?yōu)榭真溁蛘咚梨湣MǔN覀儠?huì)對(duì)網(wǎng)站定期檢查空鏈和死鏈,將這些鏈接提取出來,寫入robots文件之中,防止搜索引擎爬取該鏈接,間接提升搜索引擎的體驗(yàn)。該種方式是有效的,因?yàn)樾薷囊呀?jīng)收錄的內(nèi)容時(shí)會(huì)使得搜索引擎重新的爬取修改過的網(wǎng)頁,再次判斷是否進(jìn)行收錄,如果沒有繼續(xù)收錄了,那么就得不嘗試了。
2、防止蜘蛛爬取網(wǎng)站重復(fù)內(nèi)容
因?yàn)榫W(wǎng)站很多的動(dòng)態(tài)頁面搜索引擎時(shí)無法收錄的,所以很多時(shí)候我們需要對(duì)于這些動(dòng)態(tài)頁面進(jìn)行制定一個(gè)靜態(tài)的頁面以助于搜索引擎收錄。這時(shí)候就讓搜索引擎不要爬取某一些重復(fù)的內(nèi)容,可以減少站內(nèi)的頁面關(guān)鍵詞權(quán)重競爭。
3、節(jié)省服務(wù)器資源,從而提高服務(wù)質(zhì)量
網(wǎng)站上是有很多的內(nèi)容都是一些無意義的內(nèi)容,例如網(wǎng)站的各種腳本代碼、css文件和php文件等等,這些文件對(duì)于網(wǎng)站優(yōu)化都是無意義的,爬取這些網(wǎng)站不僅不會(huì)收錄,而且還會(huì)浪費(fèi)服務(wù)器的資源。上圖中很多禁止訪問的內(nèi)容都是這類無意義的文件目錄。
4、保護(hù)網(wǎng)站隱私內(nèi)容
網(wǎng)站有很多的頁面都是有著一定隱私的,例如一個(gè)用戶接受的推送又或者是購物車等等,這些鏈接雖然在一個(gè)頁面之中有,但是顯然是不希望搜索引擎爬取的內(nèi)容。
5、有利于網(wǎng)站調(diào)試
在網(wǎng)站初步上線前,或者網(wǎng)站改版的時(shí)候,都會(huì)有著一定的錯(cuò)誤,需要一段時(shí)間的調(diào)試再對(duì)搜索引擎開放爬取,在調(diào)試期間就可以將robots文件設(shè)置為對(duì)于所有的搜索引擎都處于拒絕爬取狀態(tài),等所有的錯(cuò)誤都解決后再修改robots文件。
十、Robots META標(biāo)簽的寫法
robots meta標(biāo)簽中沒有大小寫之分,name="robots"表示所有的搜索引擎,可以針對(duì)某個(gè)具體搜索引擎寫為name="baiduspider"。 content部分有四個(gè)指令選項(xiàng):index、noindex、follow、nofollow,指令間以","分隔。
index 指令告訴搜索機(jī)器人抓取該頁面;
follow 指令表示搜索機(jī)器人可以沿著該頁面上的鏈接繼續(xù)抓取下去;
robots meta標(biāo)簽的缺省值是index和follow,只有inktomi除外,對(duì)于它,缺省值是index,nofollow。
這樣,一共有四種組合:
<meta name="robots" content="index,follow">
<meta name="robots" content="noindex,follow">
<meta name="robots" content="index,nofollow">
<meta name="robots" content="noindex,nofollow">
其中
<meta name="robots" content="index,follow">可以寫成<meta name="robots" content="all">;
<meta name="robots" content="noindex,nofollow">可以寫成<meta name="robots" content="none">
目前看來,絕大多數(shù)的搜索引擎機(jī)器人都遵守robots.txt的規(guī)則,而對(duì)于robots meta標(biāo)簽,目前支持的并不多,但是正在逐漸增加,如著名搜索引擎google就完全支持,而且google還增加了一個(gè)指令"archive",可以限制google是否保留網(wǎng)頁快照。例如:
<meta name="googlebot" content="index,follow,noarchive">
表示抓取該站點(diǎn)中頁面并沿著頁面中鏈接抓取,但是不在goolge上保留該頁面的網(wǎng)頁快照。
十一、搜索引擎常見Robots名字
google蜘蛛:googlebot
百度蜘蛛:baiduspider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛:lycos_spider_(t-rex)
alltheweb蜘蛛:fast-webcrawler/
inktomi蜘蛛:slurp
十二、robots協(xié)議常見問題
1、Robots.Txt文件是必須的嗎?
如果你的網(wǎng)站較小,且索引符合你的預(yù)期,你可以不要robots.txt文件,主流搜索引擎足夠聰明的去識(shí)別你的內(nèi)容。但建議還是要有一個(gè)Robots.txt文件,因?yàn)樗阉饕嬖L問網(wǎng)站時(shí),首先就是查閱它。
2、可以將資源類文件(Css、Js)禁止抓取嗎?
不要這么做,因?yàn)樗阉饕嫘枰抠Y源類文件來解讀你的網(wǎng)頁。
3、網(wǎng)站誤封Robots該如何處理?
robots協(xié)議是搜索生態(tài)中很重要的一個(gè)環(huán)節(jié),同時(shí)也是一個(gè)很細(xì)節(jié)的環(huán)節(jié)。很多站長同學(xué)在網(wǎng)站運(yùn)營過程中,很容易忽視r(shí)obots協(xié)議的存在,進(jìn)行錯(cuò)誤覆蓋或者全部封禁robots,造成不必要損失!
那么如果誤操作封禁了robots怎么辦?百度搜索引擎處理方式如下:
1、修改Robots封禁為允許,然后到百度搜索資源后臺(tái)檢測(cè)并更新Robots。
2、在百度搜索資源后臺(tái)抓取檢測(cè),此時(shí)顯示抓取失敗,沒關(guān)系,多點(diǎn)擊抓取幾次,觸發(fā)蜘蛛抓取站點(diǎn)。
3、在百度搜索資源后臺(tái)抓取頻次,申請(qǐng)抓取頻次上調(diào)。
4、百度反饋中心,反饋是因?yàn)檎`操作導(dǎo)致了這種情況的發(fā)生。
5、百度搜索資源后臺(tái)鏈接提交處,設(shè)置數(shù)據(jù)API推送(實(shí)時(shí))。
6、更新sitemap網(wǎng)站地圖,重新提交百度,每天手動(dòng)提交一次。
以上處理完,接下來就是等待了,一般3天左右基本回升到正常狀態(tài)!
總結(jié)
優(yōu)化猩SEO:robots協(xié)議在百度、谷歌等主要搜索引擎還是具有實(shí)際作用的,如果網(wǎng)站將robots協(xié)議寫成不允許搜索引擎抓取,那么整個(gè)站點(diǎn)的規(guī)模不管多大,搜索引擎也不會(huì)將搜索結(jié)果進(jìn)行展示,所以站長務(wù)必要合理設(shè)置好robots.txt文件,使搜索引擎抓取可以正確合理的抓取網(wǎng)站內(nèi)容,以便網(wǎng)站獲得更好的排名。
參考鏈接:
robots協(xié)議_百度百科
https://baike.baidu.com/item/robots%E5%8D%8F%E8%AE%AE/2483797
robots_百度百科
https://baike.baidu.com/item/robots/5243374?fr=aladdin
robots_百度搜索資源平臺(tái)
https://ziyuan.baidu.com/college/courseinfo?id=267&page=13#h2_article_title28
2022 最新Robots.txt文件教程-CSDN博客
https://blog.csdn.net/penny_cheng/article/details/124778079
robots文件怎么寫,robots文件對(duì)網(wǎng)站優(yōu)化的作用-格子網(wǎng)絡(luò)
https://www.35hw.com/news/robots.html
修改于2023-05-04
想了解更多SEO百科的內(nèi)容,請(qǐng)?jiān)L問:SEO百科