WordPress 會在網站根目錄缺少實體的 /robots.txt 檔案時,提供一個僅包含兩行的虛擬 robots.txt —— User-agent: * 和 Disallow: /wp-admin/。這段文字是由 WordPress 核心即時產生的,並未儲存在磁碟上,這就是為什麼你在 wp-content 目錄中永遠看不到它,也無法透過編輯佈景主題來變更它。多數 SEO 指南將這個虛擬輸出視為「WordPress 預設的 robots.txt」,但它其實只是個佔位符:它沒有 sitemap 參照、沒有 host 指令,也沒有對暫存環境、草稿資料夾、外掛目錄或你希望排除於爬蟲之外的 feed 網址提供任何保護。對於希望以確定方式控管合規爬蟲行為的網站,建議的做法是在根目錄發布你自己的實體 /robots.txt,並將該檔案視為真正的預設檔案。Robots.txt Generator 會在你的瀏覽器中使用 RFC 9309 的群組與規則語法建立該檔案,接著附加一行從你輸入的網址衍生出來的 sitemap,讓你不必手動編輯結果。所有過程都在本機完成 —— 你輸入的網址、選擇要禁止的路徑,以及下載的檔案都不會離開這個分頁 —— 這在你處理私人暫存環境或不想上傳到任何地方的客戶專案時特別重要。

default robots txt for wordpress
WordPress 預設的 robots.txt:一個安全的起點

WordPress 所隨附的「預設」robots.txt 是什麼

當 WordPress 安裝完成,且沒有任何 /robots.txt 檔案上傳到文件根目錄時,WordPress 會攔截對該路徑的請求,並提供它自己的虛擬內容。這個虛擬回應在每個標準的 WordPress 安裝中都相同,由 User-agent: * 後接 Disallow: /wp-admin/ 組成。它沒有 sitemap 參照、沒有 crawl-delay,也未對 /wp-includes/、/feed/、作者封存、草稿預覽或暫存子網域提供任何保護。Yoast 與 Rank Math 等 SEO 外掛套件,有時會在這個虛擬回應中附加額外的註解與規則,但僅在它們處於啟用狀態並經設定如此時才會發生;在沒有 SEO 外掛的標準 WordPress 安裝中,輸出就是這個僅含兩行的精簡版本。

這之所以對你的預設 robots.txt 規劃很重要,是因為虛擬輸出對你的檔案管理員來說是不可見的。你無法在編輯器中開啟它、無法對它進行版本控管,也無法將它與備份進行差異比對。一旦你在根目錄放置一個實體檔案,WordPress 就會停止產生虛擬回應,而是改為提供你的檔案 —— 而那正是該檔案真正屬於你的時刻。

為何實體檔案優於虛擬預設

與 WordPress 預設產生的虛擬佔位符相比,實體的 /robots.txt 為你帶來四項具體優勢:

  • 內容可預期。你上傳的確切位元組,就是爬蟲所看到的确切位元組。沒有任何佈景主題、外掛或核心變更能悄悄改寫你的規則。
  • 不受更新影響。WordPress 核心更新、佈景主題切換與外掛重新安裝,都不會動到實體檔案,因此你的爬蟲政策不會退步。
  • 可包含 sitemap 行。標準的 robots.txt 群組與規則模型允許 Sitemap: 行,而大多數主要爬蟲都會讀取它。虛擬回應並未包含 sitemap 行,因此預設情況下你會失去這個探索提示。
  • 不受安全性外掛與快取層影響。某些快取與防火牆外掛會改寫或剝除虛擬回應。在網頁伺服器層級的靜態檔案則較難遭到竄改。

基於上述原因,將手動建立的實體 /robots.txt 視為你的「真正」預設 —— 即使第一版僅包含 Allow: / 加上一行 sitemap —— 對任何 WordPress 專案而言都是更安全的基準。

為 WordPress 入門選擇合適的模式

Robots.txt Generator 為其所產生的單一萬用字元群組提供三種模式,每一種對應不同的 WordPress 起點。

模式在 User-agent: * 下所寫入的規則最適合的 WordPress 用途
Allow all(全部允許)Allow: /大多數正式環境網站,希望所有公開網址都可被爬取,僅需要 sitemap 參照
Selective disallow(選擇性禁止)每個你輸入的路徑一行 Disallow:希望在不完全隱藏所有內容的情況下,將 /wp-admin/、草稿資料夾、內部搜尋或 /feed/ 排除於爬蟲之外的網站
Block all(全部封鎖)Disallow: /完全不應被索引的暫存環境、維護中的網站或開發鏡像站

Allow all 模式最接近大多數人所指的 WordPress 網站預設 robots.txt:向合規的爬蟲敞開大門、發布 sitemap 行,然後就告一段落。選擇性模式則是在你了解哪些路徑正在浪費爬取預算或洩漏內部網址後,才會逐步採用的進階做法。Block all 模式則適用於整個網站應對爬蟲隱形,直到你解除該限制為止的情境。

如何為 WordPress 建立預設的 robots.txt

請依照下列步驟,使用基於瀏覽器的產生器,為你的 WordPress 網站產出符合標準的入門檔案。

  1. 在瀏覽器中開啟 Robots.txt Generator。無資料會被傳送到伺服器 —— 你輸入的網址會保留在目前的分頁中。
  2. 在網址欄位中輸入網站的完整 origin,包含通訊協定。對於正式環境的 WordPress 網站,通常是 https://yourdomain.com(若你有使用明確連接埠,則需一併填入,例如 http://staging.yourdomain.com:8080)。產生器會將網址正規化至其 origin,以免 sitemap 行不小心繼承了頁面路徑、查詢參數或片段。
  3. 選擇 Allow all,以建立一個最精簡的預設,對應典型的 WordPress 起點。僅當你已有明確要隱藏的路徑清單時,才切換到 Selective disallow;若是用於暫存或維護期間,則切換到 Block all。
  4. 若你選擇的是選擇性模式,請每行輸入一個路徑,每條規則皆以 / 開頭。完全重複的項目會依你輸入的順序被移除,清單上限為 50 條規則,井字號會被拒絕,而萬用字元星號與結尾的錢號則會被保留,因為 RFC 9309 將它們定義為比對字元。
  5. 點選 Generate,然後閱讀所產生的純文字區塊。確認唯一的 User-agent: * 群組、Allow: 或 Disallow: 行符合你的預期,並確認附加的 Sitemap: 行指向 <your-origin>/sitemap.xml。若你的 sitemap 位於其他位置,請在儲存前編輯該行。
  6. 將檔案下載為 robots.txt(小寫,且完全一致)。在另一個分頁開啟正式環境目前的檔案 https://yourdomain.com/robots.txt,並排進行差異比對,確認舊檔案中沒有任何重要內容被遺漏。請保留一份舊檔案作為回復之用。
  7. 將新檔案以 /robots.txt 發布至其所管轄的完全相同的通訊協定、主機與連接埠,並以 text/plain 提供服務。位於子目錄、不同子網域或不同通訊協定下的檔案,不會管轄你所預期的 origin。

步驟 6 是多數團隊最容易略過的一步。備份與差異比對只需三十秒,卻能避免你不慎移除了爬蟲專屬的群組或前任管理員刻意加入的路徑。

在 WordPress 中應將 robots.txt 上傳到哪裡

將檔案放到伺服器上有四種可靠的方法。請擇一並貫徹使用,以免檔案最後出現在兩個地方。

  • FTP/SFTP 或 SSH。連線至你的主機帳號,並將 robots.txt 上傳至文件根目錄 —— 也就是與 wp-config.php、wp-admin/ 和 wp-includes/ 同層的目錄。這是最直接的方法,適用於所有主機。
  • 主機商提供的檔案管理員。大多數代管的 WordPress 主機(Kinsta、WP Engine、SiteGround)都會在其控制台中提供檔案管理員。以相同方式將檔案上傳至文件根目錄即可。
  • cPanel 或 Plesk 檔案管理員。目標目錄相同 —— 文件根目錄,而不是其內部的 wp-content 資料夾。
  • WordPress 外掛。Yoast 與 Rank Math 等 SEO 外掛在儀表板中內建了 robots.txt 編輯器。使用該編輯器會透過 WordPress 檔案系統 API 為你寫入檔案。如需更深入了解儀表板與外掛的操作路徑,請參閱如何在 WordPress 中建立 robots.txt 檔案。

上傳完成後,請在私密瀏覽視窗中載入 https://yourdomain.com/robots.txt,確認你所閱讀的是新內容。若你仍看到兩行的虛擬輸出,代表你的檔案並未成功送達文件根目錄,或你的主機商正在積極地快取回應。

編輯 WordPress robots.txt 的常見陷阱

有幾種模式出現得夠頻繁,值得特別點出:

  • 將它視為存取控制。robots.txt 是公開的爬蟲請求,而非身分驗證。任何你列出的路徑,對於任何能猜到該網址的人來說同樣是可見的,而惡意用戶端可以完全忽略這些規則。對於私密內容,請使用伺服器端的身分驗證。
  • 不小心封鎖了所有內容。在萬用字元群組下一條孤立的 Disallow: / 規則,會將整個網站從合規的爬蟲面前隱藏起來。在你確切知道要隱藏哪些路徑之前,Allow all 模式是更安全的預設。
  • 大小寫不一致。RFC 9309 規定爬蟲以區分大小寫的方式比對路徑,並選取最長的相符規則。/Private 與 /private 是不同的路徑,而 Disallow: /draft 與 Disallow: /draft$ 所表達的意圖也不相同(結尾的錢號會將比對錨定在路徑結尾)。
  • 以列出敏感路徑來取代登入檢查。將 /internal-finance/ 放入 robots.txt 只能讓合規的爬蟲看不到該頁面,卻無法保護它免於已登出訪客或暴力破解探測的侵擾。身分驗證應由伺服器負責。
  • 假設封鎖就會將網址從搜尋結果中移除。爬取與索引是兩件不同的事。搜尋引擎仍可能透過連結發現某個網址並列出,在完全不擷取該頁面的情況下保留有限的資訊。如需達成實際目標,請使用頁面層級的索引控制、HTTP 標頭或下架流程。

安全地測試與還原

在將新檔案作為預設檔案之前,請執行三項快速檢查。首先,在私密瀏覽視窗中載入該檔案,並確認位元組內容與您產生的內容一致。其次,透過搜尋引擎的 URL 測試工具(例如 Google 的 URL 檢查工具)存取一個允許的 URL 和一個禁止的 URL,並確認爬蟲回報的結果與您預期的相同。第三,如果您想查看在 RFC 9309 比對語意下,各種爬蟲產品權杖如何與您的規則匹配,可以將您的網站通過 robots.txt 檢查工具進行測試。

如果有任何問題,請還原先前的檔案。產生器不會為您刪除現有的線上檔案——這一步驟由您自行處理——因此還原作業只需上傳您在教學步驟 6 中建立的備份即可。一旦您對結果感到滿意,請在部署記錄中記錄此次變更,以便下一位編輯該檔案的人員了解基準應該是什麼樣子。

產生器所使用的群組與規則模型定義於 RFC 9309,機器人排除通訊協定,而檔名、位置和內容類型的預期則符合 Google 的 robots.txt 建立指南。

如果您正在權衡各種選項,ads.txt 產生器速查表:欄位規則與輸出 對此有詳細說明。