用robots.txt跟爬蟲溝通

robots.txt 是什麼?跟搜尋引擎的爬蟲溝通的方式|天矽科技網頁設計

robots.txt 是什麼?跟搜尋引擎的爬蟲溝通的方式|天矽科技網頁設計

 

robots.txt用來與搜尋引擎、爬蟲溝通,能利用它來限制哪些網站沒必要檢索、哪些網站要收錄?

robots.txt是什麼?


 robots.txt是放在網站根目錄下的文字檔案,它是用來跟搜尋引擎的爬蟲溝通的檔案,此檔案名稱應統一小寫,因系統中的URL是英文大小寫組成,較為敏感,為了與此區分或避免發生錯誤,robots.txt應為小寫

 使用robots.txt能告訴爬蟲,網站中哪些內容不必爬取、哪些內容可以爬取。

  • 根目錄(Root Directory):
    檔案系統的最上一級目錄,它是一個磁碟機的起首,沒有上一層。
    以Windows作業系統舉例,打開「我的電腦」或「本機」,點擊本機磁碟 (C),這樣就進入了本機磁碟 (C)的根目錄,像這樣「C:\ABC\DEF\GHI」。

參考資料:

 

網站不想被收錄

 robots.txt能告訴爬蟲「這個網站不必收錄」,不過自然搜尋(SEO)不是很重要嗎?為什麼要告訴爬蟲不必收錄這個網站?常見情況如下:

➤網站管理後台

 網站後台掌管了編輯、新增、儲存與組織…等作業,還有網站開發時,設立的多媒體、購物車、特殊系統、會員系統、留言或是社群連結…等功能,這些都沒必要讓使用者從前台看到,因此不需要被爬蟲檢索並放上搜尋引擎。
 

➤特定資料夾內檔案

 一樣和後台有關,我們希望被爬蟲檢索的檔案都是有內容與公開性的資訊,因此除了這些以外,後台使用的檔案沒有必要檢索。
 

➤測試網站

 在架設網站時,為了與客戶一同檢測、討論或實際操作還沒上架的網站頁面,這時的網站還未正式完成,因為還在測試階段,不想要被搜尋引擎的爬蟲找到並檢索內容,此時就能用robots.txt來做排除。(建議搭配noindex來禁止Google搜尋建立索引)

 

robots.txt常見名詞


 robots.txt的文件必須放在網站的根目錄裡面,像下方圖片。

網址位置:
http://你的網站網址.com/robots.txt

robots畫面

▲天矽科技的robots.txt畫面

 

 上面有提到,robots.txt可以限制爬蟲要爬哪些網站,在了解怎麼限制它之前,我們可以先了解這三個最常見的名詞:User-Agent、Allow和Disallow。

  • User-Agent
    是爬蟲的名稱,可以限制特定爬蟲,也可以不限制。
  • Allow
    允許爬蟲爬取的資料夾及頁面。
  • Disallow
    不允許爬蟲爬取的資料夾及頁面。

 

設定robots.txt控制爬蟲


 現在,我們可以開始看看,要怎麼限制爬蟲?

 

允許所有爬蟲

這裡表示允許爬蟲爬取整個網站,如果沒有特別指定,爬蟲一樣會爬取整個網站,但我們還是可以指定並允許它。

User-agent: *
Disallow:

User-agent: *
Allow:/

 

允許特定爬蟲

這裡的name_spider要用真實名字代替,如Googlebot、Bingbot…等。

User-agent: name_spider
Allow:

 

攔截所有爬蟲

User-agent: *
Disallow: /

 

禁止所有爬蟲造訪特定目錄

User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/

 

禁止檢索特定目錄與其中內容

User-agent: *
Disallow: /calendar/
Disallow: /junk/

 

禁止壞爬蟲造訪特定目錄

這裡的Badbot要用真實名字代替。

User-agent: BadBot
Disallow: /private/
 

 Badbot就是惡意機器人、壞爬蟲;據統計,2020年Bad Bot 佔所有網站流量的25.6%,壞壞的爬蟲對企業來說威脅極大,它能偽裝成人類進行互動,還有可能進一步執行各種惡意活動,如網路偷竊、交易詐欺、暴力破解登入、詐騙及垃圾郵件…等。看更多:2021最新Bad Bot報告揭露

 

禁止所有爬蟲造訪特定檔案類型

User-agent: *
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$

 

禁止檢索特定圖片

此例為禁止檢索dogs.jpg圖片檔案。

User-agent: *
Disallow: /images/dogs.jpg

 

禁止檢索網站上的所有圖片

User-agent:*
Disallow: /

 

禁止檢索特定檔案類型

此例子為禁止.gif檔案。
User-agent: *
Disallow: /*.gif$

 

注意:
 使用robots.txt禁止爬蟲進入及爬取的網站內容,仍有可能未經檢索、爬蟲到處亂跑,不小心將該網址編入索引,再加上,任何人都能查看的robots.txt的檔案,因此私人內容的位置就有可能因此曝光。

 所以,若想要禁止存取私密的內容,不要只使用robots.txt,建議可加上適當的驗證機制。

 

資料來源:
維基百科
Google建立 robots.txt 檔案

 

測試robots.txt檔案


 要驗證自家網站有無robots.txt?直接在網站根目錄後面輸入robots.txt是最快的方式,像這樣:「https://www.你的網址.com/robots.txt」。

 但如果不知道語法是否正確,我們也能利用Google提供的robots.txt的驗證頁 (下方工具)來檢測,如果頁面顯示0 errors就表示沒問題。

robots的驗證頁

 

 我們也可以在Google Search Console 中直接查看是否有錯誤的情況。

Google Search Console

 

 如果你想要用其他的檢測工具來測試也可以,如Bing Webmaster Tools。不過Google是目前最多使用者使用的搜尋引擎,因此大多都會以Google來解說。

 

延伸閱讀:
Google Search Console是什麼?基本功能介紹篇

 

share FB LINE
看天矽作品集 回上一頁
ID:@323foylw