XML Sitemap 是什麼?網站地圖作用、格式與提交方法詳解

XML Sitemap 是網站 SEO 中常用的基礎配置,可以幫助 Google 更有效率地發現和抓取重要頁面。本文詳細講解 XML 網站地圖的格式、產生方法、提交步驟及常見錯誤,並說明 Sitemap 提交後仍未收錄時應該從哪些方面繼續排查。

Chahu 團隊2026-09-075 分鐘閱讀

網站已經上線了一段時間,新發布的文章卻遲遲沒有被 Google 發現;網站改版之後新增了不少頁面,Search Console 裡依然看不到抓取記錄;或者站點有成百上千個產品和內容頁面,很難確認搜尋引擎到底有沒有全部找到。遇到這類問題時,除了檢查內鏈、robots.txt 和頁面本身是否允許索引,"XML Sitemap(XML網站地圖)"也是一個很重要的基礎配置。

XML Sitemap 可以把網站中希望搜尋引擎發現的重要 URL 統一整理出來,並提供頁面更新時間等資訊。今天我們來具體講清楚 XML Sitemap 是什麼、網站地圖有什麼作用、常見格式怎麼寫,以及產生之後如何檢查並提交給 Google。

ScreenShot_2026-09-07_100133_217.png

一、XML Sitemap是什麼?

XML Sitemap 可以理解成一份專門提供給搜尋引擎讀取的網站 URL 清單。一般訪客不會主動打開它,但 Google、Bing 等搜尋引擎在抓取網站時,可以透過 Sitemap 更快了解網站有哪些重要頁面,以及部分頁面最近是否發生過更新。

常見的 Sitemap 位址一般類似:

https://www.example.com/sitemap.xml

也有一些網站會使用:

https://www.example.com/sitemap_index.xml

打開以後看到的不是普通網頁,而是一段 XML 資料。例如:

<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/</loc>
    <lastmod>2026-09-01</lastmod>
  </url>

  <url>
    <loc>https://www.example.com/blog/xml-sitemap</loc>
    <lastmod>2026-09-03</lastmod>
  </url>
</urlset>

其中幾個常見標籤並不難理解:

  • <urlset>:整個 Sitemap 的主體;

  • <url>:代表一個 URL;

  • <loc>:頁面的完整網址;

  • <lastmod>:頁面最後一次發生重要修改的時間。

按照 Sitemap 協定,XML 檔案需要採用 UTF-8 編碼,其中<urlset>、<url>和<loc>構成最基本的 URL Sitemap 結構。

網上一些舊教學還會經常出現:

<changefreq>daily</changefreq>
<priority>1.0</priority>

但現在做 Google SEO,沒有必要把大量精力放在這兩個標籤上。

Google 目前明確表示,會忽略 Sitemap 中的<priority>和<changefreq>;相比之下,如果<lastmod>長期保持準確,Google可能會參考這個時間判斷頁面是否發生過重要更新。

所以不要為了「讓 Google 多抓幾次」,把所有頁面都設定成:

<priority>1.0</priority>

或者每天自動修改 Sitemap 的日期。

這類操作實際意義已經很有限。

二、XML Sitemap對網站有什麼作用?

XML Sitemap 最大的價值不是「提高關鍵字排名」,而是幫助搜尋引擎發現和理解網站中的重要 URL。Google 對 Sitemap 的定義也是如此:它可以提供網站頁面、影片、圖片等檔案資訊,以及這些內容之間的關係,幫助搜尋引擎更有效率地抓取網站。實際做網站時,它主要解決以下幾個問題:

1. 幫助Google發現新頁面

例如一個剛上線不久的網站:

首頁
├── 產品頁面
├── 關於我們
├── 部落格
│   ├── 文章A
│   ├── 文章B
│   └── 文章C

如果站內連結結構做得很好,Googlebot 本身也可以沿著連結逐漸發現這些頁面。但如果網站很新、外鏈很少,或者部分新頁面的內部連結入口比較深,搜尋引擎可能需要更長時間才能發現。

把這些重要 URL 寫入 Sitemap,相當於額外給搜尋引擎提供了一份頁面清單。Google也特別提到,大型網站、新網站以及擁有大量圖片、影片或新聞內容的網站,更容易從 Sitemap 中受益。

2. 幫助管理大型網站

如果網站只有幾十個頁面,維護起來還比較簡單。但電子商務、資訊、論壇或者大型內容網站可能擁有幾十萬甚至數百萬個URL,這時單靠站內導覽很難快速判斷所有重要頁面是否都被搜尋引擎發現。使用 Sitemap,可以按照內容類型進行拆分:

sitemap_index.xml
│
├── post-sitemap.xml
├── page-sitemap.xml
├── product-sitemap.xml
├── category-sitemap.xml
└── image-sitemap.xml

這樣不僅更容易維護,在 Search Console 中排查問題時也更清楚。

3. 提供頁面更新時間

例如一篇文章原本發布日期是:2026-01-10,後來在:2026-09-04重新補充了大量正文、資料和連結,就可以更新:<lastmod>2026-09-04</lastmod>,但這裡要注意,lastmod應該盡量反映真實的重要修改時間

正文更新、結構化資料調整、重要連結變化通常算實質修改;單純把網頁底部版權年份從 2025 改成 2026,並不值得更新所有頁面的lastmod。這也符合 Google 目前對該標籤的使用說明。

三、XML Sitemap常見格式有哪些?

網站地圖並不只有一種形式,不過一般站長最常接觸的還是 XML Sitemap。

1. 一般XML Sitemap

這是最常見的一種:

https://example.com/sitemap.xml

主要用於列出網站頁面。

例如:

<url>
  <loc>https://example.com/product/a</loc>
  <lastmod>2026-08-28</lastmod>
</url>

XML Sitemap 的優勢是擴充能力比較強,除了一般 URL,還可以提供圖片、影片、新聞以及多語言頁面的相關資訊。

2. Sitemap Index

網站規模變大以後,通常不會把所有 URL 都塞進一個檔案,而是透過 Sitemap Index 管理多個子 Sitemap。

例如:

<?xml version="1.0" encoding="UTF-8"?>

<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/post-sitemap.xml</loc>
  </sitemap>

  <sitemap>
    <loc>https://example.com/product-sitemap.xml</loc>
  </sitemap>

  <sitemap>
    <loc>https://example.com/page-sitemap.xml</loc>
  </sitemap>
</sitemapindex>

Google和 Sitemap 協定目前規定,單一 Sitemap 最多包含 50,000 個 URL,且未壓縮檔案不能超過 50MB。超過其中任何一項,就應該拆分多個 Sitemap。

例如一家電子商務網站有 120,000 個產品 URL,可以拆成:

product-sitemap-1.xml
product-sitemap-2.xml
product-sitemap-3.xml

再透過:

sitemap_index.xml

統一管理。

3. 圖片、影片和新聞Sitemap

如果網站大量依賴:

  • 商品圖片;

  • 原創圖片;

  • 影片內容;

  • Google News;

還可以在 Sitemap 中增加對應的資訊。

不過對於一般企業站或者部落格來說,沒有必要一開始就把 Sitemap 做得特別複雜,先把核心頁面 URL 管理好更重要。

四、哪些URL應該放進Sitemap?

這一步實際上比「Sitemap 用什麼工具產生」更重要。一個比較簡單的判斷標準是:只把真正希望出現在搜尋結果中的規範 URL 放入 Sitemap。

例如:

https://example.com/
https://example.com/product/
https://example.com/product/a
https://example.com/blog/xml-sitemap

這些都是正常的重要頁面,可以放進去。

而下面這些 URL 通常就沒有必要大量加入 Sitemap:

404頁面
後台登入位址
測試頁面
重複頁面
noindex頁面
301/302跳轉位址
搜尋結果頁
大量篩選參數頁
非Canonical URL

假設同一個產品可以透過兩個位址存取:

https://example.com/product?id=1001

和:

https://example.com/product/1001

如果網站已經透過 canonical 明確指定:

https://example.com/product/1001

為規範版本,那麼 Sitemap 也應該盡量保持一致,只提交規範 URL。

Google目前的建議也是:在 Sitemap 中優先列出真正希望出現在搜尋結果中的 canonical URL。

否則很容易出現:

Canonical說A是主頁面
Sitemap卻一直提交B

這會給搜尋引擎提供互相矛盾的訊號。

五、XML Sitemap怎麼產生?

如果網站頁面不算特別多,其實沒必要手動一條條整理 URL,也不一定要為了產生 Sitemap 專門安裝外掛。最方便省事的方式,是直接用chahu的XML Sitemap 產生器從網站入口開始抓取,把站內的重要頁面整理出來,再產生標準的 sitemap.xml

具體使用方法:

直接打開 Chahu XML Sitemap 產生器,進入頁面後,輸入網站首頁位址,例如:

https://www.example.com/

然後根據網站實際情況設定抓取參數,包括:最多抓取多少個 URL;抓取深度;是否保留 URL 查詢參數。設定完成後開始抓取即可。Chahu 會從輸入的網站入口開始遍歷站內 HTML 連結,抓取範圍限制在同站頁面,不會把外部網站的連結一起加入 Sitemap。這樣做比手動整理方便很多,尤其是網站已經有幾十篇文章、產品頁或者欄目頁時,不需要再逐個複製網址,也能減少漏掉重要頁面的情況。

六、Sitemap產生以後該做什麼?

產生 Sitemap 的目的也不是單純追求 URL 數量。網站地圖裡真正需要保留的,應該是網站中希望搜尋引擎發現的重要頁面,而不是把頁面裡出現過的所有連結全部塞進去。所以 Sitemap 產生完成以後,下一步先不要急著提交到 Google Search Console。最好先檢查一下檔案本身是否能夠正常存取,避免因為路徑、HTTPS、伺服器或者 CDN 設定問題,導致搜尋引擎根本無法讀取。

1. 先確認Sitemap位址是否正確

產生完成後,可以先直接打開 Sitemap 位址,例如:

https://www.example.com/sitemap.xml

正常情況下,應該能夠看到 XML 內容,而不是跳轉到:404頁面;網站首頁;登入頁面;驗證頁面;CDN攔截頁面等等。

如果位址打不開,應該先確認 sitemap.xml 是否已經真正上傳到對應目錄,以及網站路由有沒有把這個位址重新導向到其他頁面。

2. 檢查HTTP狀態碼是否正常

Sitemap 最理想的狀態是直接回傳:200 OK

如果回傳:301或者302,雖然部分情況下搜尋引擎仍然可以繼續跟隨跳轉,但沒有必要人為增加這一層。

更值得注意的是:

403
404
500
502
503
504

這些狀態碼。其中 404 一般代表檔案不存在或路徑錯誤,403 更常見於伺服器權限、CDN、WAF 或 Bot 防護規則,而 5xx 則通常需要繼續檢查伺服器或者上游代理狀態。

3. 可以用Chahu檢查實際存取狀態

如果想確認 Sitemap 在公網環境下是否能夠正常存取,可以用 Chahu 對 Sitemap 位址進行一次 HTTP 或 HTTPS 檢查。

例如測試:https://www.example.com/sitemap.xml

重點看幾個問題:

  • URL 能不能正常打開;

  • HTTP 狀態碼是不是 200;

  • HTTPS 連線有沒有異常;

  • 回應速度是否正常;

  • 是否存在逾時;

  • 不同網路節點存取結果是否一致。

這一步對接 CDN 或多節點的網站尤其有用。

有時候自己電腦打開 Sitemap 完全正常,但某些地區節點卻回傳 403、逾時或者其他異常。如果只在本地瀏覽器裡檢查,很容易忽略這類問題。

4. 再看robots.txt有沒有影響抓取

除了 Sitemap 檔案本身,還建議順手檢查一下:

https://www.example.com/robots.txt

看看有沒有因為規則寫錯,把重要目錄或者整個網站都限制了。

如果需要,也可以在 robots.txt 中宣告 Sitemap 位址:

Sitemap: https://www.example.com/sitemap.xml

這樣搜尋引擎在讀取 robots.txt 時,也能找到網站地圖的位置。

做到這裡以後,再把 Sitemap 提交到 Google Search Console 會更穩妥。

簡單來說,整個過程最好按照這個順序:

產生XML Sitemap
      ↓
確認Sitemap位址
      ↓
檢查HTTP狀態碼
      ↓
檢查HTTPS和伺服器存取
      ↓
檢查robots.txt
      ↓
提交Google Search Console

先把存取問題排除,再進入提交和索引環節,後面遇到 Sitemap 「無法取得」「讀取失敗」之類的問題時,也更容易判斷到底出在哪裡。

七、XML Sitemap怎麼提交給Google?

確認 Sitemap 可以正常存取以後,就可以正式告訴 Google 檔案在哪裡,目前最常用的方式有兩種:

方法一:Google Search Console提交

進入自己的網站資源,然後找到:

Google Search Console
        ↓
站點地圖 / Sitemaps
        ↓
新增新的站點地圖

輸入:

sitemap.xml

或者:

sitemap_index.xml

再提交即可。

透過 Search Console 提交還有一個好處:後續可以看到 Googlebot 是否存取過 Sitemap,以及 Google 在處理檔案時是否發現錯誤。

如果網站比較大,還可以分別提交多個 Sitemap,用於觀察不同頁面類型的發現和抓取情況。

例如:

/post-sitemap.xml
/product-sitemap.xml
/page-sitemap.xml

這樣後續如果產品頁面出現問題,不需要從十幾萬個 URL 中慢慢找。

方法二:在robots.txt宣告Sitemap

還可以直接在網站的:

https://example.com/robots.txt

中新增:

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

如果使用 Sitemap Index,則寫:

Sitemap: https://example.com/sitemap_index.xml

Google會在後續抓取 robots.txt 時發現這個 Sitemap 位址。

這裡一定要使用完整絕對 URL,不要只寫:

Sitemap: /sitemap.xml

更穩妥的寫法是:

Sitemap: https://example.com/sitemap.xml

如果你剛修改過 robots.txt,也可以透過 Chahu 的 robots.txt 檢測功能重新讀取線上規則,確認 Sitemap 位址有沒有寫錯,以及重要目錄是否被意外設定了Disallow。

八、Sitemap提交失敗有哪些原因?

如果 Search Console 顯示 Sitemap 無法讀取,不要反覆刪除、重新提交。先看具體問題:

1. Sitemap回傳404

例如提交:

https://example.com/sitemap.xml

實際打開卻顯示:

404 Not Found

這種情況一般是:

  • Sitemap沒有產生;

  • 位址寫錯;

  • 檔案移動過;

  • CMS更換了 Sitemap 路徑。

先找到真正的檔案位址再重新提交。

2. 回傳403 Forbidden

如果正常瀏覽網頁沒有問題,但 Sitemap 回傳:

403

重點檢查:CDN存取規則;WAF;Bot防護;IP限制;Web Server規則,尤其不要因為防爬設定太嚴格,把正常搜尋引擎也一起擋在外面。

3. 回傳5xx錯誤

例如:

500
502
503
504

這類問題更多指向伺服器、反向代理、CDN或者後端程式。

如果偶爾能打開、偶爾報錯,可以從多個地區測試 URL,看看是不是某些線路或節點存在異常。

4. XML格式錯誤

XML對格式要求比較嚴格。

例如 URL 中存在:&

需要正確做實體跳脫,否則有可能導致 XML 無法正常解析。

按照 Sitemap 協定,XML 中的資料值需要正確進行 entity escaping。

5. Sitemap包含大量無效URL

有時候 Search Console 顯示 Sitemap 可以讀取,但裡面卻混進大量:

404
301
noindex
重複頁
非canonical頁面

這種 Sitemap 即使「提交成功」,也談不上品質高。

所以排查 Sitemap 時不要只問:Google能不能讀取?

還應該問:Google讀取以後,裡面提供的是不是一批真正值得索引的頁面?

九、Sitemap提交成功了頁面還是不收錄是什麼原因?

這是 Sitemap 最容易被誤解的地方。不少站長看到 Search Console 顯示:Sitemap:成功

就會認為裡面所有頁面很快都應該出現在 Google。

其實不是。Sitemap主要解決的是:讓Google知道URL存在

但從「發現頁面」到最終進入索引,中間還有很多判斷:

發現URL
   ↓
能否抓取
   ↓
HTTP狀態是否正常
   ↓
robots.txt
   ↓
noindex
   ↓
Canonical
   ↓
頁面內容和重複度
   ↓
網站內部連結
   ↓
頁面品質
   ↓
是否進入索引

所以一個頁面長期不收錄時,不應該每天重新提交 Sitemap。

更值得檢查的是:

  • 頁面是否回傳200;

  • 有沒有被robots.txt阻止;

  • 是否存在noindex;

  • canonical是不是指向其他頁面;

  • 內容是否重複;

  • 有沒有正常內部連結;

  • 頁面是否真正有獨立價值。

Google也明確說明,提交 Sitemap 只是一個提示,並不保證 Google 一定下載、抓取或者索引其中的頁面。這也是為什麼:Sitemap提交成功,只能說明網站地圖這一環節基本正常,並不代表整個SEO索引流程已經完成。

XML Sitemap 本身並不是一個複雜的 SEO 技術。對於大多數網站來說,真正需要做好的事情其實只有幾步:把希望進入搜尋結果的重要規範 URL 放進去,保持lastmod盡量準確,確保 Sitemap 能夠穩定回傳正常狀態,然後透過 Google Search Console 或 robots.txt 告訴搜尋引擎它的位置。

如果 Sitemap 已經提交,但 Google 一直讀取失敗,或者頁面遲遲沒有被發現,也不要只盯著 XML 檔案本身反覆修改。繼續檢查 HTTP 狀態、HTTPS、robots.txt、canonical、內部連結以及 CDN 和伺服器存取狀態,往往更容易找到真正影響抓取和索引的問題。Sitemap的價值不是讓搜尋引擎「必須收錄」某個頁面,而是盡可能減少搜尋引擎發現重要內容時遇到的阻礙。把這一點做好,才是網站地圖在實際 SEO 中真正發揮作用的地方。

ScreenShot_2026-09-07_100228_647.png

相關問答

Q1:XML Sitemap 對 Google SEO 排名有直接幫助嗎?

答: 明確地說,提交 Sitemap 不會直接提升你網頁的關鍵字排名。它的本質是給 Googlebot(谷歌蜘蛛)發一張「路線圖」,告訴它網站上有哪些頁面、哪些是主頁面、什麼時候更新過。作用是提高抓取和收錄的效率,特別是對新站、大站或結構深的頁面。只有頁面先被 Google 順利發現並收錄,才談得上後面的排名。

Q2:網站頁面很少,還需要專門做 XML 網站地圖嗎?

答: 如果你的網站只有幾十個頁面,而且導覽選單、內鏈做得很清晰,Googlebot 其實順著連結就能把網站爬個遍,這種情況下 Sitemap 並不是硬性剛需。但強烈建議還是做一份。因為搭建並提交 Sitemap 成本極低,還能讓你在 Google Search Console (GSC) 裡直觀看到地圖的解析狀態,屬於百利而無一害的基礎配置。

Q3:Sitemap 裡的<lastmod>標籤重要嗎?要不要每天自動更新?

答: Google 現在會參考<lastmod>(最後修改時間),但前提是它必須是真實的。如果你只是改了頁尾版權年份、或者什麼都沒動就每天自動重新整理<lastmod>日期,Googlebot 很快就會發現這個時間不準,後續可能會直接忽略你提供的修改時間。只有當頁面正文、資料或核心結構發生實質性更新時,再去更新這個標籤。

Q4:網站頁面太多,一個 Sitemap 裝不下怎麼辦?

答: 按照 Google 和 Sitemap 協定的標準,單一 XML Sitemap 檔案最多只能包含 50,000 個 URL,且解壓後檔案不能超過 50MB。 如果你的網站(比如大型電子商務或資訊站)超過了這個限制,正確的做法是拆分成多個子 Sitemap(例如product-sitemap-1.xml、product-sitemap-2.xml),然後用一個 Sitemap Index(站點地圖索引檔案) 把它們統一彙總起來,最後直接向 Google 提交那個 Index 檔案即可。