新聞NEWS
網站的Robots規(guī)則如何寫才正確?
網站的Robots規(guī)則如何寫才正確?
Robots協(xié)議用來告知搜索引擎哪些頁面能被抓取,哪些頁面不能被抓?。豢梢云帘我恍┚W站中比較大的文件,如:圖片,音樂,視頻等,節(jié)省服務器帶寬;可以屏蔽站點的一些死鏈接。方便搜索引擎抓取網站內容;設置網站地圖連接,方便引導蜘蛛爬取頁面。下面是Robots文件寫法及文件用法。
一、文件寫法
User-agent: * 這里的*代表的所有的搜索引擎種類,*是一個通配符
Disallow: /admin/ 這里定義是禁止爬尋admin目錄下面的目錄
Disallow: /require/ 這里定義是禁止爬尋require目錄下面的目錄
Disallow: /ABC/ 這里定義是禁止爬尋ABC目錄下面的目錄
Disallow: /cgi-bin/*.htm 禁止訪問/cgi-bin/目錄下的所有以".htm"為后綴的URL(包含子目錄)。
Disallow: /*?* 禁止訪問網站中所有包含問號 (?) 的網址
Disallow: /.jpg$ 禁止抓取網頁所有的。jpg格式的圖片
Disallow:/ab/adc.html 禁止爬取ab文件夾下面的adc.html文件。
Allow: /cgi-bin/ 這里定義是允許爬尋cgi-bin目錄下面的目錄
Allow: /tmp 這里定義是允許爬尋tmp的整個目錄
Allow: .htm$ 僅允許訪問以".htm"為后綴的URL。
Allow: .gif$ 允許抓取網頁和gif格式圖片
Sitemap: 網站地圖 告訴爬蟲這個頁面是網站地圖
二、文件用法
例1. 禁止所有搜索引擎訪問網站的任何部分
User-agent: *
Disallow: /
實例分析:淘寶網的 Robots.txt文件
User-agent: Baiduspider
Disallow: /
User-agent: baiduspider
Disallow: /
很顯然淘寶不允許百度的機器人訪問其網站下其所有的目錄。
例2. 允許所有的robot訪問 (或者也可以建一個空文件 “/robots.txt” file)
User-agent: *
Allow: /
例3. 禁止某個搜索引擎的訪問
User-agent: BadBot
Disallow: /
例4. 允許某個搜索引擎的訪問
User-agent: Baiduspider
allow:/
例5.一個簡單例子
在這個例子中,該網站有三個目錄對搜索引擎的訪問做了限制,即搜索引擎不會訪問這三個目錄。
需要注意的是對每一個目錄必須分開聲明,而不要寫成 “Disallow: /cgi-bin/ /tmp/”。
User-agent:后的*具有特殊的含義,代表“any robot”,所以在該文件中不能有“Disallow: /tmp/*” or “Disallow:*.gif”這樣的記錄出現(xiàn)。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
Robot特殊參數(shù):
允許 Googlebot:
如果您要攔截除Googlebot以外的所有漫游器不能訪問您的網頁,可以使用下列語法:
User-agent:
Disallow: /
User-agent: Googlebot
Disallow:
Googlebot 跟隨指向它自己的行,而不是指向所有漫游器的行。
“Allow”擴展名:
Googlebot 可識別稱為“Allow”的 robots.txt 標準擴展名。其他搜索引擎的漫游器可能無法識別此擴展名,因此請使用您感興趣的其他搜索引擎進行查找?!癆llow”行的作用原理完全與“Disallow”行一樣。只需列出您要允許的目錄或頁面即可。
您也可以同時使用“Disallow”和“Allow”。例如,要攔截子目錄中某個頁面之外的其他所有頁面,可以使用下列條目:
User-agent: Googlebot
Allow: /folder1/myfile.html
Disallow: /folder1/
這些條目將攔截 folder1 目錄內除 myfile.html 之外的所有頁面。
如果您要攔截 Googlebot 并允許 Google 的另一個漫游器(如 Googlebot-Mobile),可使用”Allow”規(guī)則允許該漫游器的訪問。例如:
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: /*?$ 一行將允許包含任何以 ? 結尾的網址(具體而言,它將允許包含所有以您的域名開頭、后接任意字符串,然后是問號 (?),問號之后沒有任何字符的網址)。
Robots協(xié)議舉例
禁止所有機器人訪問User-agent:*Disallow:/
允許所有機器人訪問User-agent:*Disallow:
禁止特定機器人訪問User-agent:BadBotDisallow:/
允許特定機器人訪問User-agent:GoodBotDisallow:
禁止訪問特定目錄User-agent:*Disallow:/images/
僅允許訪問特定目錄User-agent:*Allow:/images/Disallow:/
禁止訪問特定文件User-agent:*Disallow:/*.html$
僅允許訪問特定文件User-agent:*Allow:/*.html$Disallow:/
盡管robots.txt已經存在很多年了,但是各大搜索引擎對它的解讀都有細微差別。Google與百度都分別在自己的站長工具中提供了robots工具。如果您編寫了robots.txt文件,建議您在這兩個工具中都進行測試,因為這兩者的解析實現(xiàn)確實有細微差別。
更多青晟網絡資訊請登錄官方網站:http://www.qmvip.net或者http://www.icbiesd.com