搜尋・AI曝光漫遊器排除標準・給爬蟲的指引檔案
robots.txt
robots.txt是一個說明檔案,告訴搜尋引擎和AI的自動造訪程式(爬蟲)網站的哪些地方可以讀取。
就像店家後門貼的「員工以外禁止進入」告示。守規矩的客人會遵守,但它不是門鎖。
再多說一點
它固定放在「店家網址.kr/robots.txt」。可以依爬蟲名稱分別寫明允許或封鎖,例如Google的Googlebot、Naver的Yeti、OpenAI的GPTBot。
不小心把整個網站擋住的話,可能會從搜尋和AI回答中整個消失。製作期間擋住的設定,上線時忘了解除,這種失誤相當常見。
robots.txt是任何人都能打開來看的公開檔案,不是安全機制。需要隱藏的頁面,要用登入或密碼保護。
robots.txt長什麼樣子?
robots.txt是一個純文字檔,一行一行寫著「對哪個機器人(User-agent)」「哪裡不要進來(Disallow)」「哪裡可以進來(Allow)」。2022年9月,國際網路標準組織(IETF)以RFC 9309發布了標準文件。
檔名一定要是robots.txt,位置在網站最上層的資料夾,格式是UTF-8純文字檔。規則只適用於該檔案所在的網域・通訊協定・連接埠,所以像「shop.店家網址.kr」這樣的子網域,需要另外準備一個檔案。
欄位名稱(User-agent、Disallow)不分大小寫,但路徑有分。「/Admin」和「/admin」會被視為不同的路徑。
- User-agent: * → 適用於所有機器人。
- Disallow: /admin/ → 請不要讀取/admin/底下的內容。
- Allow: / → 其餘都可以讀取。
- Sitemap: https://店家網址.kr/sitemap.xml → 網站地圖在這裡。
robots.txt和noindex有什麼不同?
robots.txt的意思是「請不要來讀取」,noindex則是「可以讀,但請不要放進搜尋結果」。Google明確表示,robots.txt不是用來把頁面排除在Google搜尋之外的方法。
用robots.txt阻擋的頁面,如果其他地方有連結,還是可能只顯示網址、沒有說明地出現在搜尋結果中。要確實從搜尋中排除,就要用noindex,而且該頁面不能用robots.txt阻擋,機器人才讀得到noindex。
實務上可以這樣分工:不需要給客人看的通知頁面用noindex,可能讓機器人無止境打轉的搜尋・篩選網址用robots.txt,有個人資料的地方用登入保護。
表格可以左右滑動查看
| 方法 | 作用 | 搜尋結果 | 適合的地方 |
|---|---|---|---|
| robots.txt Disallow | 讓機器人不來讀取頁面 | 有連結的話可能只顯示網址 | 管理後台、站內搜尋結果這類機器人容易打轉的地方 |
| noindex | 讀取後不放進搜尋清單 | 從搜尋結果中移除 | 預約完成・測試頁面 |
| 登入・密碼 | 只讓獲得許可的人進入 | 機器人也進不來 | 會員資料、訂單紀錄、內部資料 |
robots.txt要怎麼製作和檢查?
大部分的網站製作工具和框架都會自動產生robots.txt。老闆只要在上線前打開看一次,依下面的順序確認就好。
Naver Search Advisor有簡單產生並下載robots.txt的功能,也能把修改後的檔案直接送出收集請求,並測試特定頁面是否被阻擋。Google則不需要另外提交新檔案,會自己來讀取。
修改robots.txt後如果想讓Google快點知道,可以在Google Search Console的robots.txt報告中要求重新檢索。否則Google儲存的舊檔案可能還會沿用一段時間。
- 01用無痕視窗打開「店家網址.kr/robots.txt」,確認檔案以文字顯示。
- 02確認「User-agent: *」底下是不是只有一行「Disallow: /」。如果是,代表整個網站都被擋住了。
- 03看看Disallow是否只寫了管理後台這類機器人不需要讀取的路徑。
- 04確認最下方的Sitemap那一行有網站地圖的完整網址。
- 05在Google Search Console設定選單的robots.txt報告中,確認沒有錯誤。
- 06在Naver Search Advisor網站管理員工具的驗證選單中,對robots.txt送出收集請求,並測試主要頁面是否顯示為可收集。
沒有robots.txt或robots.txt出錯會怎樣?
沒有這個檔案的話,搜尋機器人會視為所有頁面都可以讀取。Naver和Google都會把robots.txt回傳404這類「不存在」的回應,解讀為沒有限制。
伺服器錯誤(5xx)反而很危險。Naver會把它解讀為「全部不允許」,Google則會在最初12小時內停止檢索網站,之後最多30天沿用最後讀到的規則。伺服器不穩定的話,搜尋機器人可能完全讀不到網站。
此外還有一些值得知道的標準。Google通常會把robots.txt儲存最多24小時來使用,所以修改的內容可能不會馬上反映,超過500KiB的部分也會被忽略。Naver則說明,如果robots.txt回傳的是HTML文件,可能會忽略裡面的規則、視為「不存在」。
AI爬蟲要怎麼用robots.txt管理?
AI爬蟲也可以依名稱(User-agent)分別寫明允許或封鎖。例如OpenAI把用於訓練的GPTBot和用於ChatGPT搜尋的OAI-SearchBot分開,Google則用Google-Extended這個名稱,讓您另外決定是否允許用於Gemini訓練和作為回答依據。
Google搜尋的AI摘要(AI Overviews)和AI模式,依循的是一般搜尋機器人Googlebot的設定。Google表明Google-Extended不會影響是否被收錄進搜尋或排名。反過來說,擋住Googlebot的話,可能會同時從一般搜尋和AI功能中消失。
如果是店家網站,客人問AI時能出現正確的資訊,多半是好事。建議把訓練用和搜尋用分開思考,至少優先考慮開放AI搜尋用的爬蟲。不過robots.txt只是建議性質,不保證所有爬蟲都會遵守。
robots.txt常見的錯誤有哪些?
把想隱藏的路徑寫在robots.txt裡,等於告訴每個打開這個檔案的人那個路徑在哪裡。國際標準文件也寫明,robots.txt規則不是存取權限機制,無法取代資安措施。
擋住設計檔案(CSS)或程式碼(JS)的路徑也是常見錯誤。搜尋機器人要連這些檔案一起讀,才能正確理解畫面,所以Naver也建議這類資源要和頁面套用相同規則,或設為允許。
上線前,請把robots.txt和noindex當成一組一起確認。解除製作期間的阻擋,對開發人員來說只是改一行,但漏掉的話,可能會從搜尋中消失好幾週。
- 製作期間加上的「Disallow: /」,上線後還留著
- 標了noindex的頁面又用robots.txt擋住,導致noindex讀不到
- 擋住CSS・JS・網站圖示(Favicon)的路徑
- 把robots.txt放在子資料夾,而不是網站最上層
- 路徑的大小寫和實際網址不一致
舉例來說
- 寫明不讓搜尋爬蟲讀取管理後台網址(/admin)。
確認這幾點就好
- 打開店家網址.kr/robots.txt,確認沒有「全部封鎖」
- 是否一併寫上網站地圖的網址
- 是否決定好要封鎖還是開放AI爬蟲
我的店需要嗎?
每個網站都有這個檔案。上線前一定要確認一次。
在ISSYMO
在搜尋・AI曝光基本設定中,我們會一併整理robots.txt和網站地圖,並開放讓主要的AI爬蟲可以讀取。
了解SEO・GEO常見問題
參考資料
最後更新日