哪種情況下需要使用robots.txt

閱讀 ?·? 發布日期 2020-05-11 08:17 ?·? admin

 在優化網站過程中,有一些場景中,我們是不想讓蜘蛛來抓取網站內容的,比如:網站中重要及私密的內容、后臺的數據、測試階段的網站,這些都是我們不想展示給用戶看的,所以就沒必要讓這些內容收錄,就需要禁止蜘蛛抓取。網站建設網站設計網站制作★網頁設計-599元全包;企業網絡推廣☆網站優化seo☆關鍵詞排名☆百度快照-2200元全年展示;做網站優化排名-網站建設公司

  另外還有一種情況,很多電子商務的網站,有很多通過條件去篩選、過濾的頁面,這些頁面通常沒有什么意義,我們也不希望浪費蜘蛛的抓取份額,所以也要禁止蜘蛛的抓取。

  如何禁止蜘蛛抓取特定的頁面呢?

  robots(蜘蛛協議)是其中一種方式,也是最常用的一種。

  robots是一個純文本文件,用于聲明該網站中不想被蜘蛛訪問的部分,或者指定蜘蛛抓取的部分。

  當蜘蛛訪問一個站點時,它會首先檢查該站點是否存在robots.txt 文件,如果找到,蜘蛛就會按照該文件中的內容來確定抓取的范圍;如果該文件不存在,那么蜘蛛就會沿著鏈接直接抓取。

  即,只有在需要禁止抓取某些內容時,寫robots.txt才有意義。

  robots.txt 文件放置在一個站點的根目錄下,而且文件名必須全部小寫,正確的寫法是robots.txt。

  要查看某網站的robots.txt文件,在瀏覽器中輸入的網址:

  http:/www.xxx.com/robots.txt

  其中www.xxx.com是要查詢網站的域名。

  一、robots.txt的語法

  robots.txt文件的常用語法有3種,分別是User-agent、Allow、Disallow,下面講解3種語法的具體用法。

  (1) User-agent

  指定robots.txt 中的規則針對哪個搜索引擎蜘蛛(每種搜索引擎的蜘蛛都不一樣)。

  針對所有搜索引擎蜘蛛的寫法是User-agent:*,通配符*代表所有搜索引擎。只適用于百度蜘蛛的正確寫法是User-agent:Baiduspider。不同的搜索引擎,其蜘蛛名稱也不相同。

哪種情況下需要使用robots.txt

不同搜索引擎的蜘蛛名

  (2 )Allow

  允許搜索引擎蜘蛛抓取某些文件。例如允許蜘蛛訪問網站中的/a/目錄,正確寫法是Allow: /a/。

  $: 表示匹配URL結尾的字符。例如允許搜索引擎抓蜘蛛取以.htm為后綴的URL,寫法是Allow:.htm$。

  (3) Disallow

  告訴搜索引擎不要抓取某些文件或目錄。例如禁止蜘蛛抓取/admin/目錄的寫法是 Disallow:/admin/。

  禁止的目錄或文件必須分開寫,每個一行,例如禁止所有的搜索引擎蜘蛛抓取/a/、/b/、/c/目錄,正確的寫法是:

  User-agent:

  Disallow:/a/

  Disallow:/b/

  Disallow:/c/

  在網站優化中,SEOer需要熟練掌握robots.txt的基本語法。下面分享一些常見的robots.txt語法使用案例,如圖所示。

哪種情況下需要使用robots.txt

  二、robots.txt應用

  robots.txt 文件的一個用法是在robots.txt 文件中指定 sitemap 的位置。具體的用法是 sitemap:http://www.matuzi.cn/sitemap.xml,這樣就告訴搜索引擎蜘蛛這個頁面是網站地圖。

  robots.txt 文件是搜索引擎蜘蛛進入網站后訪問的第一個文件,在編寫時確實有很多需要注意的地方,如果日常使用中不注意語法的正確使用,有些語句可能就發揮不了應有的作用,會影響搜索引擎蜘蛛對網站的訪問,因此要正確編寫。

  對于SEOer來講,在優化網站過程中,當發現網站中有隱私文件需要屏蔽搜索引擎蜘蛛抓取時,可以設置robots.txt 屏蔽搜索引擎蜘蛛抓取這些隱私文件。如果網站只是一般的企業展示網站,可以不添加robots.txt。

  三、robots meta標簽(更精準的禁止蜘蛛抓?。?/span>

  如果搜索引擎已經收錄網頁,而這個網頁是我們不想讓搜索引擎收錄的,robots.txt 文件解決不了這個問題,而robots meta標簽卻可以解決。

  robots.txt  文件主要是限制整個站點或者目錄的蜘蛛訪問情況,而robots meta標簽則主要是針對某個具體的頁面。robots meta標簽放在頁面中,專門用來告訴搜索引擎蜘蛛如何抓取該頁的內容。

  robots meta標簽的基本寫法是:

  <meta name="robots" content="index.folow>

  其中有幾項需要特別注意的內容。

  (1)在robots meta 標簽中,name="robots"表示所有的搜索引擎,也可以針對某個具體的搜索引擎,如針對百度搜索引擎可以寫為name="Baiduspider"。

  (2)content部分有4個指令選項,以英文逗號“,”隔開,分別是:index、follow、noindex、nofollow。

  ● index指令告訴搜索引擎蜘蛛可以抓取該頁面。

  ● noindex指令與index指令相反,表示搜索引擎蜘蛛不可以抓取該頁面。

  ● follow 指令表示搜索引擎蜘蛛可以爬行該頁面上的鏈接。

  ● nofolow指令與follow指令相反,表示搜索引擎蜘蛛不可以爬行該頁面上的其他鏈接。

  綜上所述,robots meta標簽有以下4種組合:

  <meta name="robots" content="index,follow">

  <meta name="robots" content="noindex,follow">

  <meta name="robots" content="index,nofollow">

  <meta name="robots" content="noindex,nofollow">

  當robots meta 標簽的content值為"index,follow"時,表示該頁面可以被抓取,該頁面上的鏈接也可以被繼續爬行下去,robots meta標簽可以簡寫為:

  meta name="robots" content="all"

  當robots meta標簽的content值為”noindex,nofolow"時,表示該頁面不可以被抓取,該頁面上的鏈接也不可以被繼續爬行,robots meta標簽可以簡寫為:

  meta name="robots" content="none"

  robots meta標簽是限制某個具體頁面的蜘蛛訪問情況,因此當發現網站中某個頁面需要屏蔽蜘蛛抓取時,可以在該頁面的源代碼中添加robots meta標簽,robots meta標簽添加在頁面的<head></head>之間。

  當然,有時候即使設置了禁止抓取的協議也是沒用的,有些搜索引擎就是死皮賴臉要來抓取你,不遵循這些協議,這種情況比較少,遇到的概率也很低,所以現在不必要考慮這種情況。