robots.txt和Robots META標簽

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的運用