sitemap.xml 怎麼產生與提交?讓 Google 和 AI 爬蟲都能完整索引你的內容

你做完這件事,爬蟲就不用靠猜
假設你有一個賣手工皂的電商網站,有 80 個商品頁、10 個分類頁、30 篇部落格文章。Google 爬蟲第一次來,它靠什麼決定要爬哪些頁面?
答案是:內部連結——加上你有沒有提供 sitemap.xml。
沒有 sitemap,爬蟲要靠連結一層一層往下挖。頁面多、連結結構亂,就有機會漏掉。有了 sitemap,你直接給爬蟲一張完整地圖,它照單全收。
這篇教你從零完成以下三件事:
- 產生一份格式正確的 sitemap.xml
- 讓 robots.txt 宣告它的位置
- 提交給 Google Search Console 確認收錄狀況
做完之後,你會有一個可以主動監控索引進度的機制,不是只能被動等。
事前確認:你的網站架構要先整理好
在產生 sitemap 之前,先確認幾件事:
- 不要的頁面不要放進去:404 頁、重複內容頁(例如有
?utm_source=的參數 URL)、登入後才能看的頁面——這些都不該出現在 sitemap 裡。 - URL 格式要統一:
https://還是http://?有沒有結尾斜線/?全站要一致,sitemap 裡的 URL 跟頁面實際的 canonical 要對得上。 - 如果你已裝 HTTPS,sitemap 裡所有網址一律用
https://版本。還沒裝的,先去處理這個,因為 HTTP 網址在 Google 排名訊號上本來就吃虧。
工具需求方面,根據你的建站方式選一個:
| 建站方式 | 推薦工具 |
|---|---|
| WordPress | Yoast SEO 或 Rank Math(自動產生) |
| Webflow / Squarespace | 平台內建自動產生 |
| 自架或客製化網站 | screaming-frog、xml-sitemaps.com,或手寫 |
| Next.js / Nuxt 等框架 | 用程式動態產生,推薦 next-sitemap 套件 |
步驟一:產生 sitemap.xml 檔案
WordPress 用戶(最簡單)
安裝 Yoast SEO 或 Rank Math 後,sitemap 預設就會在 https://yoursite.com/sitemap.xml 或 https://yoursite.com/sitemap_index.xml。進外掛設定確認它開啟就好,不用手動做任何事。
靜態網站或客製化網站
用 xml-sitemaps.com 這類線上工具,輸入你的網域,它會爬一遍產出 XML 檔案供下載。免費版上限 500 個 URL,小型網站夠用。
下載後放到網站根目錄,確認可以從 https://yoursite.com/sitemap.xml 直接訪問。
手寫格式(適合了解結構)
最基本的 sitemap 長這樣:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://yoursite.com/</loc>
<lastmod>2026-07-01</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://yoursite.com/products/handmade-soap/</loc>
<lastmod>2026-06-15</lastmod>
<priority>0.8</priority>
</url>
</urlset>
<priority> 是你給爬蟲的參考值,Google 官方說他們不一定採用,但填了至少表達你對頁面的重視程度。
步驟二:在 robots.txt 宣告 sitemap 位置
這步很多人漏掉。在你的 robots.txt 最後一行加上:
Sitemap: https://yoursite.com/sitemap.xml
這樣做有兩個好處:第一,Google 爬蟲抓 robots.txt 時會同時發現 sitemap;第二,其他 AI 爬蟲(例如 GPTBot、ClaudeBot)也會參考這個宣告。關於 AI 爬蟲的存取控制,如果你想精確管理哪些機器人能抓哪些頁面,可以參考 robots.txt 與 AI 爬蟲規則設定的完整指南。
確認 robots.txt 是否可訪問:直接在瀏覽器打開 https://yoursite.com/robots.txt,應該能看到純文字內容。
步驟三:提交到 Google Search Console
- 進入 Google Search Console,選你的網站資源
- 左側選單點「Sitemap」(中文介面是「網站地圖」)
- 在輸入框填入 sitemap 的路徑,例如
sitemap.xml(前面的網域 GSC 會自動補) - 點「提交」
- 等幾分鐘後重新整理頁面,狀態應該顯示「成功」
提交後你會看到兩個數字:「已提交 URL」 和 「已索引 URL」。兩者的差距就是還沒被收錄的頁面數量,這是你的觀測起點。
步驟四:定期更新 sitemap,不是交出去就好
如果你用 WordPress 外掛,每次發新文章或更新頁面,sitemap 會自動更新。
如果是手動管理,每次有新頁面上線,你要:
- 把新 URL 加進 sitemap.xml
- 更新對應頁面的
<lastmod>日期 - 重新上傳到伺服器
靜態網站建議每個月跑一次爬蟲工具,重新產生 sitemap,特別是有刪除舊頁面或新增大量內容之後。
常見錯誤與怎麼避開
錯誤一:把 noindex 頁面放進 sitemap
你在頁面設了 <meta name="robots" content="noindex">,但同時把這個 URL 放進 sitemap——這訊號互相矛盾,Google 通常會選 noindex 那條,但它也可能花時間在這頁上白跑一趟。做法:sitemap 只放你真的想被索引的頁面。
錯誤二:sitemap 裡放了帶參數的 URL
例如 /products/?color=blue&size=M,這類過濾器 URL 通常是重複內容。只放主要 canonical URL,過濾器頁面讓 robots.txt 或 Google Search Console 的「網址參數」功能處理。
錯誤三:URL 超過 50,000 筆沒有拆分 sitemap 單檔上限是 50,000 筆或 50MB。大型網站要用 sitemap index 檔案,把多個 sitemap 集合在一起,然後提交那個 index 檔。格式如下:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://yoursite.com/sitemap-posts.xml</loc>
</sitemap>
<sitemap>
<loc>https://yoursite.com/sitemap-products.xml</loc>
</sitemap>
</sitemapindex>
完成後的檢查點
做完以上步驟,確認以下四件事:
-
https://yoursite.com/sitemap.xml可以正常訪問,格式是 XML - robots.txt 最後一行有
Sitemap:宣告 - Google Search Console 顯示「提交成功」
- 「已提交 URL 數」與你預期的頁面數相符
下一步:等 1~2 週後回到 GSC 的 Sitemap 頁面,看「已索引 URL」有沒有上升。如果有大量頁面提交了卻遲遲沒被索引,就要進一步看「覆蓋率」報告,找出是哪些頁面被拒收以及原因。
索引問題通常是 sitemap 問題的下遊症狀,上遊可能是內容品質、重複 URL 或 內部連結結構 沒規劃好——這些就是另一個層次的優化議題了。
常見問題
sitemap.xml 一定要手動提交到 Google 嗎?
不一定。Google 可以自動發現 sitemap,特別是你在 robots.txt 裡宣告了位置。但主動提交到 Search Console 的好處是你能即時看到索引狀態與錯誤回報,比被動等待更有效率,建議兩者都做。
sitemap 裡的 priority 和 changefreq 有用嗎?
Google 官方已多次說明他們不太依賴 changefreq 和 priority 這兩個欄位做排名判斷,但填寫也不會有壞處。真正影響爬取頻率的是頁面實際更新的頻率與網站整體的權威度。
我的網站有幾千個商品頁,要全部放進 sitemap 嗎?
只放你想被索引的頁面。如果有大量規格相近、內容幾乎重複的商品頁,建議先用 canonical 標籤整理清楚哪些是主版本,再決定哪些 URL 值得放進 sitemap,避免稀釋爬蟲資源。
sitemap 提交後要多久 Google 才會索引頁面?
沒有固定時間,通常幾天到幾週不等,取決於網站的抓取預算與頁面品質。新網站可能等更久。提交後可以在 GSC 的「網址審查」工具手動要求索引重要頁面,加快單頁處理速度。
分享這篇



