2010年8月23日 星期一

Robots語法

User-agent:指定檢索程式的種類。
Allow:允許檢索的項目。
Disallow:禁止檢索的項目。
$:從後面往前的萬用字元,用來指定檔案類型用的。
*:從前面往後的萬用字元,用來指定目錄或檔名用的。
Sitemap:用來指定Sitemap的名稱。
User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content
Disallow: /trackback
Disallow: /feed
Disallow: /comments
Disallow: /category
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Allow: /wp-content/uploads

robots.txt文件用法舉例
例1. 禁止所有搜索引擎訪問網站的任何部分   下載該robots.txt文件 User-agent: *   Disallow: /
例2. 允許所有的robot訪問   (或者也可以建一個空文件 "/robots.txt") User-agent: *   Disallow:   或者   User-agent: *   Allow: /
例3. 僅禁止Baiduspider訪問您的網站 User-agent: Baiduspider   Disallow: /
例4. 僅允許Baiduspider訪問您的網站 User-agent: Baiduspider   Disallow:   User-agent: *   Disallow: /
例5. 禁止spider訪問特定目錄   在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限制,即robot不會訪問這三個目錄。需要注意的是對每一個目錄必須分開聲明,而不能寫成 "Disallow: /cgi-bin/ /tmp/"。 User-agent: *   Disallow: /cgi-bin/   Disallow: /tmp/   Disallow: /~joe/
例6. 允許訪問特定目錄中的部分url User-agent: *   Allow: /cgi-bin/see   Allow: /tmp/hi   Allow: /~joe/look   Disallow: /cgi-bin/   Disallow: /tmp/   Disallow: /~joe/
例7. 使用"*"限制訪問url   禁止訪問/cgi-bin/目錄下的所有以".htm"為後綴的URL(包含子目錄)。 User-agent: *   Disallow: /cgi-bin/*.htm
例8. 使用"$"限制訪問url   僅允許訪問以".htm"為後綴的URL。 User-agent: *   Allow: .htm$   Disallow: /
例9. 禁止訪問網站中所有的動態頁面 User-agent: *   Disallow: /*?*
例10. 禁止Baiduspider抓取網站上所有圖片   僅允許抓取網頁,禁止抓取任何圖片。 User-agent: Baiduspider   Disallow: .jpg$   Disallow: .jpeg$   Disallow: .gif$   Disallow: .png$   Disallow: .bmp$
例11. 僅允許Baiduspider抓取網頁和.gif格式圖片   允許抓取網頁和gif格式圖片,不允許抓取其他格式圖片 User-agent: Baiduspider   Allow: .gif$   Disallow: .jpg$   Disallow: .jpeg$   Disallow: .png$   Disallow: .bmp$
例12. 僅禁止Baiduspider抓取.jpg格式圖片 User-agent: Baiduspider   Disallow: .jpg$


如何使用元標記攔截對您網站的訪問?


將以下元標記添加到網頁的 head 部分:
meta name="robots" content="noindex"


例如要允許其他搜索引擎將網站中的網頁編入索引,僅阻止 Google 的爬蟲對網頁採取同樣操作,請將以下元標記添加到網頁的head部分:
meta name="googlebot" content="noindex"


robots.txt 語法規則,這裡以google搜索引擎為例

最簡單的 robots.txt 文件使用兩條規則:
User-agent:應用以下規則的漫遊器
Disallow:要攔截的網址
這兩行會視為文件中的一個條目。您可根據需要加入任意多個條目。您可在一個條目中加入多個 Disallow 行和多個 User-agent。

robots.txt 文件的各個部分都是獨立的,而不是在先前部分的基礎上構建的。例如:

User-agent: *
Disallow: /文件夾 1/
User-Agent: Googlebot
Disallow: /文件夾 2/
在本例中,只有符合 /文件夾 2/ 的網址才會被 Googlebot 禁止。



攔截 User-agent

Disallow 行列出的是您要攔截的網頁。您可以列出某一特定的網址或模式。條目應以正斜線 (/) 開頭。
要攔截整個網站,請使用正斜線。
Disallow: /
要攔截某一目錄以及其中的所有內容,請在目錄名後添加正斜線。
Disallow: /無用目錄/
要攔截某個網頁,請列出該網頁。
Disallow: /私人文件.html
要從 Google 圖片中刪除特定圖片,請添加以下內容:
User-agent: Googlebot-Image
Disallow: /圖片/狗.jpg
要從 Google 圖片中 除您網站上的所有圖片,請執行以下指令:
User-agent: Googlebot-Image
Disallow: /
要攔截某一特定文件類型的文件(例如 .gif),請使用以下內容:
User-agent: Googlebot
Disallow: /*.gif$
要阻止抓取您網站上的網頁,而同時又能在這些網頁上顯示 Adsense 廣告,請禁止除 Mediapartners-Google 以外的所有漫遊器。這樣可使網頁不出現在搜索結果中,同時又能讓 Mediapartners-Google 漫遊器分析網頁,從而確定要展示的廣告。Mediapartners-Google 漫遊器不與其他 Google User-agent 共享網頁。例如:
User-agent: *
Disallow: /
User-agent: Mediapartners-Google
Allow: /
請注意,指令區分大小寫。例如,Disallow: /junk_file.asp 會攔截 http://www.example.com/junk_file.asp,卻會允許 http://www.example.com/Junk_file.asp。Googlebot 會忽略 robots.txt 中的空白內容(特別是空行)和未知指令。
Googlebot 支持通過 robots.txt 文件提交站點地圖文件。

返回頂部

模式匹配

Googlebot(但並非所有搜索引擎)遵循某些模式匹配原則。
要匹配連續字符,請使用星號 (*)。例如,要攔截對所有以 private 開頭的子目錄的訪問,請使用以下內容:

User-agent: Googlebot
Disallow: /private*/
要攔截對所有包含問號 (?) 的網址的訪問(具體地說,這種網址以您的域名開頭、後接任意字符串,然後接問號,而後又接任意字符串),請使用以下內容:
User-agent: Googlebot
Disallow: /*?
要指定與某個網址的結尾字符相匹配,請使用 $。例如,要攔截以 .xls 結尾的所有網址,請使用以下內容:
User-agent: Googlebot
Disallow: /*.xls$
您可將此模式匹配與 Allow 指令配合使用。例如,如果 ? 代表一個會話 ID,那麼您可能希望排除包含 ? 的所有網址,以確保 Googlebot 不會抓取重複網頁。但是以 ? 結尾的網址可能是您希望包含在內的網頁的版本。在此情況下,您可以對您的 robots.txt 文件進行如下設置:
User-agent: *
Allow: /*?$
Disallow: /*?Disallow: /*?
指令會阻止包含 ? 的所有網址(具體地說,它將攔截所有以您的域名開頭、後接任意字符串,然後接問號,而後又接任意字符串的網址)。
Allow: /*?$ 指令將允許以 ? 結尾的任何網址(具體地說,它將允許所有以您的域名開頭、後接任意字符串,然後接 ?,? 之後不接任何字符的網址)。

在線生成robots http://www.robotstxt.com.cn/