索引限制文件robots.txt使用說(shuō)明
一、robots.txt的作用
robots.txt的作用就是告訴搜索引擎哪些內(nèi)容不要索引,一般為了實(shí)現(xiàn)如下目的而使用:
(1)禁止搜索引擎索引系統(tǒng)文件,后臺(tái)文件,模板文件,背景圖片。這樣做一方面可以防止搜索引擎收錄很多無(wú)關(guān)內(nèi)容,另外可以降低搜索引擎蜘蛛抓取網(wǎng)站時(shí)消耗的資源
(2)禁止搜索引擎收錄需要保密的文件,或者是隱私內(nèi)容。不過(guò)值得注意的是,robots.txt只能告訴搜索引擎不收錄這些內(nèi)容,但是并不能防止這些內(nèi)容被訪問(wèn),如果是重要信息最好是設(shè)置密碼。
(3)網(wǎng)址規(guī)范化方面的應(yīng)用。啟用偽靜態(tài)的網(wǎng)站,一般同時(shí)存在至少兩套網(wǎng)址,一套是rewrite之后的靜態(tài)地址,一套是原始的動(dòng)態(tài)地址,如果不限制,搜索引擎可能會(huì)收錄大量的重復(fù)內(nèi)容。為了方式這種情況,可以將動(dòng)態(tài)格式的地址禁止索引。
二、robots.txt的語(yǔ)法:
我們要在虛擬空間的網(wǎng)站目錄(Windows虛擬主機(jī)在/htdocs下,Linux虛擬主機(jī)在根目錄下)建立robots.txt文件,里面包含的語(yǔ)法如下:
User-agent: 該項(xiàng)的值用于描述搜索引擎蜘蛛的名字。如果該項(xiàng)的值設(shè)為*,則該協(xié)議對(duì)任何機(jī)器人均有效。
Disallow: 該項(xiàng)的值用于描述不希望被訪問(wèn)到的一個(gè)URL,一個(gè)目錄或者整個(gè)網(wǎng)站。以Disallow 開頭的URL 均不會(huì)被搜索引擎蜘蛛訪問(wèn)到。任何一條Disallow 記錄為空,說(shuō)明該網(wǎng)站的所有部分都允許被訪問(wèn)。
三、robots.txt使用例子:
例1. 禁止所有搜索引擎訪問(wèn)網(wǎng)站的任何部分
User-agent: *
Disallow: /
例2. 允許所有的robots訪問(wèn) (或者也可以建一個(gè)空文件 “/robots.txt” file)
User-agent: *
Allow:
例3. 禁止某個(gè)搜索引擎的訪問(wèn)(禁止BaiDuSpider)
User-agent: BaiDuSpider
Disallow: /
例4. 允許某個(gè)搜索引擎的訪問(wèn)
User-agent: Baiduspider
allow:/
例5.禁止二個(gè)目錄搜索引擎訪問(wèn)
User-agent: *
Disallow: /admin/
Disallow: /install/
例6. 僅允許Baiduspider以及Googlebot訪問(wèn)
User-agent: Baiduspider
Allow: /
User-agent: Googlebot
Allow: /
User-agent: *
Disallow: /
例7. 禁止百度搜索引擎抓取你網(wǎng)站上的所有圖片
User-agent: Baiduspider
Disallow: /*.jpg$
Disallow: /*.jpeg$
Disallow: /*.gif$
Disallow: /*.png$
Disallow: /*.bmp$
四、robots.txt使用技巧
(1)每當(dāng)用戶試圖訪問(wèn)某個(gè)不存在的URL時(shí),服務(wù)器都會(huì)在日志中記錄404錯(cuò)誤(無(wú)法找到文件)。每當(dāng)搜索蜘蛛來(lái)尋找并不存在的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ǔ)存在“htdocs”目錄下,因此在 robots.txt文件中加入“Disallow: / htdocs”是個(gè)好主意,這樣能夠避免將所有程序文件被蜘蛛索引,可以節(jié)省服務(wù)器資源。一般網(wǎng)站中不需要蜘蛛抓取的文件有:后臺(tái)管理文件、程序腳本、附件、數(shù)據(jù)庫(kù)文件、編碼文件、樣式表文件、模板文件、導(dǎo)航圖片和背景圖片等等。
下面是VeryCMS里的robots.txt文件:
User-agent: *
Disallow: /admin/ 后臺(tái)管理文件
Disallow: /require/ 程序文件
Disallow: /attachment/ 附件
Disallow: /images/ 圖片
Disallow: /data/ 數(shù)據(jù)庫(kù)文件
Disallow: /template/ 模板文件
Disallow: /css/ 樣式表文件
Disallow: /lang/ 編碼文件
Disallow: /script/ 腳本文件
(3)如果你的網(wǎng)站是動(dòng)態(tài)網(wǎng)頁(yè),并且你為這些動(dòng)態(tài)網(wǎng)頁(yè)創(chuàng)建了靜態(tài)副本,以供搜索蜘蛛更容易抓取。那么你需要在robots.txt文件里設(shè)置避免動(dòng)態(tài)網(wǎng)頁(yè)被蜘蛛索引,以保證這些網(wǎng)頁(yè)不會(huì)被視為含重復(fù)內(nèi)容。
(4)robots.txt文件里還可以直接包括在sitemap文件的鏈接。就像這樣:
Sitemap: http://www.***.com/sitemap.xml (此處請(qǐng)?zhí)顚懲暾?/span>URL,如果按習(xí)慣填寫Sitemap: /sitemap.xml,提交后會(huì)提示:檢測(cè)到無(wú)效的 Sitemap 網(wǎng)址;語(yǔ)法錯(cuò)誤)
目前對(duì)此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,顯然不在這個(gè)圈子內(nèi)。這樣做的好處就是,站長(zhǎng)不用到每個(gè)搜索引擎的站長(zhǎng)工具或者相似的站長(zhǎng)部分,去提交自己的sitemap 文件,搜索引擎的蜘蛛自己就會(huì)抓取robots.txt文件,讀取其中的sitemap路徑,接著抓取其中相鏈接的網(wǎng)頁(yè)。
(5)合理使用robots.txt文件還能避免訪問(wèn)時(shí)出錯(cuò)。比如,不能讓搜索者直接進(jìn)入購(gòu)物車頁(yè)面。因?yàn)闆](méi)有理由使購(gòu)物車被收錄,所以你可以在robots.txt文件里設(shè)置來(lái)阻止搜索者直接進(jìn)入購(gòu)物車頁(yè)面。
五、robots.txt使用誤區(qū)
誤區(qū)一:我網(wǎng)站上所有的文件都需要被蜘蛛抓取,那我就沒(méi)必要添加robots.txt文件了。反正如果該文件不存在,所有的搜索蜘蛛將默認(rèn)能夠訪問(wèn)網(wǎng)站上所有沒(méi)有被口令保護(hù)的頁(yè)面。
每當(dāng)用戶試圖訪問(wèn)某個(gè)不存在的URL時(shí),服務(wù)器都會(huì)在日志中記錄404錯(cuò)誤文件(無(wú)法找到文件)。每當(dāng)搜索蜘蛛來(lái)尋找并不存在的robots.txt文件時(shí),服務(wù)器也將在日志中記錄一條404錯(cuò)誤文件,所以你應(yīng)該在網(wǎng)站中添加一個(gè)robots.txt。
誤區(qū)二:在robots.txt文件中設(shè)置所有的文件都可以被搜索蜘蛛抓取,這樣可以增加網(wǎng)站的收錄率。
網(wǎng)站中的腳本程序、樣式表等文件即使被蜘蛛收錄,也不會(huì)增加網(wǎng)站的收錄率,還只會(huì)占用服務(wù)器存儲(chǔ)空間。因此必須在robots.txt文件里設(shè)置不要讓搜索蜘蛛索引腳本程序、樣式表等文件,具體哪些文件需要排除,在robots.txt使用技巧一文中有詳細(xì)介紹。
誤區(qū)三:搜索蜘蛛抓取網(wǎng)頁(yè)太浪費(fèi)服務(wù)器資源,在robots.txt文件中設(shè)置所有的搜索蜘蛛都不能抓取全部的網(wǎng)頁(yè)。
如果這樣的話,會(huì)導(dǎo)致整個(gè)網(wǎng)站不能被搜索引擎收錄。