robots.txt和Robots META標簽
筆者:平文勝
我們曉得,搜索引擎網站都有自個兒的『搜索機器人』(ROBOTS),並經過這些個ROBOTS在網絡上沿著網頁上的鏈接(普通是http和src鏈接)不斷抓取資料樹立自個兒的數值庫。 對於網站管理者和內部實質意義供給者來說,有時會有一點站點內部實質意義,不期望被ROBOTS抓取而公開。為理解決這個問題,ROBOTS研發界供給了兩個方法:一個是robots.txt,另一個是The Robots META標簽。
一、 robots.txt
1、 啥子是robots.txt?
robots.txt是一個純文本文件,經過在這個文件中聲明該網站中沒想到被robots過訪的局部,這麼,該網站的局部或所有內部實質意義就可以不被搜索引擎網站收錄了,還是指定搜索引擎網站只收錄指定的內部實質意義。
當一個搜索機器人過訪一個站點時,它會頭先查緝該站點根目次下是否存在robots.txt,假如找到,搜索機器人便會依照該文件中的內部實質意義來確認過訪的范圍,假如該文件不存在,那末搜索機器人就沿著鏈接抓取。
robots.txt務必安放在一個站點的根目次下,並且文件名務必所有小寫。
網站 URL
相應的 robots.txt的 URL
- 和/help/index.html都不准許搜索引擎網站過訪,而”Disallow: /help/”則准許robot過訪/help.html,而不可以過訪/help/index.html。
不論什麼一條Disallow記錄為空,解釋明白該網站的全部局部都准許被過訪,在”/robots.txt”文件中,至少要有一條Disallow記錄。假如 “/robots.txt”是一個具文件,則對於全部的搜索引擎網站robot,該網站都是開放的。
下邊是一點robots.txt基本的用處:
l 嚴禁全部搜索引擎網站過訪網站的不論什麼局部:
User-agent: *
Disallow: /
l 准許全部的robot過訪
User-agent: *
Disallow:
還是也可以建一個具文件 “/robots.txt” file
l 嚴禁全部搜索引擎網站過訪網站的幾個局部(下例中的cgi-bin、tmp、private目次)
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/
l 嚴禁某個搜索引擎網站的過訪(下例中的BadBot)
User-agent: BadBot
Disallow: /
l 只准許某個搜索引擎網站的過訪(下例中的WebCrawler)
User-agent: WebCrawler
Disallow:
User-agent: *
Disallow: /
3、 常見搜索引擎網站機器人Robots姓名
名字 搜索引擎網站
- Baiduspider
- Scooter
- ia_archiver
- Googlebot
- FAST-WebCrawler
- Slurp
- MSNBOT http://search.msn.com
4、 robots.txt舉例
下邊是一點聞名站點的robots.txt:
- /robots.txt
- /robots.txt
- /robots.txt
- /robots.txt
- /robots.txt
5、 常見robots.txt不正確
l 顛倒了順著次序:
不正確寫成
User-agent: *
Disallow: GoogleBot
准確的應當是:
User-agent: GoogleBot
Disallow: *
l 把多個嚴禁指示放在一行中:
例如,不正確地寫成
Disallow: /css/ /cgi-bin/ /images/
准確的應當是
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
l 行前有數量多空格
例如寫成
Disallow: /cgi-bin/
盡管在標准沒有談到這個,不過這種形式很容易出問題。
l 404重定向到額外一個頁面:
當Robot過訪眾多沒有設置robots.txt文件的站點時,會被半自動404重定向到額外一個Html頁面。這時Robot每常會以處置robots.txt文件的形式處置這個Html頁面文件。固然普通這麼沒有啥子問題,不過最好能放一個空白的robots.txt文件在站點根目次下。
l 認為合適而使用大寫。例如
USER-AGENT: EXCITE
DISALLOW:
固然標准是沒有體積寫的,不過目次日文件名應當小寫:
user-agent:GoogleBot
disallow:
l 語法中只有Disallow,沒有Allow!
不正確的寫法是:
User-agent: Baiduspider
Disallow: /john/
allow: /jane/
l 遺忘了斜杠/
不正確的寫做:
User-agent: Baiduspider
Disallow: css
准確的應當是
User-agent: Baiduspider
Disallow: /css/
下邊一個壯工具專門查緝robots.txt文件的管用性:
/cgi-bin/robotcheck.cgi
二、 Robots META標簽
1、啥子是Robots META標簽
Robots.txt文件主要是限止整個兒站點還是目次的搜索引擎網站過訪事情狀況,而Robots META標簽則主要是針對一個個具體的頁面。和其它的META標簽(如運用的語言、頁面的描寫、網站關鍵詞等)同樣,Robots META標簽也是放在頁面的head/head中,專門用來奉告搜索引擎網站ROBOTS怎麼樣抓取該頁的內部實質意義。具體的方式大致相似(見黑體局部):
html
head
title時期營銷–網絡營銷專業門戶/title
meta name=”Robots” content=”index,follow”
meta http-equiv=”Content-Type” CONTENT=”text/html; charset=gb2312″
meta name=”keywords” content=”營銷… ”
meta name=”description” content=”時期營銷網是…”
link rel=”stylesheet” href=”/public/css.css” type=”text/css”
/head
body
…
/body
/html
2、Robots META標簽的寫法:
Robots META標簽中沒有體積寫之分,name=』Robots』表達全部的搜索引擎網站,可以針對某個具體搜索引擎網站寫為name=』BaiduSpider』。content局部有四個指令選項:index、noindex、follow、nofollow,指令間以『,』中間隔斷。
INDEX 指令奉告搜索機器人抓取該頁面;
FOLLOW 指令表達搜索機器人可以沿著該頁面上的鏈接接著抓取下去;
Robots Meta標簽的缺省值是INDEX和FOLLOW,只有inktomi不計算在內,對於它,缺省值是INDEX,NOFOLLOW。
這麼,總共有四種組合:
META NAME=”ROBOTS” CONTENT=”INDEX,FOLLOW”
META NAME=”ROBOTS” CONTENT=”NOINDEX,FOLLOW”
META NAME=”ROBOTS” CONTENT=”INDEX,NOFOLLOW”
META NAME=”ROBOTS” CONTENT=”NOINDEX,NOFOLLOW”
那裡面
META NAME=”ROBOTS” CONTENT=”INDEX,FOLLOW”可以寫成
META NAME=”ROBOTS” CONTENT=”ALL”;
META NAME=”ROBOTS” CONTENT=”NOINDEX,NOFOLLOW”可以寫成
META NAME=”ROBOTS” CONTENT=”NONE”
要注意的是:上面所說的的robots.txt和Robots META標簽限止搜索引擎網站機器人(ROBOTS)抓取站點內部實質意義的方法只是一種規則,需求搜索引擎網站機器人的合適纔行,並不是每個ROBOTS都篤守的。
到現在為止看來,絕大部分數的搜索引擎網站機器人都篤守robots.txt的規則,而對於Robots META標簽,到現在為止支持的並不是很多 ,不過正在漸漸增加,如聞名搜索引擎網站GOOGLE就絕對支持,並且GOOGLE還增加了一個指令『archive』,可以限止GOOGLE是否保存網頁快照。例如:
META NAME=”googlebot” CONTENT=”index,follow,noarchive”
表達抓取該站點中頁面並沿著頁面中鏈接抓取,不過不在GOOLGE上保存該頁面的網頁快照- 為網站的Web Robot 預設路標
- HTML文檔中小meta的大效用
- Robots.txt指南
- Robots Meta Tag的運用