網(wǎng)站能不能被搜索引擎索引到,除了看有沒有向搜索引擎入口提交、有否與其他站點交換鏈接等之外,還得看根目錄底下的robots.txt文件有沒有禁止搜索引擎的收錄,這里摘錄一些關(guān)于robots.txt文件的寫法備忘。
什么是robots.txt文件
搜索引擎通過一種爬蟲spider程序(又稱搜索蜘蛛、robot、搜索機器人等),自動搜集互聯(lián)網(wǎng)上的網(wǎng)頁并獲取相關(guān)信息。
鑒于網(wǎng)絡(luò)安全與隱私的考慮,搜索引擎遵循robots.txt協(xié)議。通過根目錄中創(chuàng)建的純文本文件robots.txt,網(wǎng)站可以聲明不想被robots訪問的部分。每個網(wǎng)站都可以自主控制網(wǎng)站是否愿意被搜索引擎收錄,或者指定搜索引擎只收錄指定的內(nèi)容。當一個搜索引擎的爬蟲訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果該文件不存在,那么爬蟲就沿著鏈接抓取,如果存在,爬蟲就會按照該文件中的內(nèi)容來確定訪問的范圍。
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: /*?* 禁止訪問網(wǎng)站中所有的動態(tài)頁面
Disallow: .jpg$ 禁止抓取網(wǎng)頁所有的.jpg格式的圖片
Disallow:/ab/adc.html 禁止爬去ab文件夾下面的adc.html所有文件
User-agent: * 這里的*代表的所有的搜索引擎種類,*是一個通配符
Allow: /cgi-bin/這里定義是允許爬尋cgi-bin目錄下面的目錄
Allow: /tmp 這里定義是允許爬尋tmp的整個目錄
Allow: .htm$ 僅允許訪問以".htm"為后綴的URL。
Allow: .gif$ 允許抓取網(wǎng)頁和gif格式圖片
robots.txt文件用法舉例
例1. 禁止所有搜索引擎訪問網(wǎng)站的任何部分
User-agent: *
Disallow: /
實例分析:淘寶網(wǎng)的 Robots.txt文件
User-agent: Baiduspider
Disallow: /
很顯然淘寶不允許百度的機器人訪問其網(wǎng)站下其所有的目錄。
例2. 允許所有的robot訪問 (或者也可以建一個空文件 “/robots.txt” file)
User-agent: *
Disallow:
例3. 禁止某個搜索引擎的訪問
User-agent: BadBot
Disallow: /
例4. 允許某個搜索引擎的訪問
User-agent: baiduspider
Disallow: User-agent: *Disallow: /
例5.一個簡單例子
在這個例子中,該網(wǎng)站有三個目錄對搜索引擎的訪問做了限制,即搜索引擎不會訪問這三個目錄。
需要注意的是對每一個目錄必須分開聲明,而不要寫成 “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 以外的所有漫游器訪問您的網(wǎng)頁,可以使用下列語法:
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 目錄內(nèi)除 myfile.html 之外的所有頁面。
如果您要攔截 Googlebot 并允許 Google 的另一個漫游器(如 Googlebot-Mobile),可使用”Allow”規(guī)則允許該漫游器的訪問。例如:
User-agent:Googlebot
Disallow:/
User-agent:Googlebot-Mobile
Allow:
使用 * 號匹配字符序列:
您可使用星號 (*) 來匹配字符序列。例如,要攔截對所有以 private 開頭的子目錄的訪問,可使用下列條目:
User-Agent:Googlebot
Disallow:/private*/
要攔截對所有包含問號 (?) 的網(wǎng)址的訪問,可使用下列條目:
User-agent:*
Disallow:/*?*
使用 $ 匹配網(wǎng)址的結(jié)束字符
您可使用 $ 字符指定與網(wǎng)址的結(jié)束字符進行匹配。例如,要攔截以 .asp 結(jié)尾的網(wǎng)址,可使用下列條目:
User-Agent:Googlebot
Disallow:/*.asp$
您可將此模式匹配與 Allow 指令配合使用。例如,如果 ? 表示一個會話 ID,您可排除所有包含該 ID 的網(wǎng)址,確保 Googlebot 不會抓取重復(fù)的網(wǎng)頁。但是,以 ? 結(jié)尾的網(wǎng)址可能是您要包含的網(wǎng)頁版本。在此情況下,可對 robots.txt 文件進行如下設(shè)置:
User-agent:*
Allow:/*?$
Disallow:/*?
Disallow:/ *?
一行將攔截包含 ? 的網(wǎng)址(具體而言,它將攔截所有以您的域名開頭、后接任意字符串,然后是問號 (?),而后又是任意字符串的網(wǎng)址)。
Allow: /*?$ 一行將允許包含任何以 ? 結(jié)尾的網(wǎng)址(具體而言,它將允許包含所有以您的域名開頭、后接任意字符串,然后是問號 (?),問號之后沒有任何字符的網(wǎng)址)。
Robots Meta標簽
Robots.txt文件主要是限制整個站點或者目錄的搜索引擎訪問情況,而Robots Meta標簽則主要是針對一個個具體的頁面。和其他的META標簽(如使用的語言、頁面的描述、關(guān)鍵詞等)一樣,Robots Meta標簽也是放在頁面的中,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內(nèi)容。
Robots Meta標簽中沒有大小寫之分,name=”Robots”表示所有的搜索引擎,可以針對某個具體搜索引擎寫為name=”BaiduSpider”。content部分有四個指令選項:index、noindex、follow、nofollow,指令間以“,”分隔。
index指令告訴搜索機器人抓取該頁面;
follow指令表示搜索機器人可以沿著該頁面上的鏈接繼續(xù)抓取下去;
Robots Meta標簽的缺省值是index和follow,只有inktomi除外,對于它,缺省值是index、nofollow。
需要注意的是:上述的robots.txt和Robots Meta標簽限制搜索引擎機器人(ROBOTS)抓取站點內(nèi)容的辦法只是一種規(guī)則,需要搜索引擎機器人的配合才行,并不是每個ROBOTS都遵守的。
目前看來,絕大多數(shù)的搜索引擎機器人都遵守robots.txt的規(guī)則,而對于RobotsMETA標簽,目前支持的并不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE還增加了一個指令“archive”,可以限制GOOGLE是否保留網(wǎng)頁快照。
Sitemap 網(wǎng)站地圖
對網(wǎng)站地圖的新的支持方式,就是在robots.txt文件里直接包括sitemap文件的鏈接。就像這樣:
Sitemap:
目前對此表示支持的搜索引擎公司有Google, Yahoo和MSN。不過,我們建議還是在Google Sitemap進行提交,里面有很多功能可以分析你的鏈接狀態(tài)。
SEO專題推薦:
關(guān)鍵詞優(yōu)化專題:網(wǎng)站關(guān)鍵詞優(yōu)化沒效果?來這里學(xué)習(xí)最實用的關(guān)鍵詞優(yōu)化技巧!
內(nèi)鏈優(yōu)化專題:最能提升網(wǎng)站權(quán)重的內(nèi)鏈部署優(yōu)化技巧與方法
外鏈建設(shè)專題:高質(zhì)量自然外鏈怎么做?讀完這些你將質(zhì)的飛躍
網(wǎng)站降權(quán)專題:2015年最有用的網(wǎng)站降權(quán)、被K、被黑、被攻擊的解決方法
用戶體驗專題:學(xué)習(xí)完這些,作為站長的你可以秒懂如何做網(wǎng)站用戶體驗
行業(yè)網(wǎng)站專題:優(yōu)化行業(yè)網(wǎng)站的“葵花寶典”看完后無優(yōu)化壓力
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!