全訊網整理瞭幾點關於SEO網站優化中robots.txt文件的認識與合理應用:
1、什麼是robots.txt?
robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件。Robots.txt文件告訴蜘蛛程序在服務器上什麼文件是可以被查看的。
當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。
robots.txt必須放置在一個站點的根目錄下,而且文件名必須全部小寫。
語法:最簡單的robots.txt文件使用兩條規則:
?User-Agent:適用下列規則的漫遊器
?Disallow:要攔截的網頁
2、robots.txt文件重要屬性認識?
“robots.txt”文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:
“<field>:<optionalspace><value><optionalspace>”。
在該文件中可以使用#進行註解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,後面加上若幹Disallow行,詳細情況如下:
A、User-agent:
該項的值用於描述搜索引擎robot的名字,在”robots.txt”文件中,如果有多條User- agent記錄說明有多個robot會受到該協議的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則該協議對任何機器人均有效,在”robots.txt”文件中,”User-agent:*”這樣的記錄隻能有一條。
B、Disallow:
該項的值用於描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被robot訪問到。例如”Disallow:/help”對/help.html和/help/index.html都不允許搜索引擎訪問,而”Disallow:/help/”則允許robot訪問/help.html,而不能訪問/help/index.html。任何一條Disallow記錄為空,說明該網站的所有部分都允許被訪問,在”/robots.txt”文件中,至少要有一條Disallow記錄。如果”/robots.txt”是一個空文件,則對於所有的搜索引擎robot,該網站都是開放的。
3、robots.txt基本介紹
robots.txt是一個純文本文件,在這個文件中網站管理者可以聲明該網站中不想被robots訪問的部分,或者指定搜索引擎隻收錄指定的內容。
當一個搜索機器人(有的叫搜索蜘蛛)訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,那麼搜索機器人就沿著鏈接抓取。
另外,robots.txt必須放置在一個站點的根目錄下,而且文件名必須全部小寫。
robots.txt寫作語法
首先,我們來看一個robots.txt范例:http://www.4imarketing.com.hk/robots.txt
訪問以上具體地址,我們可以看到robots.txt的具體內容如下:
# Robots.txt file from http://www.4imarketing.com.hk/p>
# All robots will spider the domain
User-agent: *
Disallow:
以上文本表達的意思是允許所有的搜索機器人訪問www.seovip.cn站點下的所有文件。
具體語法分析:其中#後面文字為說明信息;User-agent:後面為搜索機器人的名稱,後面如果是*,則泛指所有的搜索機器人;Disallow:後面為不允許訪問的文件目錄。
下面,我將列舉一些robots.txt的具體用法:
a、允許所有的robot訪問
User-agent: *
Disallow:
或者也可以建一個空文件"/robots.txt" file
b、禁止所有搜索引擎訪問網站的任何部分
User-agent: *
Disallow: /
c、禁止所有搜索引擎訪問網站的幾個部分(下例中的01、02、03目錄)
User-agent: *
Disallow: /01/
Disallow: /02/
Disallow: /03/
d、禁止某個搜索引擎的訪問(下例中的BadBot)
User-agent: BadBot
Disallow: /
e、隻允許某個搜索引擎的訪問(下例中的Crawler)
User-agent: Crawler
Disallow:
User-agent: *
Disallow: /
4、robots meta的寫法介紹
Robots META標簽則主要是針對一個個具體的頁面。和其他的META標簽(如使用的語言、頁面的描述、關鍵詞等)一樣,Robots META標簽也是放在頁面的<head></head>中,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內容。
A、Robots META標簽的寫法:
Robots META標簽中沒有大小寫之分,name=”Robots”表示所有的搜索引擎,可以針對某個具體搜索引擎寫為name=”BaiduSpider”。content部分有四個指令選項:index、noindex、follow、nofollow,指令間以“,”分隔。
INDEX指令告訴搜索機器人抓取該頁面;
FOLLOW指令表示搜索機器人可以沿著該頁面上的鏈接繼續抓取下去;
Robots Meta標簽的缺省值是INDEX和FOLLOW,隻有inktomi除外,對於它,缺省值是INDEX,NOFOLLOW。
B、這樣,一共有四種組合:
<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">
目前看來,絕大多數的搜索引擎機器人都遵守robots.txt的規則,而對於Robots META標簽,目前支持的並不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE還增加瞭一個指令“archive”,可以限制GOOGLE是否保留網頁快照。例如:
<META NAME="googlebot" CONTENT="index,follow,noarchive">
表示抓取該站點中頁面並沿著頁面中鏈接抓取,但是不在GOOLGE上保留該頁面的網頁快照。
5、robots.txt使用誤區
誤區一:我的網站上的所有文件都需要蜘蛛抓取,那我就沒必要在添加robots.txt文件瞭。反正如果該文件不存在,所有的搜索蜘蛛將默認能夠訪問網站上所有沒有被口令保護的頁面。
每當用戶試圖訪問某個不存在的URL時,服務器都會在日志中記錄404錯誤(無法找到文件)。每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日志中記錄一條404錯誤,所以你應該做網站中添加一個robots.txt。
誤區二:在robots.txt文件中設置所有的文件都可以被搜索蜘蛛抓取,這樣可以增加網站的收錄率。
網站中的程序腳本、樣式表等文件即使被蜘蛛收錄,也不會增加網站的收錄率,還隻會浪費服務器資源。因此必須在robots.txt文件裡設置不要讓搜索蜘蛛索引這些文件。
具體哪些文件需要排除,在robots.txt使用技巧一文中有詳細介紹。
誤區三:搜索蜘蛛抓取網頁太浪費服務器資源,在robots.txt文件設置所有的搜索蜘蛛都不能抓取全部的網頁。
如果這樣的話,會導致整個網站不能被搜索引擎收錄。
6、robots.txt使用技巧
A.每當用戶試圖訪問某個不存在的URL時,服務器都會在日志中記錄404錯誤(無法找到文件)。每當搜索蜘蛛來尋找並不存在的robots.txt文件時,服務器也將在日志中記錄一條404錯誤,所以你應該在網站中添加一個robots.txt。
B.網站管理員必須使蜘蛛程序遠離某些服務器上的目錄——保證服務器性能。比如:大多數網站服務器都有程序儲存在“cgi-bin”目錄下,因此在robots.txt文件中加入“Disallow: /cgi-bin”是個好主意,這樣能夠避免將所有程序文件被蜘蛛索引,可以節省服務器資源。一般網站中不需要蜘蛛抓取的文件有:後臺管理文件、程序腳本、附件、數據庫文件、編碼文件、樣式表文件、模板文件、導航圖片和背景圖片等等。
下面是VeryCMS裡的robots.txt文件:
User-agent: *
Disallow: /admin/後臺管理文件
Disallow: /require/程序文件
Disallow: /attachment/附件
Disallow: /images/圖片
Disallow: /data/數據庫文件
Disallow: /template/模板文件
Disallow: /css/樣式表文件
Disallow: /lang/編碼文件
Disallow: /script/腳本文件
C.如果你的網站是動態網頁,並且你為這些動態網頁創建瞭靜態副本,以供搜索蜘蛛更容易抓取。那麼你需要在robots.txt文件裡設置避免動態網頁被蜘蛛索引,以保證這些網頁不會被視為含重復內容。
D. robots.txt文件裡還可以直接包括在sitemap文件的鏈接。就像這樣:
Sitemap: http://www.4imarketing.com.hk/sitemap.xml
目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,顯然不在這個圈子內。這樣做的好處就是,站長不用到每個搜索引擎的站長工具或者相似的站長部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就會抓取robots.txt文件,讀取其中的sitemap路徑,接著抓取其中相鏈接的網頁。
E.合理使用robots.txt文件還能避免訪問時出錯。比如,不能讓搜索者直接進入購物車頁面。因為沒有理由使購物車被收錄,所以你可以在robots.txt文件裡設置來阻止搜索者直接進入購物車頁面。
本文參考:http://www.4imarketing.com.hk/news.asp?id=180


