robots.txt 和網站地圖要不要做?中小企業的最小設定
約 5 分鐘
這兩個檔案沒有畫面、訪客看不到,卻能決定整個網站在不在搜尋結果裡。它們也是我看過最常設錯的地方:開發時把整站封鎖,上線後沒改回來,網站就這樣安靜地消失好幾個月。好消息是兩個都很簡單,看懂之後五分鐘就能確認自己有沒有問題。
1. 兩個檔案分別在做什麼
robots.txt 放在網域根目錄,是一份給爬蟲看的門禁規則,說明哪些路徑不要進。它是請求不是強制。正派的搜尋引擎會遵守,惡意程式不會。所以它擋得住的只有守規矩的那一邊,不是安全機制。
網站地圖是一份目錄,列出你希望被收錄的網址,通常是一個依 sitemaps.org 協定寫成的 XML 檔。它不保證每一頁都會被收錄,但能讓搜尋引擎少花力氣找路。頁數多、或內部連結不密的網站,差別特別明顯。
| robots.txt | 網站地圖 | |
|---|---|---|
| 管什麼 | 能不能進:哪些路徑不要爬 | 有哪些頁:你希望被收錄的網址 |
| 放在哪 | 網域根目錄,檔名固定 | 通常也在根目錄,網址寫進 robots.txt 最後一行 |
| 設錯的代價 | 一行寫錯,整站從搜尋結果消失 | 收錄變慢,或讓搜尋引擎讀到一堆已刪除的網址 |
| 要不要做 | 一定要有,就算內容只有三行 | 頁數少也建議做,等於多一個檢查點 |
兩件事不一樣,都要做,而且要對得起來。robots.txt 擋掉的路徑,就算寫進網站地圖裡也讀不到,兩邊會互相打架。這種矛盾在 Search Console 會顯示成錯誤,但沒人去看的話,它可以安靜地存在好幾個月。
2. 最小可用的設定長什麼樣
多數中小企業網站不需要複雜的規則。一個乾淨的 robots.txt 只做兩件事:開放全站給搜尋引擎,並指出網站地圖在哪裡。
第一段寫 User-agent: * 接著 Allow: /,意思是所有爬蟲都可以讀全站。最後一行寫 Sitemap: 加上網站地圖的完整網址,讓爬蟲一進來就知道目錄在哪。整份檔案三行就結束,對多數網站這樣已經夠用。
真的有不該被收錄的路徑,再加 Disallow。後台登入頁、購物車、站內搜尋結果頁這類動態頁面沒有收錄價值,擋掉合理。想開放給 AI 引擎讀取的話,可以另外列出它們的名稱並開放,沒列的話多數會套用星號那一組規則。
網站地圖則建議在建置或發文流程中自動產生。手動維護的版本幾乎一定會過期:新增文章忘了加、改了網址忘了改。久了它就變成一份會誤導搜尋引擎的清單,比沒有還糟。
3. 三種常見的設錯方式
下面三種是實際看過最多的。共同點是網站畫面完全正常,不去打開那兩個檔案就不會發現,所以它們往往拖到有人問「為什麼搜不到」才被抓出來。
最嚴重的是整站封鎖沒解除。開發階段常寫 Disallow: / 擋掉所有爬蟲,避免半成品被收錄,上線後卻忘了改回來。這一行的代價是整個網站搜不到,而且不會有任何錯誤訊息提醒你。上線好幾個月完全沒有搜尋流量的網站,很多是死在這裡。
第二種是把樣式與程式檔案擋掉。有些舊教學建議封鎖這類目錄,理由是省下爬取的資源。但搜尋引擎需要它們才能正確把頁面畫出來,擋掉會影響行動裝置適用性的判斷,省下的那點資源完全不划算。
第三種是網站地圖裡有錯的網址。裡面含大量已刪除的頁面,或還是換掉之前的舊網域。搜尋引擎讀到一堆讀不到的連結,會降低對這份清單的信任,之後你新增的頁面也跟著被慢慢處理。
4. 怎麼自己驗證
兩個檔案都是公開的,不需要任何工具就能檢查。下面四件事做完,上面三種錯就都排除了。改版、換主機、換網域之後各做一次,平常不必管它。
這四件事,五分鐘做得完
- 打開你的網域加 /robots.txt。看得到內容代表檔案存在,找找看有沒有 Disallow: / 這一行。
- 打開你的網域加 /sitemap.xml。確認裡面是現在的網址,數量跟實際頁數接近。
- 看 Search Console 的網站地圖報告。上次讀取時間與讀到的網址數,要跟你自己數的對得起來。
- 用網址審查貼幾個重要頁面。確認它們沒有被封鎖,而且已經建立索引。
5. 網站地圖要不要放不重要的頁面
網站地圖不是把所有網址塞進去就好。它同時在表達「這些是我認為值得收錄的頁面」,放進去的東西要對得起這句話。標籤頁、分頁列表、感謝頁這類通常不必放,它們就算被收錄也不會有人搜。
已經刪除或轉址的網址要移除,留著只會製造讀取失敗。有中英文版本的話,可以在同一份地圖裡標明語言對應,讓搜尋引擎知道它們是同一份內容的不同版本,不會被當成重複。
還有一個容易被忽略的欄位是更新時間,它要誠實。每次產生都填今天,而內容其實沒改,搜尋引擎比對幾次之後就會忽略這個欄位。等到你真的更新了重要內容,它也不會特別回來看。
這兩個檔案的特性是平常沒感覺、錯了很致命。上線前確認一次,之後只要在改版或換網域時再看一眼就好。如果你的網站已經上線一段時間卻搜不到,這裡是最值得先查的地方。
常見問題
- 小網站只有五頁,也需要做網站地圖嗎?
- 頁數少、而且每一頁都從首頁連得到的話,沒有網站地圖也會被找到,影響不大。但它成本很低,做了可以在 Search Console 看到讀取狀態,等於多一個檢查點。如果站上有從首頁點不到的頁面,那就一定要做。
- robots.txt 可以用來擋掉不想被看到的頁面嗎?
- 不行,而且會有反效果。robots.txt 是公開檔案,任何人都能打開來看,把敏感路徑寫進去等於公告那裡有東西。真的不想被看到要靠登入權限或伺服器層級的存取控制。不想被收錄但可以公開的頁面,用 noindex 標記比較正確。
- 改了 robots.txt 之後多久生效?
- 搜尋引擎會定期重新讀取這個檔案,通常一天內就會拿到新版本。在 Search Console 可以查看它最後讀到的內容,確認生效了沒。解除封鎖之後,頁面重新被收錄還要再等一段時間,不會立刻回來。