想要從搜尋引擎中「隱藏」你的網站嗎?此時robots.txt可能就是你的好夥伴!這個小小的文字檔案,能夠控制搜尋引擎爬蟲的「行動範圍」,為你保護網站上的重要資料。而究竟robots.txt是什麼?又該如何設定?語法怎麼看?就讓本文來為你解答,帶你深入了解這個神祕檔案在網站管理與SEO中的重要性。
內容目錄
Togglerobots.txt 到底是什麼?網站必懂的祕密守衛
robots.txt是一個純文字檔案,放在網站的根目錄中,主要用於告訴搜尋引擎爬蟲(crawler)哪些網頁或檔案可以被索引,哪些則不能。換句話說,robots.txt就像是網站的「守衛」,指導爬蟲應該探索哪些內容、而哪些則需避開。
透過robots.txt,你可以阻止爬蟲索引機密資料、測試中的頁面或其他不希望公開的內容,進而保護網站重要資訊、避免被搜尋引擎「誤解」網站內容!
robots.txt 的作用與用途是什麼?
由於robots.txt可以指導搜尋引擎爬蟲的工作範圍,因此其作用主要包含以下幾點:
- 避免機密資料或測試用網頁被爬蟲索引
- 防止重複內容被索引,影響搜尋引擎對網站的理解
- 優化爬蟲資源,使其專注於更重要的內容
- 阻擋非搜尋引擎的爬蟲(如:可使用robots.txt阻擋chatGPT Bot)
⚠️ 注意!robots.txt的效用限制:
雖然robots.txt可以阻擋搜尋爬蟲索引網站內容,但卻無法完全阻止該內容出現在搜尋結果中。因為如果有其他網站連結到該內容,仍有可能被搜尋引擎索引。另外,不是所有的搜尋引擎都會遵守robots.txt的指令,因此仍會有被索引的風險。
什麼情況下,你會需要robots.txt?
由於robots.txt主要用來指導搜尋引擎爬蟲的工作範圍,因此如果你有以下需求,就可能會需要robots.txt:
- 測試網站:在網站建置過程中,有時會有暫時性的測試網頁,而這些內容通常不希望被搜尋引擎收錄。
- 機密、後台資料夾:網站的管理者後台通常包含許多機密資訊,不適合被搜尋引擎爬蟲發現。
- 重複內容:當網站上有大量重複或相似的內容時,可能會影響到搜尋引擎的判斷。而robots.txt可以幫助指定哪些重複內容不該被收錄。
- 資源節省:對於大型網站來說,爬蟲的資源是有限的。此時透過robots.txt,可以讓爬蟲更專注於網站的重要內容。
robots.txt 應該放在哪裡?如何查看?
由於robots.txt必須放在網站的根目錄中,因此如果你想要查看某個網站的robots.txt,只要在網址上加上「robots.txt」即可。
例如:https://jikensitu.com/robots.txt
robots.txt的語法怎麼看?新手也能秒懂的指令表
robots.txt的指令其實很簡單,主要包含以下2個部分:
| 指令 | 說明 | 範例 |
|---|---|---|
| User-agent | 指定該條目適用的搜尋引擎爬蟲 | 例如:「User-Agent: Googlebot」是指此條規則僅適用於Google的爬蟲。 |
| Disallow | 指定不允許爬蟲存取的目錄或網頁 | 例如:「Disallow: /private/」是指不允許爬蟲進入/private/目錄。 |
| Allow | 指定允許爬蟲存取的目錄或網頁(通常用於覆蓋Disallow指令) | 例如:「Allow: /public/」是指允許爬蟲進入/public/目錄,即使有更高層級的Disallow指令。 |
而指令的完整結構如下:
User-agent: [爬蟲名稱]
Disallow: [路徑]
這樣看可能很抽象,讓我們來看一個範例:
User-agent: *
Disallow: /admin/
Disallow: /private-data/
Disallow: /test-page.html
Sitemap:https://jikensitu.com/sitemap_index.xml
根據上述的指令來看,這個robots.txt的設定代表:
- 網站的「admin」、「private-data」資料夾,以及所有以「test-page.html」為結尾的頁面,皆不會被搜尋引擎索引
- 其他頁面皆可被索引
⚠️小提醒:
- 大小寫區分:robots.txt的指令是大小寫區分的,必須用對大小寫才能生效。
- 可使用萬用字元:robots.txt允許使用萬用字元「*」,來代表任意字元;「$」表示字尾。例如:「Disallow: /*.pdf$」是指阻擋所有以.pdf結尾的檔案。
- 允許空白行和註解:robots.txt允許空白行和註解。註解以「#」開頭。
常見robots.txt設定小抄:直接帶走不求人
| 設定範例 | 說明 |
|---|---|
| User-agent: * Disallow: / | 阻止所有爬蟲索引網站上的任何內容 |
| User-agent: * Disallow: | 允許所有爬蟲索引網站上的所有內容 |
| User-agent: Googlebot Disallow: /no-google/ | 只阻止Googlebot索引「no-google」資料夾 |
| User-agent: * Disallow: /no-google/ User-agent: Googlebot Disallow: | 阻止所有爬蟲索引「no-google」資料夾,但允許Googlebot索引 |
| User-agent: * Disallow: /private/ Disallow: /temp-page.html Disallow: /admin/ | 阻止所有爬蟲索引「private」、「admin」資料夾及「temp-page.html」頁面 |
robots.txt 進階語法與擴充指令說明
除了上述的基本指令外,robots.txt還有其他進階語法與擴充指令,可以更精確地控制搜尋引擎的爬取行為。以下就讓我們來一一說明:
| 指令 | 說明 | 範例 | 支援情形 |
|---|---|---|---|
| Crawl-delay | 設定爬蟲的爬取頻率,但Google不支援此指令 | User-agent: *Crawl-delay: 10 | Google不支援此指令,其他搜尋引擎請參見此 |
| Sitemap | 指定網站的XML Sitemap位置,以利搜尋引擎更高效地索引網站的內容 | Sitemap: https://www.example.com/sitemap.xml | 不同搜尋引擎支援情形不同,詳細說明可參見此 |
| Allow | 允許指定目錄或檔案被索引,僅適用於Googlebot | User-agent: Googlebot Allow: /public/ | 僅Google支援 |
怎麼建立robots.txt?三步驟帶你上手
雖然robots.txt看起來很複雜,但其實建立的方法很簡單,只要3個步驟就能完成:
- 建立檔案:建議使用記事本(Windows)、TextEdit(Mac)等純文字編輯器建立robots.txt。不要使用如:Word等其他文件處理軟體,以免產生額外的格式資訊。
- 輸入指令:輸入你想要設定的指令,並儲存為「robots.txt」。
⚠️小提醒:檔案名稱必須是全小寫的「robots.txt」,且沒有其他副檔名。 - 上傳到網站根目錄:使用FTP等工具,將robots.txt上傳到網站的根目錄,通常是「www.example.com/robots.txt」。
robots.txt 設定與測試全攻略
由於robots.txt的設定可能會直接影響到網站被索引的範圍,因此在設定robots.txt時,務必確認是否沒有任何錯誤設定,才不會讓你的網站內容變成搜尋引擎的「空白地帶」。而以下我們也整理出了2個檢查方法,讓你可以事先測試robots.txt的設定是否正確:
- 使用Google Search Console的robots.txt測試工具,可以幫助你檢查robots.txt的語法,並確認設定是否正確。
- 在瀏覽器中直接檢查:如同前文所提到的,robots.txt是放在網站根目錄中的檔案,因此你可以在網址上加上「robots.txt」,來查看目前的robots.txt設定是否符合你的需求。
- 其他線上工具:網路上也有許多免費的robots.txt測試工具,像是TechnicalSEO.com,也可以幫助你檢查是否設定正確。
⚠️小提醒:robots.txt僅是告知搜尋引擎爬蟲該如何行動,但實際上,搜尋引擎仍可能會忽略這些指令。因此若網站有機密資訊,建議還是要加上其他安全措施。
robots.txt與SEO的愛恨情仇
作為一個網站管理者,如果你想要阻止搜尋引擎索引網站某些內容,robots.txt似乎是一個很好的選擇。但由於robots.txt的作用只是阻止爬蟲「爬取」該頁面的內容,而不是「索引」,因此如果該頁面存在外部連結,仍有可能被搜尋引擎索引並出現在搜尋結果中。
此外,由於robots.txt的設定可能會影響到網站內容被索引的範圍,因此如果不小心阻止了重要內容被索引,就可能會影響到網站的SEO表現。故在設定robots.txt時,務必了解每個指令的作用與限制,才能正確地利用robots.txt來保護你的網站!
延伸閱讀:SEO是什麼?2025 SEO優化指南,6大排名因素與優化4步驟懶人包
robots.txt vs meta robots標籤:分工誰比較強?
除了robots.txt外,你還可能聽過「meta robots標籤」,而這兩者有什麼不同?又該如何選擇?讓我們用一張表來說明:
| robots.txt | meta robots標籤 | |
|---|---|---|
| 位置 | 網站根目錄 | 網頁的HTML標頭(head)區域 |
| 作用 | 阻止爬蟲爬取特定內容 | 阻止被爬取的內容被索引或顯示在搜尋結果中 |
| 使用時機 | 阻止爬蟲爬取特定內容,或優化爬蟲資源時 | 希望被爬取的內容不被索引,或出現在搜尋結果中時 |
常見robots.txt陷阱&疑難雜症Q&A
Q1:為什麼我的robots.txt設定無法正常運作?
robots.txt的設定很容易出錯的原因,通常與其指令的大小寫有關。由於robots.txt是區分大小寫的,因此如果你在設定指令時,使用了錯誤的大小寫,就可能會導致設定無法正常運作。
Q2:robots.txt的指令有大小區分的嗎?
有!robots.txt的指令是區分大小寫的,因此如果你在設定指令時,使用了錯誤的大小寫,就可能會導致設定無法正常運作。
Q3:為什麼搜尋引擎忽略了我的robots.txt設定?
雖然大多數的搜尋引擎都會遵守robots.txt的設定,但仍有一些搜尋引擎會忽略robots.txt的指令。此外,如果該內容存在外部連結,也仍有可能被搜尋引擎索引並出現在搜尋結果中。
Q4:我可以使用robots.txt阻擋特定的使用者或IP地址嗎?
不行。robots.txt只能用來指導搜尋引擎爬蟲的爬取行為,無法阻止特定的使用者或IP地址訪問網站。
Q5:robots 是什麼意思?
在搜尋引擎領域,「robots」是用來指稱搜尋引擎爬蟲(crawler)的另一個名稱,故也有稱robots.txt為「爬蟲協議」。
用robots.txt讓你的網站更聰明!
對於網站管理者來說,robots.txt不僅是保護網站內容的重要工具,更可以幫助你引導搜尋引擎爬蟲「正確地」索引網站內容,避免因重複內容或測試用網頁被索引,而影響到網站的SEO表現。因此了解robots.txt的作用與語法,不僅能幫助你更好地管理網站,也可以讓你的網站更聰明,進而提升在搜尋引擎中的表現!
如果你也正在為SEO優化而煩惱,就歡迎追蹤己見室與FB粉絲團,讓我們帶你一起衝刺SEO!如果你有任何問題,也歡迎在下方留言,我們都很樂意為你解答。
Last Updated on 17 7 月, 2025 by 己見室