Robots.txt 產生器
robots.txt 規則產生
支援多行 Allow / Disallow / Sitemap,自動拼裝標準格式。
GeekFormat 線上 Robots.txt 產生器,透過視覺化表單設定 User-agent、Allow/Disallow 規則、Sitemap 宣告和 Host 指令,即時產生符合 Robots Exclusion Protocol 標準的 robots.txt 檔案。頁面打開即帶有範例預設值,修改任意欄位即時預覽產生結果,一鍵複製即可部署到網站根目錄。純瀏覽器本機執行,設定資料不上傳任何伺服器。
相關推薦
關於 Robots.txt 與爬蟲排除協定
robots.txt 是網站與搜尋引擎爬蟲溝通的最基礎方式之一,全稱 Robots Exclusion Protocol(爬蟲排除協定,簡稱 REP)。它是一個放置在網站根目錄下的純文字檔案,透過簡單的指令告訴合規的搜尋引擎爬蟲:網站的哪些部分允許抓取、哪些部分不希望被抓取。robots.txt 最早由 Martijn Koster 在 1994 年提出,經過近 30 年的發展,於 2022 年正式被 IETF 標準化為 RFC 9309。
robots.txt 的基本結構由一個或多個規則組(Group)組成。每個規則組以一個或多個 User-agent 行開頭,指定規則適用的爬蟲(* 表示所有爬蟲);後面跟著若干 Allow 和 Disallow 行,分別指定允許和禁止抓取的路徑前綴;檔案末尾可以新增 Sitemap 和 Host 等非組級指令。每個規則組之間用空行分隔。一個典型的 robots.txt 包含:User-agent 宣告 → Allow/Disallow 路徑規則 → (可選)更多 User-agent 分組 → Sitemap 宣告 → Host 指令。
User-agent 欄位指定規則作用的爬蟲名稱。常見的搜尋引擎爬蟲名稱包括:Googlebot(Google 搜尋)、Bingbot(Bing 搜尋)、Baiduspider(百度搜尋)、YandexBot(Yandex 搜尋)、DuckDuckBot(DuckDuckGo 搜尋)、Twitterbot(Twitter/X 卡片抓取)、facebookexternalhit(Facebook 連結預覽)、GPTBot(OpenAI GPT 爬蟲)、Bytespider(字節跳動/今日頭條搜尋)等。使用 User-agent: * 作為萬用字元匹配所有未單獨匹配的爬蟲。
Allow 和 Disallow 指令使用前綴匹配(Prefix Matching)原則:只要 URL 路徑以指定的值開頭,規則就匹配。例如 Disallow: /admin 會攔截 /admin、/admin/、/admin/login.html、/administrator 等所有以 /admin 開頭的路徑。如果只想精確匹配 /admin/ 目錄,應寫 Disallow: /admin/(末尾加斜線)。根據 RFC 9309 標準,當 Allow 和 Disallow 同時匹配時,路徑最長的規則勝出;長度相同時 Allow 優先。這意味著越具體的規則優先級越高。
Sitemap 指令用於告知搜尋引擎網站地圖的位置,幫助爬蟲更高效地發現和索引網站頁面。Sitemap 行必須放在所有規則組之後(或檔案末尾),URL 必須是完整的絕對位址(含 http:// 或 https://)。一個 robots.txt 中可以宣告多個 Sitemap,每個獨立一行。大型網站通常會拆分多個 Sitemap(按內容類型、更新頻率分類),並透過一個 Sitemap 索引檔案統一管理。
Host 指令是 Yandex 提出的非標準但廣泛使用的指令,用於指定網站的首選網域(主鏡像)。例如同時存在 example.com 和 www.example.com 時,Host: example.com 告訴搜尋引擎以 example.com 為首選。需要注意:Google 已聲明不使用 Host 指令,需要透過 Google Search Console 設定首選域;Bing 也未明確支援。Host 指令應放在 Sitemap 之後,且只能出現一次。
正確設定 robots.txt 對 SEO 有重要意義:一是避免爬蟲浪費抓取配額在無意義的頁面上(如搜尋結果頁、過濾頁、重複內容頁),讓爬蟲更高效地抓取有價值的內容;二是防止私密或低價值頁面(如後台、測試頁、列印頁)被收錄;三是透過 Sitemap 主動引導爬蟲發現新頁面。但需要注意:robots.txt 是君子協定,不能替代真正的安全措施;被 Disallow 的 URL 如果有外部連結指向,仍可能在搜尋結果中顯示 URL(只是不會抓取內容);完全禁止抓取反而可能影響網站整體權重評估。
robots.txt 常見錯誤包括:①路徑寫錯(如 Disallow: admin 缺少開頭斜線,應寫 /admin);②使用正規表示式(標準 REP 不支援正規,只有 Googlebot 支援有限的萬用字元 * 和 $);③禁止抓取 JS/CSS 檔案(會導致 Google 無法渲染頁面);④Disallow: / (禁止整個網站,這是致命錯誤,會導致網站完全不被收錄);⑤檔案編碼問題(必須是 UTF-8 編碼);⑥放在了子目錄而非根目錄;⑦檔案權限導致無法存取(應傳回 200 OK 狀態碼)。建議產生後使用 Google Search Console 的 robots.txt 測試工具或本平台的 robots.txt 檢測工具驗證。
適用場景
- 新站上線前設定基礎 robots.txt,明確允許和禁止抓取的路徑範圍,引導搜尋引擎正確抓取
- 網站改版後更新 Disallow 規則防止舊目錄被繼續抓取影響 SEO 權重分布
- 新增多個 Sitemap 位址宣告幫助搜尋引擎更快發現全站頁面結構,提升索引效率
- 封鎖後台管理目錄(/admin)、測試環境、私有目錄避免被爬蟲收錄,降低安全風險
- 設定 Host 指令指定網站首選網域(帶 www 或不帶 www),減少重複內容問題
- 為不同搜尋引擎爬蟲(Googlebot、Bingbot、Baiduspider 等)設定獨立的抓取規則
- 臨時禁止爬蟲存取正在維護中的目錄,等網站更新完成後再開放抓取
- 產生規範格式的 robots.txt 檔案,避免因手寫格式錯誤導致搜尋引擎解析失敗
- 設定多 Sitemap(如文章 sitemap、產品 sitemap、圖片 sitemap)涵蓋全站內容類型
- 前端開發示範 robots.txt 規則設定,教學展示爬蟲協定標準格式
- 配合 robots.txt 檢測工具驗證產生的規則是否符合預期,避免錯誤封鎖重要頁面
- 快速建立 robots.txt 範本,下載後根據實際網站情況微調後部署
使用方法
- 在 User-agent 輸入框指定目標爬蟲(預設 * 代表所有搜尋引擎爬蟲)
- 在 Allow 區域填寫允許抓取的路徑,每行一條規則(如 /、/blog/)
- 在 Disallow 區域填寫禁止抓取的路徑,每行一條規則(如 /admin、/private)
- 在 Sitemap 區域新增 XML 網站地圖位址(支援多行),在 Host 區域填寫首選網域
- 右側預覽區即時顯示產生的 robots.txt 內容,確認無誤後點擊複製按鈕即可部署
功能特點
- 多規則獨立設定:User-agent、Allow、Disallow、Sitemap、Host 各自獨立輸入區,規則分類清晰不再混在一起
- 即時預覽產生:修改任意規則後 robots.txt 內容即時更新,無需手動點擊產生按鈕,所見即所得
- 預設兜底規則:當 Allow 和 Disallow 均為空時自動輸出 Allow: /,避免產生空白檔案導致爬蟲行為不確定
- 多 Sitemap 支援:Sitemap 區域支援多行輸入,每個 URL 獨立輸出一行 Sitemap 宣告,適合多 Sitemap 網站
- 一鍵複製部署:產生結果支援一鍵複製到剪貼簿,適合直接貼上到網站根目錄部署使用
- 預設範例預填:頁面打開即帶有預設範例設定(User-agent: *、Allow: /、Disallow: /admin /private、Sitemap、Host),新手可直接參考修改
- 標準格式輸出:嚴格遵循 Robots Exclusion Protocol 規範,User-agent 行在前、規則行在後、Sitemap/Host 在末尾,各搜尋引擎相容
- 路徑智慧處理:自動 trim 每行首尾空格、過濾空行,避免因多餘空格導致規則失效
- 分欄回應式佈局:PC 端左右分欄(設定/預覽),行動端上下排列,桌面和手機都好用
- 等寬字型預覽:預覽區使用等寬字型顯示產生結果,robots.txt 格式整齊清晰
- Host 指令支援:可設定 Host 首選網域(Yandex 等搜尋引擎支援),減少網域重複內容問題
- 純瀏覽器本機執行:所有設定和產生操作在瀏覽器本機 JavaScript 中完成,不發送任何資料到伺服器
- 零依賴即時使用:打開頁面即可使用,無需註冊登入,無需安裝任何軟體
- 與檢測工具聯動:相關連結直達 robots.txt 檢測工具,產生後可立即驗證規則是否正確
常見問題
robots.txt 是做什麼的?為什麼網站要有這個檔案?
robots.txt 是放置在網站根目錄下的一個純文字檔案,用來告訴搜尋引擎爬蟲(如 Googlebot、Bingbot、Baiduspider 等)哪些路徑可以抓取、哪些禁止存取。它是 Robots Exclusion Protocol(爬蟲排除協定)的實現方式,是網站抓取管理和 SEO 基礎設定的核心檔案。雖然不是強制要求,但幾乎所有正規網站都會設定 robots.txt 來引導爬蟲行為。
robots.txt 檔案應該放在哪裡?
robots.txt 必須放在網站的根目錄下,並且可以透過 http://你的網域/robots.txt 直接存取。例如 https://example.com/robots.txt。注意不要放在子目錄下(如 /blog/robots.txt 是無效的),爬蟲只會在根目錄尋找這個檔案。檔名必須是全小寫的 robots.txt,不能是 Robots.txt 或 ROBOTS.TXT。
Allow 和 Disallow 都為空時會產生什麼內容?
當 Allow 和 Disallow 均未填寫時,產生器會自動輸出 Allow: / 作為兜底規則,表示允許抓取整個網站。這可以避免產生空白檔案或只有 User-agent 行的不完整 robots.txt,防止爬蟲因規則不明確而產生不確定行為。
可以設定多個 Sitemap 位址嗎?
可以。Sitemap 區域支援多行輸入,每個 URL 會獨立輸出一行 Sitemap 宣告。例如大型網站通常會有多個 sitemap 檔案(文章 sitemap、產品 sitemap、圖片 sitemap 等),可以每行填寫一個完整的 Sitemap URL(必須是完整的絕對路徑,包含 http:// 或 https://)。
Host 指令的作用是什麼?所有搜尋引擎都支援嗎?
Host 指令用於指定網站的首選網域(如 example.com 或 www.example.com),幫助搜尋引擎識別主網域,減少 www 和非 www 版本之間的重複內容問題。目前 Host 指令主要被 Yandex 等搜尋引擎支援,Google 並不直接使用 Host 指令,而是透過 Google Search Console 設定首選網域。建議設定上但不要完全依賴它。
User-agent: * 是什麼意思?如何為特定爬蟲設定規則?
User-agent: * 表示規則適用於所有爬蟲(星號是萬用字元)。如果需要為特定搜尋引擎設定獨立規則,可以將 User-agent 設為具體的爬蟲名稱,如 Googlebot(Google)、Bingbot(Bing)、Baiduspider(百度)、Twitterbot(Twitter/X)等。可以設定多個 User-agent 分組,每組之間用空行分隔。
robots.txt 能真正保護敏感目錄不被存取嗎?
不能。robots.txt 只是一個君子協定,合規的搜尋引擎爬蟲會遵守規則,但惡意爬蟲、駭客掃描器完全可以忽略它。不要依賴 robots.txt 來保護真正的敏感內容(如後台密碼、使用者隱私資料),敏感目錄應該使用伺服器端身份驗證(密碼保護、IP白名單)等真正的安全措施。robots.txt 的作用是引導合規爬蟲,而非安全防護。
Disallow 規則的路徑匹配規則是什麼?
Disallow 規則使用前綴匹配:Disallow: /admin 會匹配 /admin、/admin/、/admin/login.html、/administrator 等所有以 /admin 開頭的路徑。如果只想匹配 /admin/ 目錄下的內容,應寫 Disallow: /admin/(帶尾部斜線)。Disallow: (空值)表示不禁止任何路徑(即全部允許)。注意規則區分大小寫。
產生的 robots.txt 如何部署到網站?
點擊複製按鈕將產生內容複製到剪貼簿,然後在伺服器上建立一個名為 robots.txt 的純文字檔案,貼上內容後將檔案上傳到網站根目錄(通常是 web root、public_html、www 或 dist 目錄)。部署後可透過 https://你的網域/robots.txt 存取驗證是否生效,也可以使用 Google Search Console 的 robots.txt 測試工具驗證規則。
修改 robots.txt 後多久生效?
搜尋引擎爬蟲下次造訪你的網站時會重新抓取 robots.txt 檔案,通常在幾小時到幾天內生效。如果你希望搜尋引擎儘快發現更新,可以在 Google Search Console 或 Bing Webmaster Tools 中提交 robots.txt 更新請求。注意:已經被收錄的頁面即使被 Disallow 也可能在搜尋結果中保留一段時間,完全移除需要配合 noindex 標籤或 URL 移除工具。
Allow 和 Disallow 衝突時哪個優先?
根據 RFC 9309(Robots Exclusion Protocol 正式標準),當 Allow 和 Disallow 規則路徑長度相同時,Allow 優先於 Disallow;當路徑長度不同時,匹配路徑最長的規則優先。例如 Allow: /blog 和 Disallow: /blog/ 衝突時,造訪 /blog/post.html 會匹配 Disallow(路徑更長 /blog/ > /blog),而造訪 /blog 本身會匹配 Allow。簡單來說,越具體的規則優先級越高。
可以在 robots.txt 中新增註解嗎?
可以,使用 # 號開頭的行即為註解行,爬蟲會忽略 # 後面的內容。註解可以寫在單獨一行,也可以寫在規則行末尾(# 後面的內容)。例如:# Block admin area 或 Disallow: /admin # admin panel。適當新增註解有助於自己和團隊成員理解每條規則的作用。
Sitemap URL 需要是絕對路徑嗎?
是的,Sitemap 指令必須使用完整的絕對 URL(包含協定和網域),如 Sitemap: https://example.com/sitemap.xml。不能使用相對路徑(如 /sitemap.xml),因為爬蟲可能從不同網域造訪你的網站(如 example.com 和 www.example.com),相對路徑會導致爬蟲無法確定正確位址。
設定資料會上傳到伺服器嗎?
完全不會。robots.txt 的所有設定和產生操作都在你的瀏覽器本機透過 JavaScript 完成,輸入的路徑、網域等設定資料不會發送到任何外部伺服器。頁面載入後即可離線使用(基礎功能),關閉頁面後資料自動清除,不會留下任何記錄。
產生的 robots.txt 可以用在任何網站嗎?
可以,產生器輸出的是標準 Robots Exclusion Protocol 格式的純文字檔案,適用於任何 Web 伺服器(Nginx、Apache、IIS、Caddy 等)和任何建站平台(WordPress、Shopify、Next.js、Django、Rails 等)。只要部署到網站根目錄並確保可公開存取即可。
故障排查
產生的檔案存取傳回 404 錯誤?
確認 robots.txt 檔案已上傳到網站根目錄(不是子目錄),檔名全小寫為 robots.txt,檔案權限設定為公開可讀(通常 644 權限即可)。上傳後直接在瀏覽器造訪 https://你的網域/robots.txt 確認能看到內容。不同伺服器根目錄位置不同:Nginx/Apache 通常是 /var/www/html/ 或 /usr/share/nginx/html/,Vercel/Netlify 通常是 public/ 目錄。
Disallow 規則不生效,頁面仍然被收錄?
可能的原因:①爬蟲尚未重新抓取 robots.txt(等待幾天或在 Search Console 提交更新);②路徑前綴匹配不正確(如 Disallow: admin 缺少 /,應寫 Disallow: /admin/);③頁面在新增 Disallow 之前已被收錄(已收錄的頁面不會自動移除);④惡意爬蟲不遵守 robots.txt;⑤存在 Allow 規則衝突覆蓋了 Disallow(Allow 路徑更長時優先)。需要徹底移除索引應使用 noindex 標籤。
Google Search Console 報告 robots.txt 阻止了頁面?
這通常意味著重要頁面被意外 Disallow 了。檢查 robots.txt 中是否有過於寬泛的 Disallow 規則(如 Disallow: / 或 Disallow: /*?),確認 CSS/JS 檔案沒有被禁止(Google 需要抓取這些檔案來渲染頁面)。使用 Search Console 的 robots.txt 測試工具輸入具體 URL 測試是哪條規則在阻止。
不小心設定了 Disallow: / 導致全站被禁止抓取?
立即移除或修改該規則,將 robots.txt 改為 Allow: / 或刪除 Disallow: / 行,上傳更新後的檔案到伺服器。然後在 Google Search Console 中提交 robots.txt 更新請求,並提交 sitemap 加速重新抓取。已經從索引中移除的頁面可能需要數天到數周才能重新收錄。
術語表
- robots.txt
- 放置在網站根目錄的純文字檔案,遵循 Robots Exclusion Protocol,用於告知合規搜尋引擎爬蟲哪些路徑允許/禁止抓取。
- Robots Exclusion Protocol (REP)
- 爬蟲排除協定,1994年提出,2022年標準化為 RFC 9309,是網站與爬蟲之間溝通抓取規則的事實標準。
- User-agent
- 規則組的起始欄位,指定後續 Allow/Disallow 規則適用的爬蟲名稱,* 萬用字元表示匹配所有爬蟲。
- Disallow
- 禁止抓取指令,指定不希望爬蟲存取的路徑前綴。例如 Disallow: /admin 禁止抓取所有以 /admin 開頭的路徑。
- Allow
- 允許抓取指令,指定明確允許爬蟲存取的路徑。在 Disallow 父路徑下開放特定子路徑時使用。
- Sitemap
- 網站地圖宣告指令,告知搜尋引擎網站 XML 網站地圖的完整 URL,幫助爬蟲高效發現和索引全站頁面。
- Host
- 首選網域指令,指定網站的主網域(如 example.com vs www.example.com),Yandex 支援,Google 透過 Search Console 設定。
- Crawler/Bot/Spider
- 爬蟲/蜘蛛/機器人,搜尋引擎自動造訪網頁並收集內容的自動化程式,如 Googlebot、Bingbot、Baiduspider 等。
- Googlebot
- Google 搜尋引擎的網頁爬蟲,負責抓取網頁內容供 Google 索引和排名,是最常見的搜尋引擎爬蟲之一。
- Crawl Budget
- 抓取預算/配額,搜尋引擎對每個網站分配的抓取頻率和頁面數量上限。合理設定 robots.txt 可以避免浪費抓取配額。
- Prefix Matching
- 前綴匹配規則,robots.txt 的路徑匹配方式。URL 路徑以規則值開頭即匹配成功,越長的規則優先級越高。
- noindex
- HTML meta 標籤或 HTTP 標頭指令(X-Robots-Tag: noindex),告訴搜尋引擎不要將該頁面編入搜尋索引。與 robots.txt Disallow 不同,noindex 是更可靠的移除索引方式。
常見搜尋引擎爬蟲 User-agent 名稱
設定特定爬蟲規則時使用的 User-agent 名稱:
| 爬蟲名稱 | 所屬搜尋引擎 | 用途 |
|---|---|---|
* | 所有爬蟲 | 萬用字元,匹配所有未單獨設定的爬蟲 |
Googlebot | Google 搜尋網頁抓取爬蟲 | |
Bingbot | Bing/微軟 | Bing 搜尋網頁抓取爬蟲 |
Baiduspider | 百度 | 百度搜尋網頁抓取爬蟲 |
YandexBot | Yandex | Yandex 搜尋網頁抓取爬蟲 |
GPTBot | OpenAI | ChatGPT 訓練資料抓取爬蟲 |
Twitterbot | X/Twitter | X 平台連結卡片預覽爬蟲 |
facebookexternalhit | Facebook 連結預覽爬蟲 |
常用 robots.txt 規則範例
不同網站場景的常用規則設定:
| 規則 | 效果 |
|---|---|
Disallow: /admin/ | 禁止抓取 /admin/ 目錄下所有內容 |
Disallow: /*? | 禁止抓取帶查詢參數的 URL(Googlebot 支援萬用字元 *) |
Disallow: /search | 禁止抓取站內搜尋結果頁 |
Allow: /public/ | 明確允許抓取 /public/ 目錄 |
Disallow: / | ⚠️ 禁止抓取整個網站(致命錯誤,慎用!) |
Allow: / | 允許抓取全站所有內容 |
robots.txt 標準指令速查表
RFC 9309 定義的標準指令及用法:
| 指令 | 作用域 | 格式範例 | 說明 |
|---|---|---|---|
User-agent | 組起始 | User-agent: * | 指定規則適用的爬蟲名稱 |
Disallow | 組內 | Disallow: /admin | 禁止抓取的路徑前綴 |
Allow | 組內 | Allow: /public | 允許抓取的路徑前綴 |
Sitemap | 非組級 | Sitemap: https://example.com/sitemap.xml | 宣告網站地圖位置(絕對URL) |
# | 任意位置 | # This is a comment | 註解行,爬蟲忽略 |
Privacy & Security
本 Robots.txt 產生器所有操作完全在你的瀏覽器本機完成:User-agent、路徑規則、Sitemap、Host 等設定輸入全部在瀏覽器記憶體中透過 JavaScript 即時組裝產生 robots.txt 文字,不會透過網路發送到任何伺服器。頁面載入後即可使用,不使用 Cookie 追蹤,不收集任何使用者資料。關閉或重新整理頁面後,所有設定內容自動清除,不會在瀏覽器中持久化儲存。
Authoritative References
- IETFRFC 9309 - Robots Exclusion Protocol 正式標準
- Google Search CentralGoogle 官方 robots.txt 規範
- Googlerobots.txt 測試工具(Google Search Console)
- Authentication Header 產生器
- Cache-Control 解析器
- Content-Disposition 解析器
- CORS 回應標頭產生器
- CORS跨域檢查器
- CSP 產生器
- cURL 轉程式碼產生器
- DNS 全球傳播檢查
- DNS查詢
- Forwarded 標頭解析器
- Hreflang 標籤產生器
- HSTS 分析器
- HTTP Cookie 解析器
- HTTP Headers 檢查工具
- HTTP 請求測試器
- HTTP狀態碼查詢
- IP 查詢
- IPv4 轉換器
- IPv4 範圍展開工具
- IPv6 工具箱
- Link 回應標頭解析器
- MX 查詢工具
- 連接埠檢查器
- URL 參數產生器
- Rate Limit Header Parser
- 重新導向鏈檢查器
- Robots.txt 產生器
- Robots.txt檢查
- Security Headers 檢查器
- Security.txt 產生器
- Set-Cookie 解析器
- Site Network Audit
- Sitemap 產生器
- Sitemap Inspector
- SSL憑證檢測
- 子網路計算機
- URL 解析器
- User-Agent解析器
- UTM 連結產生器
- WebSocket測試
- 我的 IP 是什麼?
- WHOIS查詢