2024.02.28 120 1 min read

robots.txt 怎麼寫:常見規則、誤區與檢查方法(2026)

robots.txt 管的是抓取,不是直接決定是否收錄。本文圍繞企業站常見目錄、引數頁和 WordPress 場景,整理 robots.txt 的寫法、誤區與檢查方法。

`robots.txt` 不是一個“遮蔽搜尋結果”的開關,它的核心作用是告訴爬蟲哪些路徑不要抓,哪些路徑可以抓。很多網站把它寫錯之後,最常見的問題不是更安全,而是把本來該抓取的內容擋住了,或者誤以為“禁止抓取”等於“不會收錄”。

如果你把 `robots.txt` 當成抓取管理檔案來理解,很多問題就會簡單得多:它影響的是抓取許可權,不是索引結果本身,更不是網頁安全方案。這一點 Google 官方robots.txt 介紹robots.txt 規範講得很清楚。

什麼是 robots.txt?

`robots.txt` 是放在網站根目錄下的純文字檔案,常見地址是:

https://example.com/robots.txt

搜尋引擎爬蟲訪問網站時,通常會先讀取這個檔案,判斷哪些路徑允許抓取、哪些路徑不建議抓取。它基於 robots exclusion protocol 工作,主要用於抓取層面的管理。

robots.txt 解決的是什麼問題?

它更適合處理這些場景:

它不適合解決這些問題:

如果頁面已經被發現過,僅僅 `Disallow` 並不保證它一定不會出現在搜尋結果裡。真正涉及索引控制,通常要結合 `noindex` 或狀態碼處理,而不是隻靠 `robots.txt`。

幾個 Google 官方明文、但很多人不知道的事實,能幫你避開大坑:

block≠noindex
被Disallow的頁,Google仍可能索引其URL(只是沒摘要)。想真正不收錄要用noindex,而且不能同時block
來源:Google官方
noindex已棄用
在robots.txt裡寫noindex,Google自2019/9/1起不再支援。還在這麼寫的趕緊改用meta標籤
來源:Google官方
crawl-delay無效
Google忽略crawl-delay(Bing/Yandex認);控Googlebot速率用GSC設定。robots.txt還有500KB上限,超出忽略
來源:Google官方

robots.txt 最常見的語法

User-agent

指定規則針對哪個爬蟲。寫 `*` 代表通用規則。

Disallow

表示不希望抓取的路徑。

Allow

在更細的路徑層級上允許抓取,常見於你禁止了大目錄,但想放開其中某個資源時使用。

Sitemap

告訴爬蟲站點地圖在哪裡。

一個很基礎的例子:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

Sitemap: https://example.com/sitemap_index.xml

這類寫法在 WordPress 站點裡很常見。

什麼時候該寫 robots.txt,什麼時候不該亂寫?

適合認真配置的情況

不建議靠 robots.txt 硬控的情況

尤其是現在很多頁面依賴前端資源渲染,如果把關鍵 CSS、JS 路徑誤攔住,搜尋引擎看到的頁面就可能不完整。這類問題通常會直接影響抓取理解和頁面評估。

企業站裡常見的 robots.txt 場景

1. 後臺目錄

WordPress 常見做法是限制 `/wp-admin/`,但放開 `admin-ajax.php`。這類路徑本來就不需要作為公開內容被抓取。

2. 站內搜尋頁

如果站內搜尋會生成大量重複結果頁,這類 URL 往往不值得反覆抓取。它們更適合從抓取層面做限制,再結合索引策略處理。

3. 引數頁和篩選頁

很多電商或目錄型網站會因為引數組合產生大量重複 URL。這個時候 `robots.txt` 能幫你減少無效抓取,但是否要完全攔截,仍然要看頁面是否有獨立價值。

4. 測試目錄和臨時目錄

如果這些目錄只是內部使用,應該從上線流程和訪問許可權上先管好,再決定是否額外寫入 `robots.txt`。

robots.txt 最容易犯的 7 個錯誤

錯誤 1:把它當作 noindex 用

這是最常見的誤解。`Disallow` 是”不讓抓”,不是”保證不收錄”。如果頁面已經被其他地方發現,仍可能以 URL 形式出現在結果中。

這裡有個反直覺的坑:想讓頁面不被收錄,反而不能 block 它——因為一旦 block,Googlebot 根本訪問不到頁面,也就讀不到頁面裡的 noindex 標籤。正確做法對照如下:

你想要的效果正確做法常見錯誤
別浪費抓取在低價值目錄robots.txt 裡 Disallow(允許它URL可能仍被收錄)以為 Disallow 了就不會出現在搜尋裡
頁面徹底不出現在搜尋結果頁面加 noindex meta,且不要在robots.txt裡block它同時 Disallow + noindex → Google爬不到、讀不到noindex,反而可能露出URL
隱藏敏感內容用登入/許可權控制靠 robots.txt”隱藏”——它本身公開可讀,等於給了路徑清單

錯誤 2:誤攔重要目錄

有的網站一上來就把整個 `/blog/`、`/product/` 或 `/wp-content/` 都擋掉,結果搜尋引擎連核心內容和資源都抓不到。

錯誤 3:規則寫得過寬

比如你本來只想攔某個測試路徑,卻因為模式寫得太寬,把一批正常頁面也帶進去了。規則越少越清楚越好。

錯誤 4:改完不測試

robots 規則一旦寫錯,影響通常是整片目錄,不是單頁小問題。上線前最好至少做一次路徑核對。

錯誤 5:把敏感目錄寫進去當作“隱藏”

`robots.txt` 本身是公開的,別人完全可以直接訪問。真正敏感的內容不該靠它保護。

錯誤 6:忘記寫 Sitemap

這不一定致命,但如果站點地圖已經穩定存在,順手寫進去通常更利於爬蟲發現結構。

錯誤 7:和頁面級規則互相打架

如果一邊在 `robots.txt` 裡阻止抓取,一邊又希望搜尋引擎讀取頁面裡的 `noindex`,就會出現邏輯衝突。因為頁面都抓不到,很多頁面級訊號也就無法讀取。

WordPress 網站怎麼處理更穩?

如果你用的是 WordPress,很多基礎規則可以透過 SEO 外掛或伺服器配置輔助生成,但不要因為“外掛會自動生成”就完全不檢查。自動生成的規則只覆蓋基礎情況,不一定適合你的目錄結構。

建議至少確認這幾件事:

如果站點部署在 Cloudways 這類環境裡,也一樣要從實際 URL 結構出發看規則,而不是直接套模板。

怎麼檢查 robots.txt 是否寫對了?

一個簡單的檢查順序是:

  1. 直接開啟 `域名/robots.txt`,確認線上檔案是不是你以為的那份
  2. 抽查幾類關鍵 URL:文章頁、服務頁、圖片、JS、後臺、引數頁
  3. 確認你想限制的路徑真的被限制了,你想放開的資源沒有被誤傷
  4. 去 Search Console 看抓取與索引反饋,留意是否出現資源受阻或頁面無法抓取的問題

如果網站最近改過模板、遷移過伺服器、換過快取或 CDN,這一步尤其不能省。很多 `robots.txt` 問題不是寫在 CMS 裡,而是被部署流程或快取層改掉了。

robots.txt 和 robots meta 有什麼區別?

一句話區分:

兩者不能混用。頁面是否該保留在索引裡,往往要配合robots meta、canonical、狀態碼和內鏈策略一起判斷。

最後怎麼理解 robots.txt 更準確?

把 `robots.txt` 理解成網站給爬蟲的一份抓取路線說明,比把它理解成“封禁工具”更準確。它的價值不在於寫得多複雜,而在於邊界清楚:該抓的別擋,不該浪費資源的地方也別放任亂抓。

對於大多數企業站來說,`robots.txt` 只要把基礎規則寫對,再配合索引控制和頁面結構治理,已經足夠。真正麻煩的從來不是語法,而是沒分清”抓取控制”和”索引控制”。如果你正在系統理順這塊,可以一起看XML Sitemap 怎麼做404/410/301 怎麼選——它們和 robots.txt 都是”該讓 Google 抓誰、收誰”的一套治理。

天问网络技术团队
专注外贸B2B独立站建设和谷歌SEO优化,专注于技术驱动的谷歌SEO和高转化独立站建设,官网持续稳健的自然搜索点击。

需要专业SEO优化服务?

让我们的技术团队帮您将知识落地执行,提升谷歌搜索排名。

免费获取SEO诊断
// 相关文章
2026.03.14
谷歌SEO關鍵詞研究完整指南:從挖掘到佈局的20個步驟
2024.02.27
頁面速度測試工具怎麼選:SEO 排查與測速工具清單(2026)
2024.04.30
WordPress 免費 SSL 怎麼裝:證書、跳轉與排錯(2026)