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