DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁SEO優化 >> SEO優化集錦 >> robots.txt文件你真的知道怎麼用嗎?
robots.txt文件你真的知道怎麼用嗎?
編輯:SEO優化集錦     

搜索引擎通過一種程序robot(又稱spider),自動訪問互聯網上的網頁並獲取網頁信息。

您可以在您的網站中創建一個純文本文件robots.txt,在這個文件中聲明該網站中不想被robot訪問的部分,這樣,該網站的部分或全部內容就可以不被搜索引擎收錄了,或者指定搜索引擎只收錄指定的內容。robots.txt文件應該放在網站根目錄下。

當一個搜索機器人(有的叫搜索蜘蛛)訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,那麼搜索機器人就沿著鏈接抓取。

robots.txt文件的格式:

“robots.txt”文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:

 “<field>:<optionalspace><value><optionalspace>”。

在該文件中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,後面加上若干Disallow行,詳細情況如下:

User-agent:

該項的值用於描述搜索引擎robot的名字,在 ”robots.txt”文件中,如果有多條User-agent記錄說明有多個robot會受到該協議的限制,對該文件來說,至少要有一條User- agent記錄。如果該項的值設為*,則該協議對任何機器人均有效,在”robots.txt”文件中,”User-agent:*”這樣的記錄只能有一條。

Disallow:

該項的值用於描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被robot 訪問到。例如”Disallow:/help”對/help.html 和/help/index.html都不允許搜索引擎訪問,而”Disallow:/help/”則允許robot訪問/help.html,而不能訪問 /help/index.html。任何一條Disallow記錄為空,說明該網站的所有部分都允許被訪問,在”/robots.txt”文件中,至少要有一條Disallow記錄。如果”/robots.txt”是一個空文件,則對於所有的搜索引擎robot,該網站都是開放的。

robots.txt文件用法舉例:

例1. 禁止所有搜索引擎訪問網站的任何部分 下載該robots.txt文件 User-agent: * Disallow: /

例2. 允許所有的robot訪問 (或者也可以建一個空文件 “/robots.txt” file) User-agent: *Disallow:

例3. 禁止某個搜索引擎的訪問 User-agent: BadBotDisallow: /

例4. 允許某個搜索引擎的訪問 User-agent: baiduspiderDisallow: 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/

Robot特殊參數:

1. Google

允許 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: /*?$ 一行將允許包含任何以 ? 結尾的網址(具體而言,它將允許包含所有以您的域名開頭、後接任意字符串,然後是問號 (?),問號之後沒有任何字符的網址)。

Sitemap 網站地圖:

對網站地圖的新的支持方式,就是在robots.txt文件裡直接包括sitemap文件的鏈接。

就像這樣:

Sitemap: http://www.eastsem.com/sitemap.xml

目前對此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。

不過,我建議還是在Google Sitemap 進行提交,裡面有很多功能可以分析你的鏈接狀態。

更多精彩點擊下一頁

Robots.txt帶來的好處:

1. 幾乎所有的搜索引擎Spider都遵循robots.txt給出的爬行規則,協議規定搜索引擎Spider進入某個網站的入口即是該網站的 robots.txt,當然,前提是該網站存在此文件。對於沒有配置robots.txt的網站,Spider將會被重定向至404 錯誤頁面,相關研究表明,如果網站采用了自定義的404錯誤頁面,那麼Spider將會把其視作robots.txt——雖然其並非一個純粹的文本文件 ——這將給Spider索引網站帶來很大的困擾,影響搜索引擎對網站頁面的收錄。

2. robots.txt可以制止不必要的搜索引擎占用服務器的寶貴帶寬,如email retrievers,這類搜索引擎對大多數網站是沒有意義的;再如image strippers,對於大多數非圖形類網站來說其也沒有太大意義,但卻耗用大量帶寬。

3. robots.txt可以制止搜索引擎對非公開頁面的爬行與索引,如網站的後台程序、管理程序,事實上,對於某些在運行中產生臨時頁面的網站來說,如果未配置robots.txt,搜索引擎甚至會索引那些臨時文件。

4. 對於內容豐富、存在很多頁面的網站來說,配置robots.txt的意義更為重大,因為很多時候其會遭遇到搜索引擎Spider給予網站的巨大壓力:洪水般的Spider訪問,如果不加控制,甚至會影響網站的正常訪問。

5. 同樣地,如果網站內存在重復內容,使用robots.txt限制部分頁面不被搜索引擎索引和收錄,可以避免網站受到搜索引擎關於 duplicate content的懲罰,保證網站的排名不受影響。

robots.txt帶來的風險及解決:

1. 凡事有利必有弊,robots.txt同時也帶來了一定的風險:其也給攻擊者指明了網站的目錄結構和私密數據所在的位置。雖然在Web服務器的安全措施配置得當的前提下這不是一個嚴重的問題,但畢竟降低了那些不懷好意者的攻擊難度。

比如說,如果網站中的私密數據通過www.yourdomain.com/private/index.html 訪問,那麼,在robots.txt的設置可能如下:

User-agent: *

Disallow: /private/

這樣,攻擊者只需看一下robots.txt即可知你要隱藏的內容在哪裡,在浏覽器中輸入www.yourdomain.com/private/ 便可訪問我們不欲公開的內容。對這種情況,一般采取如下的辦法:

設置訪問權限,對/private/中的內容實施密碼保護,這樣,攻擊者便無從進入。

另一種辦法是將缺省的目錄主文件index.html更名為其他,比如說abc-protect.html,這樣,該內容的地址即變成 www.yourdomain.com/private/abc-protect.htm,同時,制作一個新的index.html文件,內容大致為“你沒有權限訪問此頁”之類,這樣,攻擊者因不知實際的文件名而無法訪問私密內容。

2. 如果設置不對,將導致搜索引擎將索引的數據全部刪除。

User-agent: *

Disallow: /

上述代碼將禁止所有的搜索引擎索引數據。

目前看來,絕大多數的搜索引擎機器人都遵守robots.txt的規則,而對於Robots META標簽,目前支持的並不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE還增加了一個指令“archive”,可以限制GOOGLE是否保留網頁快照。例如:

 <META NAME=”googlebot” CONTENT=”index,follow,noarchive”>

表示抓取該站點中頁面並沿著頁面中鏈接抓取,但是不在GOOLGE上保留該頁面的網頁快照。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved