技術 SEO 入門:爬取、索引、canonical、robots.txt 與 XML Sitemap 一次釐清

文章目錄
內容寫得再好,如果 Google 根本進不了你的網站,或把你的頁面當成重複內容略過,所有努力都是白費。技術 SEO 處理的,就是這些「看不見、但很致命」的問題:Googlebot 能不能順利爬取?網頁有沒有被收進索引?同一個內容有好幾個網址時,Google 會選哪一個?
網站健檢時最常見的技術問題,往往不是什麼高深難題,而是一行設錯的 robots.txt、一個忘了拿掉的 noindex,或是改版後沒有更新的 Sitemap。這篇文章會依 Google Search Central 官方文件,把爬取、索引、canonical、robots.txt 與 Sitemap 的觀念與正確用法講清楚。SEO 的整體架構,可以搭配 2026 SEO 完整指南 一起看。
爬取與索引:兩件不同的事
很多人把「被 Google 爬到」和「被 Google 收錄」當成同一件事,其實它們是不同階段:
- 爬取(Crawling):Googlebot 透過連結與 Sitemap 發現網址並下載內容,必要時還會用新版 Chrome 執行 JavaScript 來算繪網頁
- 索引(Indexing):Google 分析網頁內容,判斷是否值得存進索引,並把相似網頁分群、選出一個代表的「標準網址」
Google 說明,索引並不保證。低品質內容、重複內容、robots meta 規則,都可能讓網頁爬到了卻沒被收錄。所以技術 SEO 的目標有兩個:讓重要網頁「爬得到」,再讓它們「值得被收錄」。
怎麼確認網頁有沒有被索引?
- Search Console 網址檢查工具:最準確的方法,可以看到 Google 最後一次爬取的時間、是否已編入索引、Google 選的標準網址
- Search Console 網頁索引報表:看全站有多少頁面未編入索引,以及原因
- site: 搜尋指令:例如
site:example.com.tw,可以快速看個大概。但 Google 明確表示,site: 結果不是可靠的索引數量統計,不要用它來算收錄頁數
更多 Search Console 操作,請參考 Google Search Console 實戰。
robots.txt:管理爬取,不是隱藏網頁
robots.txt 是放在網站根目錄的純文字檔,告訴爬蟲哪些網址可以存取。它最大的誤解,是被當成「讓網頁不出現在 Google」的工具。
Google 官方說法很明確:robots.txt 不是讓網頁不出現在 Google 的機制。它的主要用途是管理爬蟲流量、避免伺服器負擔過重。被 robots.txt 封鎖的網址,如果有其他網頁連到它,仍然可能出現在搜尋結果中,只是通常沒有說明文字。
robots.txt 適合用來做什麼
- 封鎖站內搜尋結果頁、無限延伸的日曆頁
- 封鎖會產生大量重複網址的排序、篩選參數
- 在檔案中加上
Sitemap:一行,告訴搜尋引擎 Sitemap 的位置
常見的 robots.txt 災難
- 網站上線時忘記移除
Disallow: /:開發環境為了不被收錄而全站封鎖,正式上線卻原封不動搬過去,這是最常見也最嚴重的錯誤 - 封鎖 CSS、JavaScript:Google 需要這些資源才能看到網頁的真實樣貌,入門指南明確建議不要封鎖
- 想用 robots.txt 搭配 noindex:下一節會說明為什麼這樣反而無效
另外提醒,部分架站平台(例如某些套版服務)不允許直接編輯 robots.txt,需要到平台的 SEO 設定中調整。
noindex:真正讓網頁不被收錄的方法
如果你希望某一頁不要出現在搜尋結果,例如會員專區、感謝頁、測試頁,正確做法是使用 noindex:
- meta 標記:在網頁的
<head>放入<meta name="robots" content="noindex"> - HTTP 標頭:使用
X-Robots-Tag: noindex,適用於 PDF、圖片等非 HTML 檔案
這裡有一個關鍵陷阱:如果 robots.txt 封鎖了這個網址,Googlebot 根本讀不到 noindex 規則,網頁反而可能繼續留在搜尋結果。Google 也不支援在 robots.txt 裡寫 noindex。正確順序是:先讓 Google 爬得到、讀到 noindex,等網頁從索引移除後,再視需要調整。
| 目的 | 正確工具 | 錯誤做法 |
|---|---|---|
| 減少爬蟲浪費在無用網址 | robots.txt | 對大量網址加 noindex(Google 仍要爬才看得到) |
| 讓網頁不出現在搜尋結果 | noindex 或密碼保護 | 只用 robots.txt 封鎖 |
| 處理重複內容 | canonical 或 301 轉址 | robots.txt 或 noindex |
canonical:告訴 Google 哪個網址才是正本
同一個內容常常會有好幾個網址,例如:
https://與http://、有 www 與沒有 www- 電商商品頁帶著顏色、尺寸、排序參數
- 廣告追蹤參數(例如 utm_source)產生的網址
- 列印版、行動版的獨立網址
Google 會把這些重複網頁分成一群,選出其中一個作為「標準網址」(canonical)顯示在搜尋結果,其餘視為重複版本。你可以透過以下方式表達偏好,Google 說明各方法的強度不同:
| 方法 | 訊號強度 | 適合情境 |
|---|---|---|
| 301 永久轉址 | 強 | 舊網址不再使用,例如改版、換網域 |
| rel="canonical" | 強 | 重複網址仍需保留,例如帶參數的商品頁 |
| 列入 Sitemap | 弱 | 輔助表達偏好,需搭配其他方法 |
canonical 設定的注意事項
依 Google 官方建議:
- 使用絕對網址,例如
https://www.example.com.tw/product/a,不要用相對路徑 - 正本網頁也要加上指向自己的 canonical
- 站內連結一律連到標準網址,讓訊號一致
- 不要用 robots.txt 處理重複內容,被封鎖的網址 Google 讀不到 canonical
- 不要用 noindex 來挑選正本,那會讓網頁完全從搜尋中消失
- 不要把 # 片段網址設為 canonical
另外要知道,canonical 是「建議」而不是「命令」。如果你設定的 canonical 網址內容和目前頁面差異很大,Google 可能會自行選擇別的網址。電商網站的篩選網址處理比較複雜,可延伸閱讀 電商 SEO 指南。
XML Sitemap:幫 Google 找到重要網頁
Sitemap 是一份列出網站重要網址的檔案,對新網站、頁面很多的網站、內部連結較少的網站特別有幫助。Google 官方的規格重點:
- 單一 Sitemap 上限為 50MB(未壓縮)或 50,000 個網址,超過要拆成多份,再用 Sitemap 索引檔管理
- 使用完整的絕對網址,Google 會照列出的網址原樣爬取
- 檔案需使用 UTF-8 編碼
<lastmod>只有在持續且可驗證地準確時才會被採用,應該反映內容的重大更新,而不是改個版權年份- Google 會忽略
<priority>與<changefreq>的值,不用花時間調整 - 提交方式:Search Console 的 Sitemap 報表、Search Console API,或在 robots.txt 加上
Sitemap:一行
Sitemap 該放哪些網址?
只放你希望被收錄的標準網址。常見錯誤包括把 noindex 頁面、已轉址的舊網址、404 頁面、帶參數的重複網址放進 Sitemap,這會讓訊號互相矛盾。多數 CMS(如 WordPress 搭配 SEO 外掛)會自動產生 Sitemap,但仍建議定期抽查內容是否正確。
爬取預算:多數網站不用擔心
「爬取預算」(crawl budget)是 SEO 圈很熱門的詞,但 Google 的爬取預算指南明確說明,它主要針對大型網站:例如超過百萬個不重複網頁、內容每週更新的網站,或超過一萬個網頁、內容每天快速更新的中型以上網站,以及在 Search Console 中有大量「已找到 - 目前尚未建立索引」網址的網站。Google 也說這些數字只是粗略估計。
一般企業官網、中小型電商,通常只要網址乾淨、伺服器穩定,就不需要特別處理爬取預算。真正需要注意的是:
- 回應速度慢、經常出現 5xx 錯誤,會讓 Google 降低爬取頻率
- 已永久移除的頁面回傳 404 或 410,不要用「看起來正常卻沒內容」的軟 404
- 避免一連串的多次轉址
JavaScript 網站要注意的事
使用 React、Vue 等框架製作的網站,Google 會經過爬取、算繪、索引三個階段處理。Google 的 JavaScript SEO 基礎文件建議:
- 優先採用伺服器端算繪或預先算繪,對使用者和爬蟲都比較快,而且不是所有爬蟲都能執行 JavaScript
- 連結要用帶有
href的<a>元素,Google 才找得到 - 單頁應用程式用 History API 切換網址,不要用 # 片段
如果你的網站是客製化開發,這些在規劃階段就該納入,事後補救成本高很多。網站速度也是技術 SEO 的一環,可以延伸閱讀 Core Web Vitals 是什麼、怎麼改善。
常見問題
網站上線很久了,為什麼 Google 還是沒收錄?
先用 Search Console 網址檢查工具查看原因。常見狀況包括 robots.txt 封鎖、頁面帶有 noindex、canonical 指向其他網址、網站沒有任何外部或內部連結,或是 Google 判斷內容品質不足。依報表顯示的原因逐一排除,修正後可以要求重新建立索引。
robots.txt 和 noindex 可以一起用嗎?
對同一個網址不建議。如果 robots.txt 封鎖了網址,Googlebot 讀不到頁面上的 noindex,網頁反而可能因為其他連結而繼續出現在搜尋結果。想讓網頁消失,就讓它可以被爬取並加上 noindex。
小網站需要 XML Sitemap 嗎?
Google 表示,頁面不多且內部連結完整的網站,沒有 Sitemap 通常也能被找到。但 Sitemap 的設定成本很低,還能在 Search Console 中監控提交網址的索引狀況,所以我們仍建議每個網站都提交一份。
換了 canonical 之後多久會生效?
需要等 Google 重新爬取與處理,時間從幾天到數週不等,取決於網站規模與爬取頻率。可以用網址檢查工具查看 Google 目前選擇的標準網址,確認是否已經採用你的設定。
結語:技術 SEO 是讓好內容被看見的前提
技術 SEO 像是網站的水電管線,平常看不見,一出問題就全面影響。只要掌握「robots.txt 管爬取、noindex 管收錄、canonical 管正本、Sitemap 管指引」這四個原則,就能避開大多數的技術陷阱。
如果你的網站頁面規模大、架構複雜,或曾經改版後流量下滑,網軍行銷的 企業 SEO 服務 可以協助進行完整的技術健檢與修正規劃。
參考資料
- Google Search Central,In-depth guide to how Google Search works:https://developers.google.com/search/docs/fundamentals/how-search-works
- Google Search Central,Introduction to robots.txt:https://developers.google.com/search/docs/crawling-indexing/robots/intro
- Google Search Central,Block Search indexing with noindex:https://developers.google.com/search/docs/crawling-indexing/block-indexing
- Google Search Central,How to specify a canonical URL with rel="canonical" and other methods:https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Google Search Central,Build and submit a sitemap:https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap
- Google Crawling Infrastructure,Optimize your crawl budget:https://developers.google.com/crawling/docs/crawl-budget


