天天看點

如何設定網站的robots.txt

  做過網站優化的朋友都知道,搜尋引擎蜘蛛爬行抓取網站時首先會去通路根目錄下的robots.txt檔案,如果robots檔案存在,則會根據robots檔案内設定的規則進行爬行抓取,如果檔案不存在則會順着首頁進行抓取,那麼robots檔案的工作原理是什麼呢?如何對robots.txt檔案進行設定。

  robots.txt是一個純文字的檔案,檔案的名字必須全部小寫,并且放置在網站的根目錄下面,通過檔案中的規則聲明網站哪些内容不想被搜尋引擎蜘蛛抓取收錄,或者指定某個搜尋引擎不能收錄robots.txt也叫做爬蟲協定,遵循爬蟲協定的搜尋引擎蜘蛛,都會根據協定的内容對網站進行爬蟲抓取的。

一、什麼是robots.txt?

  這是一個文本檔案,是搜尋引擎爬行網頁要檢視的第一個檔案,你可以告訴搜尋引擎哪些檔案可以被檢視,哪些禁止。

  當搜尋機器人通路一個站點時,它首先會檢查根目錄是否存在robots.txt,如果有就确定抓取範圍,沒有就按連結順序抓取。

二、robots.txt有什麼用?

  為何需要用robots.txt這個檔案來告訴搜尋機器人不要爬行我們的部分網頁,比如:背景管理檔案、程式腳本、附件、資料庫檔案、編碼檔案、樣式表檔案、模闆檔案、導航圖檔和背景圖檔等等。說到底了,這些頁面或檔案被搜尋引擎收錄了,使用者也看不了,多數需要密碼才能進入或是資料檔案。既然這樣,又讓搜尋機器人爬行的話,就浪費了伺服器資源,增加了伺服器的壓力,是以我們可以用robots.txt告訴機器人集中注意力去收錄我們的文章頁面,增強使用者體驗。

三、robots設定:

1、用robots屏蔽網站重複頁

  很多網站一個内容提供多種浏覽版本,雖然很友善使用者,卻對蜘蛛造成了困難,因為它分不清那個是主,那個是次,一旦讓它認為你在惡意重複,你就慘了

  User-agent: *

  Disallow: /sitemap/ 《禁止蜘蛛抓取 文本網頁》

2、用robots保護網站安全

  很多人納悶了,robots怎麼還和網站安全有關系了?其實關系還很大,不少低級黑客就是通過搜尋預設背景登陸,以達到入侵網站的目标

  User-agent: *

  Disallow: /admin/ 《禁止蜘蛛抓取admin目錄下所有檔案》

3、防止盜鍊

  一般盜鍊也就幾個人,可是一旦被搜尋引擎“盜鍊”那家夥你100M寬帶也吃不消,如果你做的不是圖檔網站,又不想被搜尋引擎“盜鍊”你的網站圖檔

  User-agent: *

  Disallow: .jpg$

4、送出網站地圖

  現在做優化的都知道做網站地圖了,可是卻沒幾個會送出的,絕大多數人是幹脆在網頁上加個連結,其實robots是支援這個功能的

  Sitemap: http:-www-***-com/sitemaps/sitemaps.xml

5、禁止某二級域名的抓取

  一些網站會對VIP會員提供一些特殊服務,卻又不想這個服務被搜尋引擎檢索到

  User-agent: *

  Disallow: /

  以上五招robots足以讓你對搜尋引擎蜘蛛掌控能力提升不少,就像百度說的:我們和搜尋引擎應該是朋友,增加一些溝通,才能消除一些隔膜。

四、robots.txt基本文法

1、robots.txt的幾個關鍵文法:

  a、User-agent: 應用下文規則的漫遊器,比如Googlebot,Baiduspider等。

  b、Disallow: 要攔截的網址,不允許機器人通路。

  c、Allow: 允許通路的網址

  d、”*” : 通配符—比對0或多個任意字元。

  e、”$” : 比對行結束符。

  f、”#” : 注釋—說明性的文字,不寫也可。

  g、Googlebot: 谷歌搜尋機器人(也叫搜尋蜘蛛)。

  h、Baiduspider: 百度搜尋機器人(也叫搜尋蜘蛛)。

  i、目錄、網址的寫法:都以以正斜線 (/) 開頭。如:

  Disallow:/

  Disallow:/images/

  Disallow:/admin/

  Disallow:/css/

2、列舉一些robots.txt 具體用法:

允許所有的robot通路

  User-agent: *

  Disallow:

  或者

  User-agent: *

  Allow: /

  或者建一個空檔案”robots.txt”即可。

僅禁止某個機器人通路您的網站,如Baiduspider。

  User-agent: Baiduspider

  Disallow: /

僅允許某個機器人通路您的網站,如Baiduspider。

  User-agent: Baiduspider

  Disallow:

  User-agent: *

  Disallow: /

禁止通路特定目錄

  User-agent: *

  Disallow: /admin/

  Disallow: /css/

  Disallow:

要攔截對所有包含問号 (?) 的網址的通路(具體地說,這種網址以您的域名開頭、後接任意字元串,然後接問号,而後又接任意字元串),請使用以下内容:

  User-agent: Googlebot

  Disallow: /*?

要指定與某個網址的結尾字元相比對,請使用 $。例如,要攔截以 .xls 結尾的所有網址,請使用以下内容:

  User-agent: Googlebot

  Disallow: /*.xls$

  您可将此模式比對與 Allow 指令配合使用。例如,如果 ? 代表一個會話 ID,那麼您可能希望排除包含 ? 的所有網址,以確定 Googlebot 不會抓取重複網頁。但是以 ? 結尾的網址可能是您希望包含在内的網頁的版本。在此情況下,您可以對您的 robots.txt 檔案進行如下設定:

  User-agent: *

  Allow: /*?$

  Disallow: /*?

  Disallow: /*? 指令會阻止包含 ? 的所有網址(具體地說,它将攔截所有以您的域名開頭、後接任意字元串,然後接問号,而後又接任意字元串的網址)。

  Allow: /*?$ 指令将允許以 ? 結尾的任何網址(具體地說,它将允許所有以您的域名開頭、後接任意字元串,然後接 ?,? 之後不接任何字元的網址)。

  以上介紹多數都是Google的http:-www-google-com/support/we … cn&answer=40360,百度的大同小異具體可以看http:-www-baidu-com/search/robots.html

  一般網站檢視robots.txt檔案的方法是首頁後面加robots.txt就可以,比如淘寶網的就是http:-www-taobao-com/robots.txt

  請注意,僅當您的網站包含不希望被搜尋引擎收錄的内容時,才需要使用robots.txt檔案。如果您希望搜尋引擎收錄網站上所有内容,請勿建立robots.txt檔案。

轉載于:https://www.cnblogs.com/goloving/p/11386198.html