網上發現的精典文章,發出來與大家分享:
網友eleven俊問:
1.robots.txt這個Disallow:後面一半怎麼寫(請舉例說明各種情況,越多越好)
2.robots.txt怎麼指明某個東西的未知,比如:網站地圖(請將具體的代碼寫好)
3.robots.txt在根目錄下怎麼看?根目錄在管理後台(發布跟新文章地方)就可以看,看是空間放源代碼文件得地方,這個我分不清楚,求教?
4.robots還拿哪些問題比較重要的,請寫下,感謝!
陳中平的回復:
robots.txt是在網站空間根目錄裡面。 給樓主提供一篇文章看看:
網站能不能被搜索引擎索引到,除了看有沒有向搜索引擎入口提交、有否與其他站點交換鏈接等之外,還得看根目錄底下的robots.txt文件有沒有禁止搜索引擎的收錄,這裡摘錄一些關於robots.txt文件的寫法備忘。
什麼是robots.txt文件
搜索引擎通過一種爬蟲spider程序(又稱搜索蜘蛛、robot、搜索機器人等),自動搜集互聯網上的網頁並獲取相關信息。
鑒於網絡安全與隱私的考慮,搜索引擎遵循robots.txt協議。通過在根目錄中創建的純文本文件robots.txt,網站可以聲明不想被robots訪問的部分。每個網站都可以自主控制網站是否願意被搜索引擎收錄,或者指定搜索引擎只收錄指定的內容。當一個搜索引擎的爬蟲訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果該文件不存在,那麼爬蟲就沿著鏈接抓取,如果存在,爬蟲就會按照該文件中的內容來確定訪問的范圍。
robots.txt必須放置在一個站點的根目錄下,而且文件名必須全部小寫。
robots.txt文件的寫法
robots.txt文件的格式
User-agent: 定義搜索引擎的類型
Disallow: 定義禁止搜索引擎收錄的地址
Allow: 定義允許搜索引擎收錄的地址
我們常用的搜索引擎類型有:
google蜘蛛:googlebot
百度蜘蛛:baiduspider
yahoo蜘蛛:slurp
alexa蜘蛛:ia_archiver
msn蜘蛛:msnbot
altavista蜘蛛:scooter
lycos蜘蛛:lycos_spider_(t-rex)
alltheweb蜘蛛:fast-webcrawler
inktomi蜘蛛: slurp
robots.txt文件的寫法
User-agent: * 這裡的*代表的所有的搜索引擎種類,*是一個通配符
Disallow: /admin/ 這裡定義是禁止爬尋admin目錄下面的目錄
Disallow: /require/ 這裡定義是禁止爬尋require目錄下面的目錄
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所有文件
User-agent: * 這裡的*代表的所有的搜索引擎種類,*是一個通配符
Allow: /cgi-bin/ 這裡定義是允許爬尋cgi-bin目錄下面的目錄
Allow: /tmp 這裡定義是允許爬尋tmp的整個目錄
Allow: .htm$ 僅允許訪問以".htm"為後綴的URL。
Allow: .gif$ 允許抓取網頁和gif格式圖片
robots.txt文件用法舉例
例1. 禁止所有搜索引擎訪問網站的任何部分
User-agent: *
Disallow: /
實例分析:淘寶網的 Robots.txt文件
User-agent: Baiduspider
Disallow: /
很顯然淘寶不允許百度的機器人訪問其網站下其所有的目錄。
例2. 允許所有的robot訪問 (或者也可以建一個空文件 “/robots.txt” file)
User-agent: *
Disallow:
例3. 禁止某個搜索引擎的訪問
User-agent: BadBot
Disallow: /
例4. 允許某個搜索引擎的訪問
User-agent: baiduspider
Disallow: 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/
Robots特殊參數:
允許 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: /*?$ 一行將允許包含任何以 ? 結尾的網址(具體而言,它將允許包含所有以您的域名開頭、後接任意字符串,然後是問號 (?),問號之後沒有任何字符的網址)。
Robots Meta標簽
Robots.txt文件主要是限制整個站點或者目錄的搜索引擎訪問情況,而Robots Meta標簽則主要是針對一個個具體的頁面。和其他的META標簽(如使用的語言、頁面的描述、關鍵詞等)一樣,Robots Meta標簽也是放在頁面的中,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內容。
Robots Meta標簽中沒有大小寫之分,name=”Robots”表示所有的搜索引擎,可以針對某個具體搜索引擎寫為name=”BaiduSpider”。content部分有四個指令選項:index、noindex、follow、nofollow,指令間以“,”分隔。
index指令告訴搜索機器人抓取該頁面;
follow指令表示搜索機器人可以沿著該頁面上的鏈接繼續抓取下去;
Robots Meta標簽的缺省值是index和follow,只有inktomi除外,對於它,缺省值是index、nofollow。
需要注意的是:上述的robots.txt和Robots Meta標簽限制搜索引擎機器人(ROBOTS)抓取站點內容的辦法只是一種規則,需要搜索引擎機器人的配合才行,並不是每個ROBOTS都遵守的。
目前看來,絕大多數的搜索引擎機器人都遵守robots.txt的規則,而對於RobotsMETA標簽,目前支持的並不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE還增加了一個指令“archive”,可以限制GOOGLE是否保留網頁快照。
Sitemap 網站地圖
對網站地圖的新的支持方式,就是在robots.txt文件裡直接包括sitemap文件的鏈接。就像這樣:Sitemap:http://www.czp168.cn/sitemap.xml
目前對此表示支持的搜索引擎公司有Google, Yahoo和MSN。不過,陳中平建議還是在Google Sitemap進行提交,裡面有很多功能可以分析你的鏈接狀態。