robots.txt 指令及規則
為了能夠多樣化地運用 robots.txt,我們需要了解一些特定的術語和規則。
當你了解了這些術語後,若想要設定規則,可以在你的域名地址後面加上 /robots.txt 即可。
首先,讓我們介紹一些基本術語:
robots.txt 指令
user-agent: 這是指令適用的爬蟲名稱。
disallow: 阻止指定的 user-agent 爬取特定的目錄或頁面。
allow: 允許指定的 user-agent 爬取特定的目錄或頁面,此指令僅適用於 Googlebot。
sitemap: 這是一個列出網站所有資源的檔案。
爬蟲名稱
Googlebot (Google)、Yeti (Naver)、Bingbot (Bing)、Slurp (Yahoo)
robots.txt 規則
以下是以 www.example.com/robots.txt 為例來說明幾個規則:
- 阻止所有內容的爬取
如果你想阻止網站的所有內容被爬取,可以這樣設定:
User-agent: *
Disallow: /
這表示所有爬蟲都不能訪問 www.example.com 的所有頁面。
- 允許所有內容的爬取
相反,如果你希望允許所有爬蟲訪問網站的所有內容,則可以這樣設定:
User-agent: *
Disallow:
這表示所有爬蟲都可以訪問 www.example.com 的所有頁面。
- 阻止特定爬蟲訪問特定目錄
如果你想要阻止特定爬蟲訪問特定的目錄,可以以下列方式設定:
User-agent: Googlebot
Disallow: /example-subfolder/
這表示 Googlebot 不能訪問 www.example.com/example-subfolder/ 目錄。
- 阻止特定爬蟲訪問特定頁面
如果你想要阻止特定爬蟲訪問特定的頁面,可以以下列方式設定:
User-agent: Yeti
Disallow: /example-subfolder/blocked-page.html
這表示 Yeti 不能訪問 www.example.com/example-subfolder/blocked-page.html 頁面。
- 只允許/阻止一個爬蟲
你可以同時設定多個規則來實現不同的需求。例如,只阻止 Unnecessarybot 而允許所有其他爬蟲:
User-agent: Unnecessarybot
Disallow: /
User-agent: *
Disallow:
這表示只有 Unnecessarybot 被阻止,而所有其他爬蟲都可以訪問。
- 阻止圖片的爬取
如果你想要阻止 Google 圖片爬蟲爬取特定圖片,可以以下列方式設定:
User-agent: Googlebot-Image
Disallow: /images/dogs.jpg
這表示 Googlebot-Image 不能爬取關於狗的圖片。
- 阻止特定字串結尾的 URL 爬取
如果你想要阻止特定字串結尾的 URL,可以使用 $ 符號:
User-agent: *
Disallow: /*.xls$
Disallow: /*.gif$
這表示爬蟲不允許訪問以 .xls 和 .gif 結尾的 URL。
robots.txt 設定
有時候你可能不知道你的網站是否已經設置了 robots.txt 文件,要確認這點,你只需要在你的域名後面加上 /robots.txt 然後搜索即可。
如果結果顯示 no.txt,這表示你還沒有設置 robots.txt 文件。
在設置 robots.txt 前,你需要記住這個文件應該是 普通文本文件 並且要放在 根目錄 中。
設置 robots.txt 的幾個重點包括:
- 文件名必須是 robots.txt。
- 每個網站只能有一個 robots.txt 文件。
- 應避免拼寫錯誤:比如,Robots.txt 或 robots.TXT 都不會被識別。
除了以上幾點,還需要遵守之前提到的指令和規則。
若你想確認 robots.txt 是否設置正確,可以使用Google提供的工具來檢查。
注意事項
為了更有效地利用 robots.txt,還需要注意以下幾點:
- 確認你希望被爬取的網站內容或資源沒有被阻止。
- 被 robots.txt 阻止的網站連結為 nofollow。如果你希望連結為 follow,則需要使用其他方法進行阻止。
- robots.txt 文件對所有人公開訪問,所以不要在文件中新增任何個人資訊。
- 若有多個爬蟲(如 Googlebot 和 Googlebot-Image),需要確保所有爬蟲都能正確解讀你的 robots.txt 文件。
- robots.txt 的內容一天會被緩存更新一次,因此在更新文件時,可以使用 Google Search Console 等工具重新檢查。
結論
這就是關於 robots.txt 的所有說明。如果有任何疑問,歡迎在下方留言。🙂