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

核心提示:SEO可以自由的控制蜘蛛訪問網站的內容,這都可以通過robots文件發出指令,搜索引擎基本都是遵照robots協議的,也有SEO曾經利用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: /sitemap.xml

目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。

不過,我建議還是在Google Sitemap 進行提交,裡面有很多功能可以分析你的鏈接狀態。

更多精彩點擊下一頁