Sitemap 是什麼?網站地圖提交與 SEO 檢查教學
Sitemap 是搜尋引擎發現重要 URL 的線索,不是排名保證。本文教你判斷哪些頁面該放進網站地圖、XML sitemap 怎麼寫、如何提交到 GSC,並用 AK Sitemap Submission Loop 檢查錯誤、更新與 IndexNow 的邊界。
Sitemap 是給搜尋引擎看的 URL 清單,功能是協助發現重要頁面。它不會保證收錄,也不會直接讓排名上升;真正的價值在於把哪些頁面值得被搜尋引擎發現、何時更新、哪裡提交、提交後怎麼檢查,整理成一套可驗證的流程。
如果網站頁面很多、內容常更新、內鏈還不夠完整,或剛搬家改版,sitemap 就很重要。相反地,如果網站只有少量頁面,而且每個頁面都能從首頁自然連到,sitemap 仍然有幫助,但它不是修復內容品質、索引資格或技術封鎖的萬用工具。Google 對 sitemap 的官方說明 也把它定位成協助搜尋引擎了解網站內容的線索。
Sitemap 是什麼?網站地圖不是排名捷徑
Sitemap,中文常說網站地圖,通常指 XML sitemap。它列出網站希望搜尋引擎知道的 URL,並可附上最後更新時間。搜尋引擎讀到 sitemap 後,會把這些 URL 當成發現與重新爬取的線索,但是否爬取、是否索引、是否排名,仍取決於頁面能不能被存取、是否允許索引、內容是否值得收錄,以及搜尋系統如何判斷該頁面的用途。
所以 sitemap 的正確期待是:讓搜尋引擎更容易知道哪些 URL 存在,讓網站負責人更容易檢查提交狀態。錯誤期待則是:把一堆頁面丟進 sitemap,就以為 Google 一定會收錄。若頁面本身被 noindex、canonical 指到別頁、回傳 404、內容薄弱,sitemap 只會讓問題更早被看見,不會替頁面通過索引門檻。
| 你以為 sitemap 做的事 | 它實際做的事 |
|---|---|
| 保證 Google 收錄 | 提供 URL 發現線索 |
| 直接提升排名 | 協助爬取與更新流程更清楚 |
| 替代內鏈 | 補充內鏈以外的發現管道 |
| 解決所有技術 SEO 問題 | 暴露 URL 清單與提交狀態問題 |
什麼頁面該放進 sitemap:先做 URL inventory
Sitemap 的品質取決於 URL 清單,不是檔案看起來有多完整。
好的 sitemap 不是把全站能抓到的 URL 全放進去,而是把「你真的希望搜尋引擎發現並評估索引」的 URL 放進去。這一步可以叫 URL inventory,也就是先盤點 URL 狀態,再決定是否放進 sitemap。
Sitemap 應該優先收錄可索引、重要、穩定、可公開存取的標準頁面。 若頁面還在測試、重複、被封鎖、已轉址,或只是篩選參數結果,放進 sitemap 反而會稀釋清單品質,讓 GSC 報表充滿不該提交的 URL。
| URL 類型 | 是否放進 sitemap | 判斷原因 |
|---|---|---|
| 核心服務頁、產品頁、文章頁 | 放 | 重要且需要被搜尋引擎發現 |
| 回傳 200 且允許索引的 canonical URL | 放 | 代表你想讓搜尋引擎採用的版本 |
| noindex 頁面 | 不放 | 你已經要求搜尋引擎不要索引 |
| 404、soft 404、redirect URL | 不放 | sitemap 應列目的頁,不列錯誤或中轉頁 |
| 參數頁、排序頁、站內搜尋結果 | 通常不放 | 容易造成重複與低價值 URL 膨脹 |
若你不確定某個頁面是不是標準版本,先確認 canonical 設定。這篇 canonical 標準網址教學 可以幫你判斷 sitemap 是否列到了錯誤版本。
XML sitemap 怎麼寫:loc、lastmod 與 sitemap index
XML sitemap 的基本格式很簡單,每個 URL 通常至少包含 loc,也就是完整網址。lastmod 可以提供最後修改時間,但前提是它要真實反映內容更新,不要每天自動刷新成今天日期。priority 和 changefreq 在很多現代 SEO 流程裡已經不是核心,不該拿來當排名控制器。
Sitemaps.org 的 XML Sitemap protocol 定義了 URL set、sitemap index、loc、lastmod 等基本格式。Google 也支援 sitemap index,適合大型網站把多個 sitemap 拆成文章、分類、產品、圖片等不同檔案,再用一個 index 檔統整。
| 欄位或檔案 | 用途 | AK SEO Labs 建議 |
|---|---|---|
| loc | URL 的完整位置 | 必填,使用正式 HTTPS canonical URL |
| lastmod | 最後修改時間 | 只在內容真的更新時變動 |
| sitemap index | 管理多個 sitemap | 大型或多類型網站建議使用 |
| 圖片或影片 sitemap | 補充媒體資源資訊 | 媒體內容是搜尋入口時再做 |
常見上限是單一 sitemap 最多 50,000 個 URL,未壓縮檔案大小最多 50 MB。超過時不要硬塞,應拆成 sitemap index。更重要的是,sitemap 內容要跟實際站內 URL 狀態同步,不然提交越勤,錯誤也越穩定。
HTML sitemap、robots.txt 與 IndexNow 各自負責什麼
不同發現管道服務不同對象,不能互相取代。
URL 發現不只靠 XML sitemap。HTML sitemap 給使用者和搜尋引擎看,robots.txt 可以告訴搜尋引擎 sitemap 位置,IndexNow 則是對支援它的搜尋引擎送出 URL 更新通知。它們是不同管道,不應互相取代。
XML sitemap 負責提交 URL 清單,HTML sitemap 負責補強站內導覽,robots.txt 負責宣告位置,IndexNow 負責通知更新。 其中 IndexNow 的 官方文件 明確把流程設計成提交新增、更新、刪除的 URL 通知,但它不是 Google 收錄保證,也不能代替 GSC 的 sitemap 狀態檢查。
| 管道 | 主要對象 | 適合用途 | 限制 |
|---|---|---|---|
| XML sitemap | 搜尋引擎 | 提交重要 URL 清單 | 不是索引保證 |
| HTML sitemap | 使用者與搜尋引擎 | 補強導覽與內鏈 | 大型網站容易變成低品質清單 |
| robots.txt Sitemap directive | 爬蟲 | 宣告 sitemap 位置 | 不能修復 sitemap 本身錯誤 |
| IndexNow | 支援 IndexNow 的搜尋引擎 | 通知 URL 新增、更新、刪除 | 不能取代 GSC 或 XML sitemap |
如何提交 sitemap 到 Google Search Console
提交 sitemap 前,先確認你提交的是可公開讀取的 sitemap URL。例如 https://example.com/sitemap.xml 應該能在未登入狀態打開,回傳 200,內容是有效 XML,且列出的 URL 屬於同一個已驗證資源。
在 GSC 裡提交 sitemap 的基本流程是:選擇正確的 property,進入 Sitemaps 報表,輸入 sitemap 路徑,送出後等待 Google 抓取。Google 的 Sitemaps report 說明 可用來確認提交、讀取與錯誤狀態。
- 確認 sitemap URL 能公開存取,狀態碼是 200。
- 確認 XML 格式有效,且沒有混入 HTML 錯誤頁。
- 確認 sitemap 裡的 URL 使用同一個網域與協定。
- 確認 URL 清單以 canonical、indexable、重要頁面為主。
- 到 GSC 的 Sitemaps 報表提交 sitemap 路徑。
- 提交後不要只看「成功」,還要看已發現 URL 數、最後讀取時間與錯誤訊息。
AK Sitemap Submission Loop:提交後要看哪些狀態
這張圖把 sitemap 從一次性提交改成可以重跑的技術 SEO 迴圈。
AK Sitemap Submission Loop 是把 sitemap 從一次性設定,變成可重跑的技術 SEO 迴圈。流程是:盤點 URL、生成 XML、公開發現、提交 GSC、監控狀態、清理錯誤。每次改版、批次發文、刪頁、換 CMS、調 URL 規則時,都應該重跑一次。
這個 loop 的重點不是每天重交 sitemap,而是讓 sitemap 跟網站真實狀態保持一致。 當 GSC 顯示 sitemap 可讀,但頁面仍然沒有收錄,你就要往爬取、索引、canonical、noindex、內容品質等層面排查。這時可接著看 Google 爬取與索引診斷,把問題拆到發現、爬取、索引與顯示各層。
| Loop 階段 | 檢查問題 | 可接受狀態 |
|---|---|---|
| 盤點 URL | 哪些 URL 值得提交 | 只列重要且可索引頁面 |
| 生成 XML | 格式、lastmod、sitemap index 是否正確 | 可公開讀取且符合格式 |
| 公開發現 | robots.txt 是否宣告 sitemap | 搜尋引擎可找到 sitemap URL |
| 提交 GSC | 是否提交到正確 property | GSC 能讀取 sitemap |
| 監控狀態 | 已發現 URL、最後讀取、錯誤數 | 錯誤可解釋且逐步下降 |
| 清理錯誤 | 404、redirect、noindex、重複 URL | sitemap 回到乾淨清單 |
常見 sitemap 錯誤:Couldn’t fetch、404、跨網域與重複 URL
GSC sitemap 錯誤要先分清楚是讀不到檔案,還是讀得到但 URL 清單有問題。
GSC sitemap 錯誤通常分成兩種:Google 讀不到 sitemap 檔案,或讀得到檔案但 URL 清單品質有問題。前者先查檔案路徑、伺服器、權限、robots、CDN;後者先查 URL 是否可索引、是否同網域、是否 canonical、是否大量錯誤狀態碼。
| 錯誤或症狀 | 常見原因 | 修正方向 |
|---|---|---|
| Couldn’t fetch | 路徑錯、伺服器阻擋、暫時讀取失敗 | 用瀏覽器與 curl 測 sitemap URL,確認 200 與 XML |
| 404 | sitemap 檔不存在或部署路徑錯誤 | 確認 build 輸出與網站根目錄路由 |
| 跨網域 URL | sitemap 列到其他網域或不同 property | 拆分 sitemap,提交到對應 GSC property |
| 大量 redirect URL | 舊網址未清乾淨 | 改列最終 canonical URL |
| XML parsing error | 格式破損、特殊字元未 escape、輸出成 HTML | 用 XML validator 或直接檢查原始碼 |
如果 sitemap 偶爾讀取失敗,也要排除主機穩定性、CDN 快取與回應時間。這不等於 PageSpeed 分數問題,但當伺服器狀態不穩時,可以延伸檢查 PageSpeed Insights 指標 與實際伺服器回應。
CMS、Astro、WordPress 網站怎麼自動化 sitemap
多數網站不該手動維護 sitemap。只要頁面會新增、下架、改 slug 或改分類,sitemap 就應該跟內容來源同步。WordPress 通常可用核心 sitemap 或 SEO 外掛產生;Headless CMS 要從文章、分類、服務頁資料生成;Astro 或其他靜態站則要在 build 時輸出 sitemap,並確認部署後路徑真的在網站根目錄可讀。
自動化 sitemap 的核心不是產生檔案,而是產生正確 URL 清單。 例如 Astro 網站若只有文章 sitemap,卻漏掉 tools、services 或其他靜態頁,搜尋引擎仍可能靠內鏈找到,但你的 sitemap submission report 就看不到那些頁面的提交狀態。這也是 sitemap 檢查要和 URL 結構規劃 一起看的原因。
| 網站類型 | 自動化重點 | 常見漏點 |
|---|---|---|
| Astro 靜態站 | build 時輸出所有正式路由 | 工具頁、分類頁、動態集合漏列 |
| WordPress | 確認文章、頁面、分類 sitemap 是否開啟 | 附件頁、標籤頁、薄內容 taxonomy 混入 |
| Headless CMS | 從發布狀態與 slug 欄位生成 | draft、redirect、舊 slug 沒排除 |
| Ecommerce | 依庫存、canonical、分頁規則拆分 | 停售商品與篩選參數頁膨脹 |
如果你要做的是全站 technical SEO health check,sitemap 只是其中一層。AK SEO Labs 的 SEO 服務 會把 sitemap、robots、GSC、canonical、URL 結構、速度與索引狀態放在同一套檢查流程裡,而不是只看檔案有沒有存在。
FAQ
Sitemap 會直接提升排名嗎?
不會。Sitemap 主要協助搜尋引擎發現 URL 和理解更新線索,排名仍取決於索引資格、內容品質、相關性、網站權威與搜尋意圖匹配。
小網站一定需要 sitemap 嗎?
小網站不一定依賴 sitemap 才能被發現,但仍建議建立。它能讓 GSC 提交與狀態檢查更清楚,尤其在改版、搬家、批次新增頁面時很有用。
Sitemap 裡可以放 noindex 頁面嗎?
不建議。noindex 表示你不希望頁面被索引,把它放進 sitemap 會給搜尋引擎混亂訊號,也會讓 GSC 報表出現不必要的 submitted noindex 問題。
sitemap.xml 一定要放在根目錄嗎?
不一定,但放在根目錄最直覺,也最容易提交與維護。若放在其他路徑,要確保搜尋引擎能公開讀取,並在 GSC 或 robots.txt 中提供正確位置。
robots.txt 裡要不要寫 Sitemap?
建議寫。robots.txt 的 Sitemap directive 可以讓爬蟲更容易發現 sitemap 位置,但它不能修復 sitemap XML 格式錯誤,也不能保證 URL 被索引。
GSC 顯示 Couldn’t fetch 怎麼辦?
先用瀏覽器和指令測試 sitemap URL 是否回傳 200、是否是 XML、是否被登入牆或防火牆擋住。若剛部署完成,也可以等待一段時間後重新提交。
sitemap submitted 之後多久會收錄?
沒有固定時間。提交 sitemap 只是提供發現線索,Google 仍會依網站狀態、URL 品質、內鏈、伺服器可用性與索引系統判斷是否以及何時收錄。
HTML sitemap 對 SEO 還有用嗎?
有條件地有用。若 HTML sitemap 能幫使用者和搜尋引擎理解網站結構,它是有效導覽;若只是把大量低價值 URL 堆成清單,幫助就有限。
IndexNow 可以取代 sitemap 嗎?
不建議這樣看。IndexNow 是 URL 更新通知管道,sitemap 是 URL 清單與提交狀態管理管道。兩者可以並行,但用途和支援範圍不同。
sitemap 要多久更新一次?
只要重要 URL 新增、刪除、改 slug 或內容大幅更新,就應該同步更新 sitemap。穩定小站不用為了更新而更新,重點是 sitemap 要反映真實網站狀態。


