1. 什么是robots.txt文件?
搜索引擎使用spider法式自動(dòng)會(huì)見互聯(lián)網(wǎng)上的網(wǎng)頁并獲取網(wǎng)頁信息。spider在會(huì)見一個(gè)網(wǎng)站時(shí),會(huì)首先會(huì)檢查該網(wǎng)站的根域下是否有一個(gè)叫做 robots.txt的純文本文件,這個(gè)文件用于指定spider在您網(wǎng)站上的抓取規(guī)模。您可以在您的網(wǎng)站中建設(shè)一個(gè)robots.txt,在文件中聲明 該網(wǎng)站中不想被搜索引擎收錄的部門或者指定搜索引擎只收錄特定的部門。
請注重,僅當(dāng)您的網(wǎng)站包羅不希望被搜索引擎收錄的內(nèi)容時(shí),才需要使用robots.txt文件。若是您希望搜索引擎收錄網(wǎng)站上所有內(nèi)容,請勿建設(shè)robots.txt文件。
2. robots.txt文件放在那里?
robots.txt文件應(yīng)該放置在網(wǎng)站根目錄下。舉例來說,當(dāng)spider會(huì)見一個(gè)網(wǎng)站(好比 http://www.abc.com)時(shí),首先會(huì)檢查該網(wǎng)站中是否存在http://www.abc.com/robots.txt這個(gè)文件,若是 Spider找到這個(gè)文件,它就會(huì)憑證這個(gè)文件的內(nèi)容,來確定它會(huì)見權(quán)限的規(guī)模。
網(wǎng)站 URL |
響應(yīng)的 robots.txt的 URL |
http://www.w3.org/ |
http://www.w3.org/robots.txt |
http://www.w3.org:80/ |
http://www.w3.org:80/robots.txt |
http://www.w3.org:1234/ |
http://www.w3.org:1234/robots.txt |
http://w3.org/ |
http://w3.org/robots.txt |
若是其他網(wǎng)站鏈接了您robots.txt文件中設(shè)置的榨取收錄的網(wǎng)頁,那么這些網(wǎng)頁仍然可能會(huì)泛起在百度的搜索效果中,但您的網(wǎng)頁上的內(nèi)容不會(huì)被抓取、建入索引和顯示,百度搜索效果中展示的僅是其他網(wǎng)站對您相關(guān)網(wǎng)頁的形貌。
4. 榨取搜索引擎跟蹤網(wǎng)頁的鏈接,而只對網(wǎng)頁建索引
若是您不想搜索引擎追蹤此網(wǎng)頁上的鏈接,且不轉(zhuǎn)達(dá)鏈接的權(quán)重,請將此元標(biāo)志置入網(wǎng)頁的 部門:
<meta name="robots" content="nofollow">
若是您不想百度追蹤某一條特定鏈接,百度還支持更準(zhǔn)確的控制,請將此標(biāo)志直接寫在某條鏈接上:
<a href="signin.php" rel="nofollow">sign in</a>
要允許其他搜索引擎跟蹤,但僅防止百度跟蹤您網(wǎng)頁的鏈接,請將此元標(biāo)志置入網(wǎng)頁的部門:
<meta name="Baiduspider" content="nofollow">
5. 榨取搜索引擎在搜索效果中顯示網(wǎng)頁快照,而只對網(wǎng)頁建索引
要防止所有搜索引擎顯示您網(wǎng)站的快照,請將此元標(biāo)志置入網(wǎng)頁的部門:
<meta name="robots" content="noarchive">
要允許其他搜索引擎顯示快照,但僅防止百度顯示,請使用以下標(biāo)志:
<meta name="Baiduspider" content="noarchive">
注:此標(biāo)志只是榨取百度顯示該網(wǎng)頁的快照,百度會(huì)繼續(xù)為網(wǎng)頁建索引,并在搜索效果中顯示網(wǎng)頁摘要。
6. 我想榨取百度圖片搜索收錄某些圖片,該若何設(shè)置?
榨取Baiduspider抓取網(wǎng)站上所有圖片、榨取或允許Baiduspider抓取網(wǎng)站上的某種特命名堂的圖片文件可以通過設(shè)置robots實(shí)現(xiàn),請參考“robots.txt文件用法舉例”中的例10、11、12。
7. robots.txt文件的名堂
"robots.txt"文件包羅一條或更多的紀(jì)錄,這些紀(jì)錄通過空行脫離(以CR,CR/NL, or NL作為竣事符),每一條紀(jì)錄的名堂如下所示:
<field>:<optional space><value><optional space>
在該文件中可以使用#舉行注解,詳細(xì)使用要領(lǐng)和UNIX中的老例一樣。該文件中的紀(jì)錄通常以一行或多行User-agent起先,后面加上若干Disallow和Allow行,詳細(xì)情形如下:
User-agent:
該項(xiàng)的值用于形貌搜索引擎robot的名字。在"robots.txt"文件中,若是有多條User-agent紀(jì)錄說明有多個(gè)robot會(huì)受 到"robots.txt"的限制,對該文件來說,至少要有一條User-agent紀(jì)錄。若是該項(xiàng)的值設(shè)為*,則對任何robot均有用, 在"robots.txt"文件中,"User-agent:*"這樣的紀(jì)錄只能有一條。若是在"robots.txt"文件中,加入"User- agent:SomeBot"和若干Disallow、Allow行,那么名為"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:
該項(xiàng)的值用于形貌不希望被會(huì)見的一組URL,這個(gè)值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項(xiàng)的值開頭的URL不會(huì)被 robot會(huì)見。例如"Disallow:/help"榨取robot會(huì)見/help.html、/helpabc.html、/help /index.html,而"Disallow:/help/"則允許robot會(huì)見/help.html、/helpabc.html,不能會(huì)見 /help/index.html。"Disallow:"說明允許robot會(huì)見該網(wǎng)站的所有url,在"/robots.txt"文件中,至少要有一條Disallow紀(jì)錄。若是"/robots.txt"不存在或者為空文件,則對于所有的搜索引擎robot,該網(wǎng)站都是開放的。
Allow:
該項(xiàng)的值用于形貌希望被會(huì)見的一組URL,與Disallow項(xiàng)相似,這個(gè)值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項(xiàng)的值開頭 的URL 是允許robot會(huì)見的。例如"Allow:/hibaidu"允許robot會(huì)見/hibaidu.htm、/hibaiducom.html、 /hibaidu/com.html。一個(gè)網(wǎng)站的所有URL默認(rèn)是Allow的,以是Allow通常與Disallow搭配使用,實(shí)現(xiàn)允許會(huì)見一部門網(wǎng)頁同時(shí)榨取會(huì)見其它所有URL的功效。
需要稀奇注重的是Disallow與Allow行的順序是有意義的,robot會(huì)憑證*****個(gè)匹配樂成的Allow或Disallow行確定是否會(huì)見某個(gè)URL。
使用"*"and"$":
Baiduspider支持使用通配符"*"和"$"來模糊匹配url。
"$" 匹配行竣事符。
"*" 匹配0或多個(gè)恣意字符。
注:我們會(huì)嚴(yán)酷遵守robots的相關(guān)協(xié)議,請注重區(qū)分您不想被抓取或收錄的目錄的巨細(xì)寫,我們會(huì)對robots中所寫的文件和您不想被抓取和收錄的目錄做準(zhǔn)確匹配,否則robots協(xié)議無法生效。
8. URL匹配舉例
Allow或Disallow的值 |
URL |
匹配效果 |
/tmp |
/tmp |
yes |
/tmp |
/tmp.html |
yes |
/tmp |
/tmp/a.html |
yes |
/tmp |
/tmphoho |
no |
|
|
|
/Hello* |
/Hello.html |
yes |
/He*lo |
/Hello,lolo |
yes |
/Heap*lo |
/Hello,lolo |
no |
html$ |
/tmpa.html |
yes |
/a.html$ |
/a.html |
yes |
htm$ |
/a.html |
no |
9. robots.txt文件用法舉例
例1. 榨取所有搜索引擎會(huì)見網(wǎng)站的任何部門 |
User-agent: * Disallow: / |
例2. 允許所有的robot會(huì)見 (或者也可以建一個(gè)空文件 "/robots.txt") |
User-agent: * Allow: / |
例3. 僅榨取Baiduspider會(huì)見您的網(wǎng)站 |
User-agent: Baiduspider Disallow: / |
例4. 僅允許Baiduspider會(huì)見您的網(wǎng)站 |
User-agent: Baiduspider Allow: / User-agent: * Disallow: / |
例5. 僅允許Baiduspider以及Googlebot會(huì)見 |
User-agent: Baiduspider |
例6. 榨取spider會(huì)見特定目錄 在這個(gè)例子中,該網(wǎng)站有三個(gè)目錄對搜索引擎的會(huì)見做了限制,即robot不會(huì)會(huì)見這三個(gè)目錄。需要注重的是對每一個(gè)目錄必須脫離聲明,而不能寫成 "Disallow: /cgi-bin/ /tmp/"。 |
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例7. 允許會(huì)見特定目錄中的部門url |
User-agent: * Allow: /cgi-bin/see Allow: /tmp/hi Allow: /~joe/look Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~joe/ |
例8. 使用"*"限制會(huì)見url 榨取會(huì)見/cgi-bin/目錄下的所有以".htm"為后綴的URL(包羅子目錄)。 |
User-agent: * Disallow: /cgi-bin/*.htm |
例9. 使用"$"限制會(huì)見url 僅允許會(huì)見以".htm"為后綴的URL。 |
User-agent: * Allow: /*.htm$ Disallow: / |
例10. 榨取會(huì)見網(wǎng)站中所有的動(dòng)態(tài)頁面 |
User-agent: * Disallow: /*?* |
例11. 榨取Baiduspider抓取網(wǎng)站上所有圖片 僅允許抓取網(wǎng)頁,榨取抓取任何圖片。 |
User-agent: Baiduspider Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.gif$ Disallow: /*.png$ Disallow: /*.bmp$ |
例12. 僅允許Baiduspider抓取網(wǎng)頁和.gif名堂圖片 允許抓取網(wǎng)頁和gif名堂圖片,不允許抓取其他名堂圖片 |
User-agent: Baiduspider Allow: /*.gif$ Disallow: /*.jpg$ Disallow: /*.jpeg$ Disallow: /*.png$ Disallow: /*.bmp$ |
例13. 僅榨取Baiduspider抓取.jpg名堂圖片 |
User-agent: Baiduspider Disallow: /*.jpg$ |
10. robots.txt文件參考資料
robots.txt文件的更詳細(xì)設(shè)置,請參看以下鏈接:
Web Server Administrator's Guide to the Robots Exclusion Protocol
HTML Author's Guide to the Robots Exclusion Protocol
The original 1994 protocol description, as currently deployed
The revised Internet-Draft specification, which is not yet completed or implemented