大部分網(wǎng)站都有一個robots協(xié)議,也稱為,爬蟲協(xié)議或機器人協(xié)議。以文本文件格式存在,一般都叫做robots.txt,是網(wǎng)站告訴搜索引擎蜘蛛程序哪些頁面是可以抓取,哪些頁面是拒絕抓取的。當搜索引擎蜘蛛來訪問網(wǎng)站的時候,第一件事就是先讀取robots文件,然后遵循協(xié)議進行對網(wǎng)站進行訪問抓取。如果網(wǎng)站不存在robots協(xié)議,那么會被視為可以抓取網(wǎng)站上的所有內(nèi)容。包括敏感隱私文件。所有建議是網(wǎng)站都應該有robots協(xié)議。
robots協(xié)議算是用來確保網(wǎng)站隱私信息不被泄露,通過robots協(xié)議定義的規(guī)則對搜索引擎抓取網(wǎng)站內(nèi)容做了約定,說白話解釋,就是告訴蜘蛛,某些頁面是不對蜘蛛開放訪問的。一般存放在網(wǎng)站的根目錄,但是說白了,各大搜索引擎會抓取嗎?
個人覺得是都抓取的,可能只是在對頁面進行加入索引庫的時候進行處理,那些頁面不加入索引庫,因為畢竟搜索引擎說白了就是數(shù)據(jù)公司,不會放過每一個數(shù)據(jù)。當然這個也只是猜測,我們做網(wǎng)站優(yōu)化,對于robots文件做到我們應該做的就好。
Robot 協(xié)議中加入網(wǎng)站后臺的話可用*號代替一些字符來保證安全。
Robots 協(xié)議能更好的輔助搜索引擎蜘蛛抓取我們的網(wǎng)站提高抓取效率。
網(wǎng)站上線后當天如果還沒修改完畢可以利用
User-agent: * Disallow: /
來屏蔽所有搜索引擎蜘蛛
1、允許所有搜索引擎蜘蛛:
User-agent: * Allow: /
另一寫法:
User-agent: * Disallow:
2、僅允許特定的百度蜘蛛:
User-agent: baiduspider Allow:
3、攔截所有的搜索引擎蜘蛛:
User-agent: * Disallow: /
4、禁止所有搜索引擎訪問特定目錄:
User-agent: * Disallow: /cgi-bin/ Disallow: /images/ Disallow: /tmp/ Disallow: /private/
5、僅禁止壞爬蟲訪問特定目錄(BadBot用真實的名字代替):
User-agent: BadBot Disallow: /private/
6、禁止所有機器人訪問特定文件類型[2]:
User-agent: * Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$
1,假設網(wǎng)站上的所有文件都同意蜘蛛抓取,沒有什么隱私文件可隱藏不見的。那是不是網(wǎng)站就可以不必要增加robots協(xié)議文件了呢?答案當然是否定的。如果不存在robots協(xié)議文件,那搜索引擎蜘蛛將會對網(wǎng)站所有頁面都進行抓取,包括404頁面,404頁面抓取收錄會對網(wǎng)站造成過多重復頁面的負面。而且蜘蛛訪問robots.txt的時候也是會給蜘蛛返回404錯誤。
2,robots協(xié)議文件中設置所有文件都可以被蜘蛛抓取,并不能增加網(wǎng)站的收錄。網(wǎng)站程序中的一些腳本文件,CSS文件,IMG文件等等跟網(wǎng)站內(nèi)容不相關(guān)的文件也會被蜘蛛抓取,并不會對網(wǎng)站收錄有好的作用。甚至可能被認為內(nèi)容與主題不符而被受到懲罰。那豈不是得不償失。
3,過多蜘蛛對所有文件進行抓取,也完全是在浪費服務器的資源,造成服務器卡頓,反而會影響用戶正常訪問,同時對蜘蛛訪問也有影響,如果蜘蛛抓取過慢會認為網(wǎng)站打開過慢,不僅僅導致整個站點的頁面收錄受到影響,而且會被受到網(wǎng)站服務器過慢懲罰。
網(wǎng)站中不需要搜索引擎蜘蛛抓取的文件有:后臺管理文件、程序腳本、附件、數(shù)據(jù)庫文件、編碼文件、樣式表文件、模板文件、導航圖片和背景圖片等等。
可以在robots.txt文件中作出如下設置:
User-agent: * Disallow: /admin/ 后臺管理文件 Disallow: /require/ 程序文件 Disallow: /attachment/ 附件 Disallow: /images/ 圖片 Disallow: /data/ 數(shù)據(jù)庫文件 Disallow: /template/ 模板文件 Disallow: /css/ 樣式表文件 Disallow: /lang/ 編碼文件 Disallow: /script/ 腳本文件
如果你的網(wǎng)站是動態(tài)網(wǎng)頁,并且這些動態(tài)網(wǎng)頁創(chuàng)建了靜態(tài)副本,方便搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里設置避免動態(tài)網(wǎng)頁被蜘蛛索引,以保證這些網(wǎng)頁不會被視為含重復內(nèi)容。
robots.txt文件里還可以直接包括在sitemap文件的鏈接。
就像這樣:Sitemap: http://www.azlx8.cn/sitemap.xml
目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,顯然不在這個圈子內(nèi)。這樣做的好處就是,站長不用到每個搜索引擎的站長工具或者相似的站長平臺,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就會抓取robots.txt文件,讀取其中的sitemap路徑,接著抓取其中相鏈接的網(wǎng)頁。
合理使用robots.txt文件還能避免訪問時出錯。比如,不能讓搜索者直接進入購物車頁面。因為沒有理由使購物車被收錄,所以你可以在robots.txt文件里設置來阻止搜索者直接進入購物車頁面。
禁止快照編輯,要防止所有搜索引擎顯示您網(wǎng)站的快照,請將此元標記置入網(wǎng)頁<HEAD> 部分:
<meta name="robots" content="noarchive">
要允許其他搜索引擎顯示快照,但僅防止百度搜索引擎顯示,請使用以下標記:
<meta name="Baiduspider" content="noarchive">
google蜘蛛:googlebot
百度蜘蛛:baiduspider
搜狗蜘蛛:sogouspider
360蜘蛛:360Spider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛:lycos_spider_(t-rex)
alltheweb蜘蛛:fast-webcrawler/
inktomi蜘蛛:slurp
Robots協(xié)議并不是多么高級的技術(shù),而只是互聯(lián)網(wǎng)中一種各個機構(gòu)互相尊重的協(xié)議,好比私家花園的門口掛著“閑人免進”,尊重者繞道而行,不尊重者依然可以推門而入。目前,Robots協(xié)議在實際使用中,還存在一些無法解決的問題。
比如:robots.txt本身也是網(wǎng)站文件,也是需要抓取的,蜘蛛爬蟲出于效率考慮,一般不會每次抓取網(wǎng)站網(wǎng)頁之前都爬取一遍robots.txt,本來robots.txt更新就不頻繁。通常爬蟲的做法是先抓取一次,解析后緩存下來,而且是相當長的時間不會再次抓取robots.txt。假設網(wǎng)站管理員更新了robots.txt,修改了某些規(guī)則,但是對爬蟲來說并不會立刻生效,只有當爬蟲下次抓取robots.txt之后才能看到最新的內(nèi)容。尷尬的是,爬蟲下次抓取robots.txt的時間并不是由網(wǎng)站管理員控制的。所以,有些搜索引擎提供了web工具可以讓網(wǎng)站管理員通知搜索引擎那個url發(fā)生了變化,建議重新抓取。
注意,此處是建議,即使你通知了搜索引擎,搜索引擎何時抓取仍然是不確定的,只是比完全不通知要好點。至于好多少,那就看搜索引擎的良心和技術(shù)能力了。
在互聯(lián)網(wǎng)的大部分公司,有些爬蟲不太遵守或者完全忽略robots.txt,不排除開發(fā)人員能力的問題,比如說根本不知道robots.txt。另外,本身robots.txt不是一種強制措施,也根本沒有辦法強制阻止爬蟲抓取網(wǎng)站內(nèi)容,當然如果網(wǎng)站有數(shù)據(jù)需要保密,必須采取加密的技術(shù)措施,比如說:用戶驗證,內(nèi)容加密傳輸,ip白名單黑名單攔截,訪問頻率控制攔截等等技術(shù)手段來對惡意爬取進行規(guī)避。
在互聯(lián)網(wǎng)世界中,每天每時每刻都有不計其數(shù)的爬蟲在日夜不息地爬取數(shù)據(jù),其中惡意爬蟲的數(shù)量遠遠高于非惡意爬蟲。但是并不是每個爬蟲都會主動遵守Robots協(xié)議。
惡意爬蟲可以帶來很多潛在威脅,比如電商網(wǎng)站的商品信息被爬取可能會被競爭對手利用,過多的爬蟲還會占用帶寬資源、甚至導致網(wǎng)站宕機。
反惡意爬蟲是一件漫長而艱巨的任務,如果依靠自身實力難以解決,可以借助業(yè)務風險分析平臺來反惡意爬蟲,根據(jù)自己的需求來定制功能。而且對于惡意爬蟲是可以對其進行電子取證,如果有涉及到對自身網(wǎng)站有造成經(jīng)濟損失的,可以對惡意爬蟲所屬公司個人進行起訴要求賠償?shù)摹?/p>