教你robots文件使用方法屏蔽搜索抓取方法

搜索引擎通過一種程序robot(又稱spider),自動訪問互聯網上的網頁並獲取網頁信息。
您可以在您的網站中創建一個純文本文件robots.txt,在這個文件中聲明該網站中不想被robot訪問的部分,這樣,該網站的部分或全部內容就可以不被搜索引擎收錄了,或者指定搜索引擎只收錄指定的內容。robots.txt文件應該放在網站根目錄下。
當一個搜索機器人(有的叫搜索蜘蛛)訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的範圍;如果該文件不存在,那麼搜索機器人就沿著鏈接抓取。
robots.txt文件的格式:
“robots.txt”文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:
“<field>:<optionalspace><value><optionalspace>”。

在該文件中可以使用#進行註解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,後面加上若干Disallow行,詳細情況如下:
User-agent:
該項的值用於描述搜索引擎robot的名字,在”robots.txt”文件中,如果有多條User-agent記錄說明有多個robot會受到該協議的限制,對該文件來說,至少要有一條User- agent記錄。如果該項的值設為*,則該協議對任何機器人均有效,在”robots.txt”文件中,”User-agent:*”這樣的記錄只能有一條。
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,該網站都是開放的。
robots.txt文件用法舉例:
例1.禁止所有搜索引擎訪問網站的任何部分下載該robots.txt文件User-agent: * Disallow: /
例2.允許所有的robot訪問(或者也可以建一個空文件“ /robots.txt” file) User-agent: *Disallow:
例3.禁止某個搜索引擎的訪問User-agent: BadBotDisallow: /
例4.允許某個搜索引擎的訪問User-agent: baiduspiderDisallow: User-agent: *Disallow: /
例5.一個簡單例子在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限制,即搜索引擎不會訪問這三個目錄。需要注意的是對每一個目錄必須分開聲明,而不要寫成“Disallow: /cgi-bin/ /tmp/”。User-agent:後的*具有特殊的含義,代表”any robot”,所以在該文件中不能有”Disallow: /tmp/*” or “Disallow:*.gif”這樣的記錄出現。User-agent: *Disallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/
Robot特殊參數:
1. Google
允許Googlebot:
如果您要攔截除Googlebot以外的所有漫遊器訪問您的網頁,可以使用下列語法:
User-agent:Disallow:/
User-agent:Googlebot
Disallow:
Googlebot跟隨指向它自己的行,而不是指向所有漫遊器的行。
“Allow”擴展名:
Googlebot可識別稱為”Allow”的robots.txt標準擴展名。其他搜索引擎的漫遊器可能無法識別此擴展名,因此請使用您感興趣的其他搜索引擎進行查找。”Allow”行的作用原理完全與”Disallow”行一樣。只需列出您要允許的目錄或頁面即可。
您也可以同時使用”Disallow”和”Allow”。例如,要攔截子目錄中某個頁面之外的其他所有頁面,可以使用下列條目:
User-Agent:Googlebot
Disallow:/folder1/
Allow:/folder1/myfile.html
這些條目將攔截folder1目錄內除myfile. html之外的所有頁面。
如果您要攔截Googlebot並允許Google的另一個漫遊器(如Googlebot-Mobile),可使用”Allow”規則允許該漫遊器的訪問。例如:
User-agent:Googlebot
Disallow:/
User-agent:Googlebot-Mobile
Allow:
使用*號匹配字符序列:
您可使用星號(*)來匹配字符序列。例如,要攔截對所有以private開頭的子目錄的訪問,可使用下列條目:
User-Agent:Googlebot
Disallow:/private*/
要攔截對所有包含問號(?)的網址的訪問,可使用下列條目:
User-agent:*
Disallow:/*?*
使用$匹配網址的結束字符
您可使用$字符指定與網址的結束字符進行匹配。例如,要攔截以.asp結尾的網址,可使用下列條目:
User-Agent:Googlebot
Disallow:/*.asp$
您可將此模式匹配與Allow指令配合使用。例如,如果?表示一個會話ID,您可排除所有包含該ID的網址,確保Googlebot不會抓取重複的網頁。但是,以?結尾的網址可能是您要包含的網頁版本。在此情況下,可對robots.txt文件進行如下設置:
User-agent:*
Allow:/*?$
Disallow:/*?
Disallow:/ *?一行將攔截包含?的網址(具體而言,它將攔截所有以您的域名開頭、後接任意字符串,然後是問號(?),而後又是任意字符串的網址)。
Allow: /*?$一行將允許包含任何以?結尾的網址(具體而言,它將允許包含所有以您的域名開頭、後接任意字符串,然後是問號(?),問號之後沒有任何字符的網址)。
Sitemap網站地圖:
對網站地圖的新的支持方式,就是在robots.txt文件裡直接包括sitemap文件的鏈接。
就像這樣:
Sitemap:http://www.eastsem.com/sitemap.xml
目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。
不過,我建議還是在Google Sitemap 進行提交,裡面有很多功能可以分析你的鏈接狀態。
分類