Robots協議(也稱為爬蟲協議、機器人協議等)的全稱是“網絡爬蟲排除標準”(Robots Exclusion Protocol),網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。
Robots.txt文件的重要性
robots.txt是搜索引擎蜘蛛訪問網站時要查看的第一個文件,并且會根據robots.txt文件的內容來爬行網站。在某種意義上說,它的一個任務就是指導蜘蛛爬行,減少搜索引擎蜘蛛的工作量。
當搜索引擎蜘蛛訪問網站時,它會首先檢查該站點根目錄下是否存在robots.txt文件,如果該文件存在,搜索引擎蜘蛛就會按照該文件中的內容來確定爬行的范圍;如果該文件不存在,則所有的搜索引擎蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。
通常搜索引擎對網站派出的蜘蛛是有配額的,多大規模的網站放出多少蜘蛛。如果我們不配置robots文件,那么蜘蛛來到網站以后會無目的的爬行,造成的一個結果就是,需要它爬行的目錄,沒有爬行到,不需要爬行的,也就是我們不想被收錄的內容卻被爬行并放出快照。所以robots文件對于我們做網站優化來說具有很重要的影響。
網站沒有Robots.txt文件的弊端
如果網站中沒有robots.txt文件,則網站中的程序腳本、樣式表等一些和網站內容無關的文件或目錄即使被搜索引擎蜘蛛爬行,也不會增加網站的收錄率和權重,只會浪費服務器資源;
搜索引擎派出的蜘蛛資源也是有限的,我們要做的應該是盡量讓蜘蛛爬行網站重點文件、目錄,最大限度的節約蜘蛛資源。
Robots.txt文件的存放位置
網站根目錄下,通過“域名/robots.txt”能正常訪問即可,如http://域名/robots.txt
Robots.txt文件的寫法
User-agent:%20*%20*代表所有搜索引擎,也可指定搜索引擎,如指定百度,User-agent:%20BaiduspiderDisallow:%20/a/%20這里定義是禁止抓取a目錄下面的所有內容Disallow:%20/cgi-bin/*.htm%20禁止訪問/cgi-bin/目錄下的所有以”.htm”為后綴的URL(包含子目錄)Disallow:%20/*?*%20禁止訪問網站中所有包含問號%20(?)%20的網址Disallow:%20/.jpg$ 禁止抓取網頁所有的.jpg格式的圖片Disallow:/ab/adc.html 禁止爬取ab文件夾下面的adc.html文件。Allow: /cgi-bin/a/ 這里定義是允許爬尋cgi-bin目錄下面的a目錄Allow: /tmp 這里定義是允許爬尋tmp的整個目錄Allow: .htm$ 允許訪問以”.htm”為后綴的URL。Allow: .gif$ 允許抓取網頁和gif格式圖片Sitemap: 網站地圖,告訴爬蟲這個頁面是網站地圖
迪思網站托管建議的robots文件書寫方式
User-agent: *
Disallow: /i*/
Disallow: /a*d/
Disallow: /*.php
Disallow: /*/*.php
Disallow: /*/list*.html
Allow: /img/
Sitemap: https://域名/sitemap.xml
迪思網站托管Robots.txt文件的說明
User-agent: *
(注釋:這里的*代表所有的搜索引擎種類,*是一個通配符;當然你也可以針對某個搜索引擎,如User-agent: Baiduspider、User-Agent: 360Spider、User-Agent: Sogouspider。)
Disallow: /i*/
(注釋:Disallow為禁止爬行,如果需要禁止蜘蛛爬行images目錄,可以寫為Disallow: /images/ ;推薦本站采用的寫法,Disallow: /i*/,可以在一定程度上提高網站的安全性,如果寫成Disallow: /images/可能會暴露網站后臺文件路徑,特別是管理路徑。采用通配符的寫法需要注意一點,i*代表所有以w開頭的目錄。)
Disallow: /a*d/
(注釋:禁止爬行所有以字母a開始、以字母d結束的目錄,如/abd/、/acd/、/abcd/,這種寫法也是出于安全考慮。)
Disallow: /*.php
(注釋:禁止爬行根目錄下的所有以.php結尾的文件,實際情況可以根據你所使用的網站程序來決定。)
Disallow: /*/*.php
(注釋:禁止爬行所有目錄下的所有以.php結尾的文件。)
Disallow: /*/list*.html
(注釋:網站欄目文章多的時候會有分頁,如第1頁、第2頁……,如果需要禁止爬行分頁,假設分頁URL為www.xxx.com/news/list_1_32.html,我們可以采取Disallow: /*/list*.html這種寫法來禁止爬行所有目錄下的所有分頁。)
Allow: /img/
(注釋:Allow代表允許爬行。Disallow: /i*/為禁止爬行所有以i開頭的目錄,但是我們需要讓蜘蛛爬行img這個目錄,可以采用Allow: /img/這種寫法。)