robots.txt 檔案是一份小型的純文字文件,用來告訴遵循規範的網路爬蟲,可以或不可以存取你網站的哪些部分。它必須以 /robots.txt 的路徑發布在你網站的根目錄(例如 https://example.com/robots.txt),並以 text/plain 的 MIME 類型提供。這份檔案遵循 Robots Exclusion Protocol(RFC 9309),此規範定義了爬蟲應如何解讀 User-agent、Allow 與 Disallow 指令。雖然 robots.txt 並不是一種安全或隱私工具——惡意的用戶端可以無視它——但它有助於管理爬取流量、降低伺服器負載,並避免搜尋引擎將重複或低價值的頁面收錄進索引。若想在不手動寫程式碼或不需伺服器存取權限的情況下建立一份 robots.txt,可以使用Robots.txt Generator,這是一款瀏覽器內執行的工具,只要你指定網站網址與爬蟲政策,就能產生一個可下載的檔案。

許多網站經營者以為建立 robots.txt 檔案需要開發人員權限,或是內容管理系統(CMS)的外掛。實際上,這個流程更簡單:你只需要一個文字編輯器,以及一種能把檔案上傳到網站根目錄的方式。不過,像是路徑格式錯誤、缺少斜線,或指令彼此衝突之類的失誤,可能會導致非預期的爬取限制,或引來搜尋引擎的懲罰。舉例來說,Disallow: private(而不是 Disallow: /private)少了一個斜線,就無法封鎖原本要限制的路徑。Robots.txt Generator 藉由強制套用 RFC 9309 的語法規則來消除這些風險,例如要求路徑必須以斜線開頭,並拒絕井字號(#),以避免不小心產生註解。它還會自動加上一行含有你網站來源的 Sitemap: 敘述(例如 Sitemap: https://example.com/sitemap.xml),即使你的 XML 網站地圖沒有在其他地方被連結,搜尋引擎也能藉此發現它。

how to get robots txt
how to get robots txt

什麼時候你需要一份 robots.txt 檔案

如果你想要控管搜尋引擎與其他爬蟲如何與你的網站互動,robots.txt 檔案就不可或缺。常見的情境包括:

  • 封鎖重複內容:防止爬蟲把頁面的列印版本或測試環境收錄進索引。
  • 管理爬取預算:藉由禁止搜尋結果頁或內部後台頁面等低價值路徑,降低伺服器負載。
  • 隱藏私有目錄:雖然 robots.txt 無法真正保護內容,但它可以要求遵循規範的爬蟲避開敏感區域(不過仍然需要伺服器端的身分驗證)。
  • 符合平台要求:某些 CMS 平台(例如 Shopify)或主機服務商,可能要求必須有一份 robots.txt 檔案,網站才能正常運作。

如果你的網站沒有 robots.txt 檔案,爬蟲會假定它們可以存取所有公開頁面。這本身並不一定有問題,但可能導致爬取效率不佳或非預期的收錄。舉例來說,Googlebot 可能會花時間去爬取沒有 SEO 價值的頁面,例如登入畫面或動態產生的網址。反過來說,一份限制過度的 robots.txt 檔案,也可能因為封鎖了關鍵頁面而傷害你的搜尋能見度。關鍵在於取得平衡:允許存取有價值的內容,同時禁止那些會浪費爬取預算或暴露敏感資訊的路徑。

Robots.txt Generator 如何運作

Robots.txt Generator 透過幫你處理技術細節,簡化建立有效 robots.txt 檔案的流程。運作方式如下:

  • 瀏覽器端處理:所有資料都留在你的瀏覽器內——不會上傳到伺服器,也不會發出外部請求。這確保了你網站的網址與路徑保持私密。
  • 三種政策選項:可在「全部允許」(爬蟲可以存取所有內容)、「全部封鎖」(爬蟲應避開整個網站),或「選擇性」(禁止特定路徑)之間選擇。
  • 路徑格式規則:在選擇性模式下,每個被禁止的路徑都必須以斜線開頭(例如 /private/)。這個工具會保留 RFC 9309 的萬用字元(*)與結尾錨點($),但會拒絕井字號(#),以避免不小心產生註解。
  • 包含網站地圖:產生器會自動加上一行含有你網站來源的 Sitemap: 敘述(例如 Sitemap: https://example.com/sitemap.xml)。如果你的網站地圖位在其他位置,可以在發布前編輯這一行。
  • 輸出驗證:這個工具會產生純粹的 UTF-8 文字,並移除重複的路徑,確保檔案符合 RFC 9309 標準。

與手動編輯不同,這個產生器能避免常見的錯誤,例如缺少斜線或使用無效字元。它也會把選擇性模式限制在 50 條規則以內,這對大多數使用情境來說已經足夠,同時也能讓檔案維持在易於管理的規模。如果你需要更細緻的控制(例如針對特定爬蟲的規則),就需要在產生檔案之後手動編輯。

產生並發布你的 robots.txt 檔案

  1. 輸入你網站的網址:在 Robots.txt Generator 中,輸入你網站完整的 HTTP 或 HTTPS 網址(例如 https://example.com)。工具會用它來推導 Sitemap: 那一行所需要的來源。
  2. 選擇一種爬蟲政策:
    • 如果你希望遵循規範的爬蟲可以存取網站的每一個部分,請選擇「全部允許」。
    • 如果你希望要求爬蟲避開整個網站(例如測試環境),請選擇「全部封鎖」。
    • 如果你想禁止特定路徑,請選擇「選擇性」。每行輸入一個路徑,並以斜線開頭(例如 /private/)。可依需要使用萬用字元(*)或結尾錨點($)(例如 /search?* 或 /draft$)。
  3. 產生檔案:點選「產生」按鈕。工具會顯示純文字輸出結果,其中包含一個 User-agent: * 群組(適用於所有爬蟲)以及你選擇的規則。
  4. 檢查輸出結果:檢視產生出來的文字是否正確。舉例來說,請確認以下幾點:
    • 所有被禁止的路徑都以斜線開頭。
    • 沒有意外封鎖到不該封鎖的路徑(例如 / 會封鎖整個網站)。
    • Sitemap: 那一行指向正確的位置。
  5. 與目前的檔案比對:如果你的網站已經有一份 robots.txt 檔案,請下載目前的版本,並與產生出來的結果比對。請保留任何未被產生器的萬用字元群組涵蓋、針對特定爬蟲的群組(例如 User-agent: Googlebot)。
  6. 發布檔案:把產生出來的文字以 robots.txt(全小寫)儲存,並上傳到你網站的根目錄。舉例來說,如果你的網站是 https://example.com,那麼這個檔案就必須能透過 https://example.com/robots.txt 存取。
  7. 測試檔案:使用 Google 的 robots.txt 測試工具,或其他搜尋引擎提供的工具,確認檔案格式正確,並確認重要頁面可以被存取。請同時測試允許與禁止的路徑,以確保規則按預期運作。

應避免的常見 Robots.txt 錯誤

即使是 robots.txt 檔案中很小的錯誤,也可能造成非預期的後果。以下是最常見的錯誤,以及如何避免它們:

錯誤 影響 如何修正
路徑缺少斜線 像 Disallow: private(沒有斜線)這樣的規則,不會封鎖 /private/,因為路徑必須以斜線開頭。 務必讓路徑以斜線開頭(例如 Disallow: /private/)。
封鎖整個網站 Disallow: / 會封鎖所有爬蟲存取你網站的任何部分,這可能會傷害 SEO。 僅限測試網站或暫時性維護時使用這條規則。正式上線的網站則應改為封鎖特定路徑。
大小寫敏感度錯誤 RFC 9309 規定比對時會區分大小寫,因此 /Private 與 /private 會被視為不同的路徑。 仔細核對路徑中的大小寫,確保它們與實際網址一致。
把 robots.txt 當成安全機制使用 robots.txt 是一份公開的檔案,惡意的用戶端可以無視它。敏感內容應該以伺服器端的身分驗證來保護。 請改用登入驗證、IP 限制或其他存取控制機制,而不要依賴 robots.txt。
規則彼此衝突 如果爬蟲同時遇到 Allow: / 與 Disallow: /private/,它會依循最具體的規則。不過,有些爬蟲對衝突的解讀方式可能有所不同。 避免對同一個路徑同時混用 Allow 與 Disallow 規則。可使用搜尋引擎提供的工具測試,以確認實際行為。
發布在錯誤的位置 位於 https://example.com/subdir/robots.txt 的 robots.txt 檔案,並不會管轄根網域。它必須位於 https://example.com/robots.txt。 務必把檔案發布在你網站的根目錄,並使用它所要管轄的確切通訊協定(HTTP/HTTPS)、主機名稱與連接埠。

另一個常見的誤解,是以為在 robots.txt 中封鎖某個網址,就能把它從搜尋結果中移除。這並不總是成立。搜尋引擎可能透過連結或其他來源發現這些網址,即使無法爬取該頁面,仍可能保留關於它的有限資訊。若要把某個網址從搜尋結果中移除,請使用適當的索引控制機制(例如 noindex meta 標籤,或 Google 的移除工具)。robots.txt 最適合用來管理爬取流量,而不是用來控制索引。

Robots.txt 與其他爬蟲控制方式的比較

robots.txt 只是管理爬蟲如何與你的網站互動的其中一種工具。以下是它與其他方法的比較:

工具 目的 涵蓋範圍 使用時機
Robots.txt 要求遵循規範的爬蟲避開特定路徑。 適用於所有遵循規範的爬蟲(除非被特定爬蟲的規則覆寫)。 管理爬取預算、封鎖重複內容,或要求爬蟲避開低價值頁面。
Meta robots 標籤 控制個別頁面的索引與連結追蹤行為。 僅適用於放置該標籤的頁面。 避免頁面出現在搜尋結果中(noindex),或阻止連結權重傳遞(nofollow)。
X-Robots-Tag 標頭 與 meta robots 標籤相同,但透過 HTTP 標頭套用。 適用於伺服器回傳的資源(例如 PDF、圖片)。 控制非 HTML 資源的索引,或無法編輯 HTML 的頁面。
身分驗證/授權 透過要求登入或權限來保護內容。 適用於所有使用者與爬蟲。 保護敏感或私有內容(robots.txt 無法取代這項功能)。
Canonical 標籤 指出重複或相似頁面中偏好的版本。 僅適用於放置該標籤的頁面。 為重複內容整合連結權重(例如 https://example.com/page 與 https://example.com/page?ref=123)。

robots.txt 在搭配其他工具一起使用時最為有效。舉例來說,你可以用 robots.txt 封鎖爬蟲存取測試環境網站,同時用 meta robots 標籤防止正式網站的頁面被收錄進索引。同樣地,你也可以用 robots.txt 禁止搜尋結果頁面(例如 /search?*),同時用 canonical 標籤為分頁內容整合連結權重。關鍵在於了解每種工具的優勢與限制,並以符合你目標的方式來運用它們。

對於更進階的使用情境,例如針對特定爬蟲的規則或自訂指令,你可能需要在產生檔案之後手動編輯 robots.txt。Robots.txt Generator 專注於最常見的情境——允許所有爬蟲、封鎖所有爬蟲,或選擇性禁止特定路徑——同時遵循 RFC 9309 標準。如果你使用的是像 WordPress 或 Shopify 這類 CMS,也可以進一步參考特定平台的指南,例如How to Create a Robots.txt File in WordPress,以取得更多相關資訊。

若你正在權衡選項,How to Get app-ads.txt Records and Publish the File對此有詳細說明。