1. 程式人生 > >“robots.txt”簡介

“robots.txt”簡介

有一種隱藏的,無情的力量滲透到網路及其數十億的網頁和檔案中,我們大多數眾生都不知道。我說的是搜尋引擎爬蟲和機器人。每天都有數以百計的人出去瀏覽網路,不管是谷歌(Google)試圖為整個網路建立索引,還是一個垃圾郵件機器人收集它能找到的任何不那麼體面的電子郵件地址。作為站點所有者,當機器人訪問我們的站點時,我們對機器人可以做什麼有多麼小的控制,存在於一個名為“robots.txt”的神奇的小檔案中。

“robots.txt”是一個普通的文字檔案,通過它的名稱,對大多數網路上的“光榮”機器人具有特殊的意義。通過在此文字檔案中定義一些規則,您可以指示機器人不爬行和索引站點中的某些檔案、目錄,或者根本不對其進行索引。例如,您可能不希望Google爬行站點的/映像目錄,因為它對您來說既沒有意義,也浪費了站點的頻寬。“robots.txt”讓你告訴谷歌。

建立“robots.txt”檔案

所以讓我們開始行動吧。建立一個名為“robots.txt”的常規文字檔案,並確保它的名稱準確。此檔案必須上載到根部可訪問的站點目錄,而不是子目錄(即:https://www.google.com但不是https://www.google.com/2/)只有遵循上述兩條規則,搜尋引擎才能解釋檔案中的指令。偏離這一點,“robots.txt”就變成了一個普通的文字檔案,就像午夜後的灰姑娘一樣。

現在您已經知道了如何命名您的文字檔案並將其上傳到何處,您需要了解如何將命令傳送到遵循該協議的搜尋引擎(正式上是“機器人排除協議”)。該格式對於大多數意圖和目的來說都足夠簡單:USERAGENT

行,以識別問題中的爬行器,後面跟著一個或多個爬蟲。不允許:線不允許它從你的網站的某些部分爬行。

1)下面是一個基本的“robots.txt”:

User-agent: *
Disallow: /

在上述宣告之後,所有機器人(由“*”表示)都被指示不要索引任何頁面(由“/”表示)。很可能不是你想要的,但你知道。

2)現在讓我們再來點歧視吧。雖然每個網站管理員都喜歡Google,但您可能不希望Google的Imagebot爬行您的站點的影象並製作它們。可線上搜尋如果只是為了節省頻寬。下面的宣告將起作用:

User-agent: Googlebot-Image
Disallow: /

3)以下內容禁止所有搜尋引擎和機器人爬行選擇目錄和頁面:

User-agent: *
Disallow: /cgi-bin/
Disallow: /privatedir/
Disallow: /tutorials/blank.htm

4)您可以在“robots.txt”中有條件地針對多個機器人。請看下面的內容:

User-agent: *
Disallow: /
User-agent: Googlebot
Disallow: /cgi-bin/
Disallow: /privatedir/

這是很有趣的-在這裡我們宣告爬蟲一般不應該爬行我們網站的任何部分,對於google,它允許爬行整個站點,而不是/CGI-bin//Privatedir/。因此,專一性的規則是適用的,而不是繼承的。

5)有一種使用“不允許”的方法:本質上將其轉換為“允許所有”,即在分號(:)之後不輸入一個值:

User-agent: *
Disallow: /
User-agent: ia_archiver
Disallow:

這裡我是說,所有爬蟲都應該被禁止爬行我們的網站,除了阿列克莎,這是允許的。

6)最後,一些爬蟲現在支援一個名為“允許:”的額外欄位,最值得注意的是,Google。顧名思義,“允許:”允許您顯式地規定哪些檔案/資料夾可以爬行。然而,這個領域目前並不是“robots.txt”協議的一部分,所以我建議只在絕對需要時才使用它,因為它可能會混淆一些不那麼聰明的爬蟲器。

每谷歌網站管理員常見問題,下面是不允許所有爬蟲從您的站點上爬行的首選方法。谷歌:

User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /