作者:平白設計編輯部|發布與最後查證:2026-09-25|適用:台灣(中華民國)|技術資訊,不保證搜尋排名
新網站上線後,如果搜尋流量遲遲沒有起色,第一件事不是改內容,而是打開 robots.txt 檢查。很多開發者在測試階段會用 Disallow: / 擋掉全站爬蟲,正式上線卻忘了移除;或者不小心封鎖了 CSS 與 JS 資料夾,導致搜尋引擎無法正確渲染頁面。這篇文章整理新站上線最常見的 robots.txt 錯誤、Sitemap 路徑寫法,以及上線前該確認的技術清單。這是純技術檢查流程,不保證排名或收錄速度。
文章重點
- 測試期全站封鎖沒移除是最常見的低級錯誤
- WordPress 阻擋搜尋引擎選項上線前務必關閉
- 封鎖 wp-content 會讓搜尋引擎無法渲染版面
- robots.txt 不能取代 noindex 來移除已索引網址
測試站的全站封鎖指令別忘移除
在本地或測試機開發時,為了避免未完成頁面被搜尋引擎抓到,通常會在 robots.txt 加入 Disallow: / 來擋掉所有爬蟲。這個做法在測試環境很合理,但正式上線時若忘記刪除,整個網站就會對搜尋引擎關門。這是最容易發生、也最容易忽略的失誤。
要確認這個問題,直接在瀏覽器輸入你的網域加上 /robots.txt,例如 example.com/robots.txt。如果看到 User-agent: * 下面接著 Disallow: /,代表全站都被封鎖了。正確的上線版本應該只封鎖不需要爬取的路徑,例如後台登入頁或購物車結帳流程。
移除全站封鎖後,建議立刻到 Google Search Console 提交 Sitemap,讓系統知道網站已經準備好被讀取。不過要注意,送出 Sitemap 只是通知,不代表馬上會被收錄。這段等待期間,你可以同步檢查其他技術細節,確保沒有遺漏。

WordPress 的阻擋搜尋引擎設定
如果你用 WordPress 架站,後台的「設定」→「閱讀」裡有一個「阻擋搜尋引擎索引這個網站」的核取方塊。勾選它時,WordPress 會自動產生一份擋全站的 robots.txt。很多開發者在建置初期會勾起來,但上線切換時忘記取消,導致網站一直處於封鎖狀態。
這個選項本質上是幫你在 robots.txt 裡寫入 Disallow: /,跟手動加的效果一樣。差別在於它是透過系統動態產生的,有時候你直接去伺服器找檔案還找不到實體檔。所以檢查時一定要進後台確認這個選項有沒有被取消,不要只看 FTP 裡的檔案。
除了這個核取方塊,有些外掛或佈景主題也會在 header 塞入 noindex 標籤。上線前最好用瀏覽器的開發者工具檢視原始碼,搜尋 noindex 關鍵字,確保沒有殘留。這類問題跟 改版後 favicon 路徑怎麼抽樣 的檢查邏輯類似,都需要逐項比對。
User-agent: *
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /checkout/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
CSS 與 JS 被封鎖造成的渲染問題
早期 SEO 觀念常建議把 /wp-content/ 或 /css/、/js/ 等資源目錄擋起來,認為這樣可以節省爬蟲預算。但現在的搜尋引擎需要執行 JavaScript 和載入 CSS 才能正確理解頁面結構。如果你把這些目錄封鎖了,搜尋引擎看到的會是沒有樣式的破碎畫面,甚至讀不到關鍵內容。
Google 官方明確建議不要封鎖渲染頁面所需的資源。如果你的網站依賴前端框架或動態載入內容,擋掉 JS 可能導致搜尋引擎完全抓不到文字。檢查方式是到 Search Console 使用「網址檢查」工具,查看實際渲染後的截圖,確認跟使用者看到的畫面一致。
這類資源路徑的檢查,其實跟 改版後 web manifest 怎麼抽樣 的概念相通:都是確認靜態資源的路徑在上線後是否正確可存取。建議把 /wp-content/themes/ 和 /wp-content/plugins/ 從 Disallow 清單中移除,讓爬蟲能順利讀取樣式與腳本。

Sitemap 路徑必須使用絕對網址
在 robots.txt 裡宣告 Sitemap 位置時,必須使用完整的絕對網址,包含 https:// 協定。很多人習慣寫相對路徑,例如 Sitemap: /sitemap.xml,但這不符合規範,部分爬蟲可能無法正確辨識。正確的寫法是 Sitemap: https://example.com/sitemap.xml。
如果你的網站有多個 Sitemap,例如文章、產品、分類各一個,可以在 robots.txt 裡分行列出所有網址。也可以只放一個 Sitemap 索引檔的網址,讓索引檔再去指向其他子 Sitemap。無論哪種方式,每一行都必須是完整的絕對網址,不能偷懶省略網域。
寫好之後,記得用 Search Console 的 robots.txt 測試工具驗證語法是否正確。這個工具會告訴你哪些路徑被允許、哪些被封鎖,也能即時發現拼字錯誤或格式問題。另外,Sitemap 本身的內容也要定期檢查,確保沒有包含已刪除或重新導向的舊網址。
robots.txt 不是移除索引的工具
這是一個非常常見的誤解:很多人以為在 robots.txt 裡封鎖某個網址,就能讓它從搜尋結果消失。事實上剛好相反,如果一個頁面已經被索引,你後來才在 robots.txt 擋掉它,搜尋引擎反而無法讀取頁面上的 noindex 標籤,導致該網址繼續留在搜尋結果裡。
要真正移除已索引的頁面,正確做法是在該頁面的 HTML head 裡加入 meta name=”robots” content=”noindex” 標籤,或者在 HTTP 標頭裡設定 X-Robots-Tag: noindex。前提是搜尋引擎必須能爬到這個頁面,所以千萬不要在 robots.txt 裡同時封鎖它。
如果你想更深入了解標籤的設定方式,可以參考 改版後 og:locale 怎麼抽樣 那篇文章裡提到的 meta 標籤檢查技巧。總結來說,robots.txt 是用來控制「要不要爬」,而不是控制「要不要顯示」。兩者用途完全不同,混用會造成反效果。
| 檢查項目 | 正確做法 | 常見錯誤 |
|---|---|---|
| 全站封鎖指令 | 僅封鎖必要路徑如 /admin/ | 保留 Disallow: / 未移除 |
| WordPress 設定 | 取消阻擋搜尋引擎選項 | 上線後仍維持勾選狀態 |
| 資源目錄 | 開放 CSS 與 JS 供爬蟲讀取 | 封鎖 /wp-content/ 目錄 |
| Sitemap 路徑 | 使用含 https 的絕對網址 | 寫成相對路徑或拼錯檔名 |
| 移除索引需求 | 使用 noindex 標籤處理 | 誤用 robots.txt 封鎖來移除 |
可以先做
- 上線當天直接開啟瀏覽器檢查 robots.txt 內容
- 用 Search Console 網址檢查工具驗證渲染結果
- 確認 Sitemap 網址能正常開啟且格式正確
- 逐一核對 WordPress 後台閱讀設定是否已關閉阻擋
不要當成已完成
- 不要把 robots.txt 當成移除搜尋結果的工具
- 不要封鎖 CSS 與 JS 等前端渲染所需資源
- 不要假設開發環境的設定會自動在正式站更新
- 不要只靠肉眼檢查,務必用工具驗證爬蟲視角
常見問題
robots.txt 修改後多久會生效?
搜尋引擎通常會在數小時到一天內重新抓取 robots.txt,但實際生效時間取決於爬蟲排程。你可以用 Search Console 要求重新驗證,加快系統讀取新版本的速度。
可以用 robots.txt 隱藏敏感資料嗎?
不行。robots.txt 是公開檔案,任何人都能直接查看。它只是禮貌性的指引,惡意爬蟲完全可以無視。敏感資料應該用伺服器權限或密碼保護來處理。
Disallow 空白代表什麼意思?
Disallow: 後面不接任何路徑,代表允許所有爬蟲存取整個網站。這跟 Disallow: / 完全相反,後者是封鎖全站。上線時通常會使用空白的 Disallow 搭配特定路徑封鎖。
沒有 robots.txt 檔案會有問題嗎?
不會有嚴重問題,搜尋引擎會預設允許爬取所有頁面。但建議還是放一份,至少用來指定 Sitemap 位置,並封鎖不需要被抓取的後台或測試路徑。
重點摘要
- 上線前務必移除測試期的全站 Disallow 指令
- WordPress 阻擋搜尋引擎選項需確認已取消
- CSS 與 JS 資源目錄不應被封鎖以免影響渲染
- 移除索引應使用 noindex 而非 robots.txt 封鎖
